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

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

[复制链接]
chenminhua 提问时间:2012-11-21 09:55 /
在自己写的程序中添加低功耗
/* To reduce consumption to minimal
  Swith off the Flash */
  FLASH->CR1 = 0x08;
  while(((CLK->REGCSR)&0x80)==0x80);
上面的寄存器始终无法被赋值。造成下面的检查不能通过,有知道是上面原因吗
从调试窗口看软件已经在RAM中运行了
收藏 评论11 发布时间:2012-11-21 09:55

举报

11个回答
chenminhua 回答时间: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
zykzyk-93033 回答时间:2012-11-21 20:50:28

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

读写EEPROM是需要时间的,不能这么用吧。
chenminhua 回答时间:2012-11-21 22:46:26

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

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

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

只要包含ReadData();(一个读取校对改写eeprom的程序)就无法进入flash低功耗
    有人碰到过,或者知道原因吗
废鱼 回答时间:2012-11-22 10:03:43

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

你看一下是不是死到ReadData()里面,死到哪一句了。
chenminhua 回答时间: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进入低功耗模式,寄存器不能被置位),致使下面的校验不成功
 
xieyuanfu 回答时间:2012-11-23 00:28:27

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

楼主是在RAM里面进行调试的?你放到FLASH 去试下
chenminhua 回答时间:2012-11-23 08:34:32

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

这样肯定b不可以的呀,为了要实现低功耗,把程序拷贝并跳转到RAM执行,如果还回flash要么flash低功耗被退出,要么死在那里,应为flash被关闭了啊
xieyuanfu 回答时间:2012-11-25 09:22:15

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

你读校对完 EPPROM以后  再空干一个别的事情  看看 能不能行?
zoozo 回答时间:2012-11-25 21:02:12

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

是不是需要关闭了一些时钟或其他才可以呢
chenminhua 回答时间:2012-12-13 16:07:43

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

我比对过所有的寄存器 没有差异啊

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版