打印
[STM32F2]

keil5编译超过60k运行异常

[复制链接]
829|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 qq5782098 于 2021-1-29 17:15 编辑

有人遇到这种情况吗?代码超过60k导致W5500的spi工作不正常。屏蔽部分调试信息让代码处于60k以下,逻辑完全不变,工作就正常了。神奇得很
编译环境keil5 V517
单片机是STM32F207

使用特权

评论回复
沙发
xyz549040622| | 2021-1-29 19:59 | 只看该作者
和谐#不完全吗?换最新版本,最新和谐包试试。

使用特权

评论回复
板凳
qq5782098|  楼主 | 2021-1-30 09:26 | 只看该作者
xyz549040622 发表于 2021-1-29 19:59
和谐#不完全吗?换最新版本,最新和谐包试试。

已经是2032了,有最新的吗?可以发一下?

使用特权

评论回复
评论
xyz549040622 2021-1-30 09:37 回复TA
2032你已经超前好多了。 
地板
qq5782098|  楼主 | 2021-1-30 09:33 | 只看该作者
xyz549040622 发表于 2021-1-29 19:59
和谐#不完全吗?换最新版本,最新和谐包试试。

试了一下旧版2020的和谐可以正常。

使用特权

评论回复
评论
xyz549040622 2021-1-30 09:37 回复TA
看看新的和谐方包有问题啊。 
5
qq5782098|  楼主 | 2021-1-30 12:17 | 只看该作者
本帖最后由 qq5782098 于 2021-1-30 12:26 编辑

我再试试,好像又不是那个问题,真是见鬼了。

使用特权

评论回复
6
William1994| | 2021-1-30 14:18 | 只看该作者
xyz549040622 发表于 2021-1-29 19:59
和谐#不完全吗?换最新版本,最新和谐包试试。

这个问题肯定和和谐无关啊。和谐不管这事的。
应该还是代码的bug,隐藏的比较深。
建议先把出问题时候的SPI的所有寄存器dump出来看看。

使用特权

评论回复
7
m564522634| | 2021-1-30 16:54 | 只看该作者
应该不是keil 的问题,是你代码分配出问题了。

使用特权

评论回复
8
qq5782098|  楼主 | 2021-2-1 10:05 | 只看该作者
m564522634 发表于 2021-1-30 16:54
应该不是keil 的问题,是你代码分配出问题了。

代码分配指的是什么?我把代码其他的全部删除了,只剩下这么多。一样还是这样的情况。test_printf()函数实际执行不到,只是用来增加代码量到65K



1612144936(1).jpg (17.18 KB )

1612144936(1).jpg

使用特权

评论回复
9
qq5782098|  楼主 | 2021-2-1 10:09 | 只看该作者
William1994 发表于 2021-1-30 14:18
这个问题肯定和和谐无关啊。和谐不管这事的。
应该还是代码的bug,隐藏的比较深。
建议先把出问题时候的S ...

这是错误时的寄存器,正常情况的寄存器是一致的,只是正常情况下DR寄存器是0x04

UAG@OV19]SEHL@E3@OH2JYY.png (19.91 KB )

UAG@OV19]SEHL@E3@OH2JYY.png

`R_(J%N9R0H570~V{I9`C)1.png (18.96 KB )

`R_(J%N9R0H570~V{I9`C)1.png

]%QD6)Y0N3SNP~}MVHH57RS.png (24.64 KB )

]%QD6)Y0N3SNP~}MVHH57RS.png

使用特权

评论回复
10
m564522634| | 2021-2-1 17:45 | 只看该作者
qq5782098 发表于 2021-2-1 10:05
代码分配指的是什么?我把代码其他的全部删除了,只剩下这么多。一样还是这样的情况。test_printf()函数实 ...

不是你代码执行的问题,是你代码放置到地方有可能覆盖了其他区导致的。 你看下你代码是从flash的地址什么地址开始放置的,

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

26

主题

179

帖子

3

粉丝