你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

查看: 5348|回复: 11

进入RAM运行时遇到问题,两天了没找到原因 【悬赏问答】

[复制链接]

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
发表于 2012-11-21 09:55:43 | 显示全部楼层 |阅读模式
在自己写的程序中添加低功耗
/* To reduce consumption to minimal
  Swith off the Flash */
  FLASH->CR1 = 0x08;
  while(((CLK->REGCSR)&0x80)==0x80);
上面的寄存器始终无法被赋值。造成下面的检查不能通过,有知道是上面原因吗
从调试窗口看软件已经在RAM中运行了
回复

使用道具 举报

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
 楼主| 发表于 2012-11-21 18:31:20 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因

实验发现可能和eeprom有关,
void main(void)
{  
  u8 SaveScaler=0;
  while(1)
  {
         PWR->CSR2 = 0x2;
      sim();
      /* To configure GPIO for reduce current. */
//      GPIO_LowPower_Config();
      /* To prepare to start counter */
//      GPIO_HIGH(CTN_GPIO_PORT,CTN_CNTEN_GPIO_PIN);
      /* To configure Low Power */
      LPR_init();
   /* CLK configuration -------------------------------------------*/   
  CLK_Config();
   /* GPIO configuration -------------------------------------------*/
  GPIO_Config();
//  Key_Inti();
   /* TIM1 configuration -------------------------------------------*/
//  TIM1_Config();
/* Enable ADC clock */
  CLK_PeripheralClockConfig(CLK_Peripheral_ADC1, ENABLE);
  
  DAC_Config();
  DAC_DualSoftwareTriggerCmd(ENABLE);
  DAC_SetChannel1Data(DAC_Align_8b_R, 200);//0
  DAC_SetChannel1Data(DAC_Align_8b_R, 140);//1
  DAC_SetChannel1Data(DAC_Align_8b_R, 120);//2
  DAC_SetChannel1Data(DAC_Align_8b_R, 100);//3
  DAC_SetChannel1Data(DAC_Align_8b_R, 80);//4
  DAC_SetChannel1Data(DAC_Align_8b_R, 60);//5
  DAC_SetChannel1Data(DAC_Align_8b_R, 200);//0
/* Initializes ADC */
    MCU_mV=(u16)Vdd_appli();     
    if(MCU_mV>2600)
      VccLow=FALSE;
    if(Supply_mV
回复 支持 反对

使用道具 举报

24

主题

591

回帖

0

蝴蝶豆

中级会员

最后登录
2020-12-2
发表于 2012-11-21 20:50:28 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因

读写EEPROM是需要时间的,不能这么用吧。
回复 支持 反对

使用道具 举报

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
 楼主| 发表于 2012-11-21 22:46:26 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因

ReadData();这是个参照例程写的初始化校验是否是新的芯片,如果是新的芯片将预定义的数据保存到eeprom,1解锁,写内容,检测是否完成,再写,再检测,直到写完,上锁,读写eerom确实很慢,所以每次写数据的时候都是先查询写入数据和已保存的是否一致,不同才写上去
回复 支持 反对

使用道具 举报

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
 楼主| 发表于 2012-11-21 22:59:59 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因

只要包含ReadData();(一个读取校对改写eeprom的程序)就无法进入flash低功耗
    有人碰到过,或者知道原因吗
回复 支持 反对

使用道具 举报

134

主题

4489

回帖

239

蝴蝶豆

版主

最后登录
2020-12-9
发表于 2012-11-22 10:03:43 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因

你看一下是不是死到ReadData()里面,死到哪一句了。
回复 支持 反对

使用道具 举报

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
 楼主| 发表于 2012-11-22 17:33:17 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因 【悬赏问答】

/* To reduce consumption to minimal
Swith off the Flash */
FLASH->CR1 = 0x08;
while(((CLK->REGCSR)&0x80)==0x80);
程序没有死,只是在ram中执行FLASH->CR1 = 0x08;(让flash进入低功耗模式,寄存器不能被置位),致使下面的校验不成功
 
回复 支持 反对

使用道具 举报

8

主题

206

回帖

0

蝴蝶豆

中级会员

最后登录
2019-10-23
发表于 2012-11-23 00:28:27 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因 【悬赏问答】

楼主是在RAM里面进行调试的?你放到FLASH 去试下
回复 支持 反对

使用道具 举报

5

主题

30

回帖

0

蝴蝶豆

初级会员

最后登录
2018-11-28
 楼主| 发表于 2012-11-23 08:34:32 | 显示全部楼层

回复:进入RAM运行时遇到问题,两天了没找到原因 【悬赏问答】

这样肯定b不可以的呀,为了要实现低功耗,把程序拷贝并跳转到RAM执行,如果还回flash要么flash低功耗被退出,要么死在那里,应为flash被关闭了啊
回复 支持 反对

使用道具 举报

8

主题

206

回帖

0

蝴蝶豆

中级会员

最后登录
2019-10-23
发表于 2012-11-25 09:22:15 | 显示全部楼层

RE:进入RAM运行时遇到问题,两天了没找到原因 【悬赏问答】

你读校对完 EPPROM以后  再空干一个别的事情  看看 能不能行?
回复 支持 反对

使用道具 举报

关于 意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
13245底部标题123相同标题
12底部标题123相同标题
33333底部标题123相同序号
3435底部标题-无链接
关注我们
st-img 微信公众号
st-img 手机版