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

STM32 调试过程中 的困惑  关闭

[复制链接]
guanjianguo 提问时间:2008-12-24 11:16 /
我在使用STM32 调试过程中发现,若编译的文件 CODE 大于12K( DATA 大于2K) 后,就不能在RAM 中调试了,(经常全局变量出错,且 还会进入hard fault异常处理), 在FLASH 中调试就正常,  我用STM32F103VB,120K FLASH,20K RAM.  请高手说明;
       STM32 的FLASH 擦写次数,不同资料有不同说法, 有3000次,10000次, 100000次, 到底是多少? 
收藏 评论5 发布时间:2008-12-24 11:16

举报

5个回答
萧星-96138 回答时间:2008-12-24 11:18:38

RE:STM32 调试过程中 的困惑

关于ram的空间  请楼主改一下ram.xcl文件的ram空间
  flash擦写次数 官方资料正常环境是10000次,当然在使用中可能会有出入。
zangdianjun 回答时间:2008-12-24 11:20:12

RE:STM32 调试过程中 的困惑

资料上好像是1000次!实际使用可能有差别,还达不到这个次数!
萧星-96138 回答时间:2008-12-24 11:26:09

RE:STM32 调试过程中 的困惑

最新的资料是10000次  是正常环境下测试的。 使用很多出现不到1000就不行了,很少。
   还有一种情况就是在调试的时候你出现了误操作,使flash进入了保护状态,而不能下载程序了。解决办法:用isp(串口)下载一次程序,即可解决。
    如果真的是flash次数限制,建议在ram中调试
guanjianguo 回答时间:2008-12-24 13:54:50

RE:STM32 调试过程中 的困惑

版主: lnkarm_ram.xcl 关于 RAM 大小的定义如下:
// Code and data in RAM
-DRAMSTART=0x20000000
-DRAMEND=0x20004FFF
-DROMSTART=RAMSTART
-DROMEND=RAMEND
4FFF 不就是 20K 吗,(20 X 1024),正是STM32F103VB,的 RAM 大小啊.
guanjianguo 回答时间:2008-12-24 14:39:10

RE:STM32 调试过程中 的困惑

上午我说的在FLASH 中可以正常工作,在RAM 中不能调试 的问题, 按版主指点,修改 lnkarm_ram.xcl 中下面内容,就好了
// -D_CSTACK_SIZE=100  // 原内容
// -D_HEAP_SIZE=100    // 原内容
-D_CSTACK_SIZE=400     // 修改了
-D_HEAP_SIZE=200      // 修改了

不过我不明白 这2个参数在 堆栈中起什么作用,STM32不是满堆栈工作方式吗?  那不就是从0x20004FFF自动往下延伸的吗

所属标签

相似问题

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版