打印
[技术问答]

请教华大技术支持F460,boot+app模式app ram大于32kb,会不断重启

[复制链接]
1324|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 0520kuang 于 2021-4-20 10:03 编辑

请教,boot+app模式,app ram大于32kb,会不断重启,把 app ram 小于32kb,又能正常跑起来,也尝试过单app模式,ram大于32kb,也能正常跑起来,请问是那里有差异吗

32kb刚好SRAMH的范围


使用特权

评论回复
沙发
martinhu| | 2021-4-20 13:47 | 只看该作者
你的设置里面,定义了多少RAM?还有,RAM123的读写速度与RAMH不同,如果跑超过100M,需要设置wait cycle?

使用特权

评论回复
板凳
0520kuang|  楼主 | 2021-4-20 15:45 | 只看该作者
martinhu 发表于 2021-4-20 13:47
你的设置里面,定义了多少RAM?还有,RAM123的读写速度与RAMH不同,如果跑超过100M,需要设置wait cycle? ...

PCLK是100M,现在ram用到了34kb,超过了sramh,怀疑是不是STACK被分配到到sram1/2/3上导致出问题

使用特权

评论回复
地板
martinhu| | 2021-4-20 16:16 | 只看该作者
0520kuang 发表于 2021-4-20 15:45
PCLK是100M,现在ram用到了34kb,超过了sramh,怀疑是不是STACK被分配到到sram1/2/3上导致出问题 ...

除非你指定stack位置,一般不会分配到最后吧。如果是stack分配到RAM3,需要在启动文件里面就添加waitcycle,参考驱动库每个例子里面的启动文件
或者撇除RAM3,然后再试试。

使用特权

评论回复
5
0520kuang|  楼主 | 2021-4-20 16:45 | 只看该作者
martinhu 发表于 2021-4-20 16:16
除非你指定stack位置,一般不会分配到最后吧。如果是stack分配到RAM3,需要在启动文件里面就添加waitcycl ...

STACK在20000000范围内是可以跑起来的,但是单app模式 超过20000000又是可以用的
头晕,不知什么原因


hc.png (134.16 KB )

hc.png

使用特权

评论回复
6
sephy| | 2021-4-23 16:28 | 只看该作者
0520kuang 发表于 2021-4-20 16:45
STACK在20000000范围内是可以跑起来的,但是单app模式 超过20000000又是可以用的
头晕,不知什么原因

F460是Cortex-M4核,0x20000000为代码区域边界,这个边界不支持非对齐访问,比如对0x1ffffffe进行Word访问会出错。看起来Main程序使用了0x1fff8010到0x20000010这个范围的RAM资源, 你看看复位是不是这个原因。

使用特权

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

本版积分规则

7

主题

48

帖子

4

粉丝