你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
chrome
firefox
safari
ie8及以上
ST
意法半导体官网
STM32
中文官网
ST
全球论坛
登录/注册
首页
技术问答
话题
资源
创客秀
视频
标签
积分商城
每日签到
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次, 到底是多少?
赞
0
收藏
0
评论
5
分享
发布时间:2008-12-24 11:16
举报
请先
登录
后回复
5个回答
萧星-96138
回答时间:2008-12-24 11:18:38
a0a.1 0b0c
RE:STM32 调试过程中 的困惑
关于ram的空间 请楼主改一下ram.xcl文件的ram空间
flash擦写次数 官方资料正常环境是10000次,当然在使用中可能会有出入。
赞
0
评论
回复
支持
反对
zangdianjun
回答时间:2008-12-24 11:20:12
a0a.1 0b0c
RE:STM32 调试过程中 的困惑
资料上好像是1000次!实际使用可能有差别,还达不到这个次数!
赞
0
评论
回复
支持
反对
萧星-96138
回答时间:2008-12-24 11:26:09
a0a.1 0b0c
RE:STM32 调试过程中 的困惑
最新的资料是10000次 是正常环境下测试的。 使用很多出现不到1000就不行了,很少。
还有一种情况就是在调试的时候你出现了误操作,使flash进入了保护状态,而不能下载程序了。解决办法:用isp(串口)下载一次程序,即可解决。
如果真的是flash次数限制,建议在ram中调试
赞
0
评论
回复
支持
反对
guanjianguo
回答时间:2008-12-24 13:54:50
a0a.1 0b0c
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 大小啊.
赞
0
评论
回复
支持
反对
guanjianguo
回答时间:2008-12-24 14:39:10
a0a.1 0b0c
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自动往下延伸的吗
赞
0
评论
回复
支持
反对
所属标签
相似问题
关于
意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
RE:STM32 调试过程中 的困惑
flash擦写次数 官方资料正常环境是10000次,当然在使用中可能会有出入。
RE:STM32 调试过程中 的困惑
RE:STM32 调试过程中 的困惑
还有一种情况就是在调试的时候你出现了误操作,使flash进入了保护状态,而不能下载程序了。解决办法:用isp(串口)下载一次程序,即可解决。
如果真的是flash次数限制,建议在ram中调试
RE:STM32 调试过程中 的困惑
// Code and data in RAM
-DRAMSTART=0x20000000
-DRAMEND=0x20004FFF
-DROMSTART=RAMSTART
-DROMEND=RAMEND
4FFF 不就是 20K 吗,(20 X 1024),正是STM32F103VB,的 RAM 大小啊.
RE:STM32 调试过程中 的困惑
// -D_CSTACK_SIZE=100 // 原内容
// -D_HEAP_SIZE=100 // 原内容
-D_CSTACK_SIZE=400 // 修改了
-D_HEAP_SIZE=200 // 修改了
不过我不明白 这2个参数在 堆栈中起什么作用,STM32不是满堆栈工作方式吗? 那不就是从0x20004FFF自动往下延伸的吗