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

进入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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版