zi约 发表于 2017-8-5 16:19:09

求大神帮我解决调试问题

这个是一个测试RAM的代码,我运行一个有这个代码的函数,出函数时就会跳入HardFault_Handler(),一直找不到什么原因,求各位大神帮我分析下。。。

dzzwoaizi 发表于 2017-8-5 16:29:47

要莫内存溢出要么堆栈溢出。看你 你的代码应该是内存溢出了,for那么多次,肯定超过RAM最大值了。

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

加个强到类型转换。比较和赋值的元素,一个是指针,一个是常数,怎么比较?
页: [1] 2 3 4 5
查看完整版本: 求大神帮我解决调试问题