完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
我定义了一个64K字节的数组,如果把数组定义成Const常量,编辑之后运行都正常。
但如果把数组定义成变量数组,可以编译(占的空间比较大:Program Size: Code=8776 RO-data=432 RW-data=2112 ZI-data=1024 )、烧录,但运行不了,用仿真单步执行发现以下错误: * AGDI-Warning: failed to read memory at 0x20010C04, size 4 我实际需要用到变量的64K字节的数组,这个有没有办法解决? 从KEIL看到IC是如下信息: Part number: M453VG6AE CPU Core: ARM 32-bit Cortex-M4 Memories: - SRAM: 32K - App Flash: 256K - ISP Flash: 4K - Data Flash: 0~256K |
|
相关推荐
1个回答
|
|
|
根据M4的内存限制,SRAM只有32K的容量,而你定义的数组大小为64K字节,无法完全存储于SRAM中。如果将数组定义为Const常量,则会存储在Flash中,因此可以正常运行。但如果将其定义为变量数组,则需要存储在SRAM中,由于SRAM空间不足,因此无法正常运行。解决这个问题的方式是考虑使用外部存储器,例如外部RAM。将数组存储在外部RAM中,这样就能规避内存限制的问题。需要注意的是,使用外部存储器会增加系统的成本和复杂度。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
1654 浏览 0 评论
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
4742 浏览 0 评论
4232 浏览 9 评论
3824 浏览 16 评论
4400 浏览 1 评论
4214浏览 3评论
2381浏览 0评论
3397浏览 0评论
1159浏览 0评论
2844浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-3 03:54 , Processed in 0.635603 second(s), Total 74, Slave 54 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
455