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

求大神帮我解决调试问题

[复制链接]
zi约 提问时间:2017-8-5 16:19 /
悬赏3ST金币未解决
这个是一个测试RAM的代码,我运行一个有这个代码的函数,出函数时就会跳入HardFault_Handler(),一直找不到什么原因,求各位大神帮我分析下。。。

QQ图片20170805161030.png
收藏 评论41 发布时间:2017-8-5 16:19

举报

41个回答
dzzwoaizi 回答时间:2017-8-5 16:29:47
要莫内存溢出要么堆栈溢出。看你 你的代码应该是内存溢出了,for那么多次,肯定超过RAM最大值了。

评分

参与人数 1ST金币 +2 收起 理由
zero99 + 2

查看全部评分

zi约 回答时间:2017-8-5 16:38:58
dzzwoaizi 发表于 2017-8-5 16:29
要莫内存溢出要么堆栈溢出。看你 你的代码应该是内存溢出了,for那么多次,肯定超过RAM最大值了。 ...

这个要怎么处理啊??
dzzwoaizi 回答时间:2017-8-5 16:43:00
RAM_END应该很大吧!肯定是将这个是缩小啊!也就是你的数组小点,定义的别超过单片机RAM最大值啊
zi约 回答时间:2017-8-5 16:49:01
dzzwoaizi 发表于 2017-8-5 16:43
RAM_END应该很大吧!肯定是将这个是缩小啊!也就是你的数组小点,定义的别超过单片机RAM最大值啊 ...

我把它改到很小好像也不行,RAM_Start=0x20000000; RAM_END=0x20000ffc,没有超过RAM的最大的
dzzwoaizi 回答时间:2017-8-5 16:58:05
你先这样改试试,RAM_Start=0x00000000; RAM_END=0x00000ffc
zi约 回答时间:2017-8-5 16:59:33
dzzwoaizi 发表于 2017-8-5 16:58
你先这样改试试,RAM_Start=0x00000000; RAM_END=0x00000ffc

这个是地址啊,这样改那指针就不是指向RAM的地址了。
dzzwoaizi 回答时间:2017-8-5 17:03:03
我当然知道,你是要读出来数据? 我怀疑你这样写就定义了一个数组 P[] 了,而数组的大小就是0x20000ffc,要么你就从新定义一个数组,两者的差作为数组的大小试试
dzzwoaizi 回答时间:2017-8-5 17:03:28
我也只是猜测,如果不对别见怪
toofree 回答时间:2017-8-5 17:06:18
加个强到类型转换。比较和赋值的元素,一个是指针,一个是常数,怎么比较?
12345下一页

所属标签

相似问题

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