你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。
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管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
微信公众号
手机版
快速回复
返回顶部
返回列表
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自动往下延伸的吗