TI论坛
直播中

王宇

7年用户 140经验值
私信 关注

请问如何取消SYS/BIOS的变量初始化?

本帖最后由 一只耳朵怪 于 2018-6-21 15:48 编辑

我在AM3352上使用SYS/BIOS 6.35.1.29,在程序中使用了非常大的数组(32MB),造成系统启动非常慢

原因估计是SYS/BIOS在启动的时候把这个数组都给清0了。

有什么办法能让SYS/BIOS不初始化这个数组以提高启动速度

回帖(9)

罗兰君

2018-6-21 04:53:08
请问这个数组是怎么分配的?是开在静态数据区还是用malloc()函数开在堆区了?
举报

王宇

2018-6-21 05:00:29
引用: 344868615qq 发表于 2018-6-21 04:53
请问这个数组是怎么分配的?是开在静态数据区还是用malloc()函数开在堆区了?

静态分配的
uint8_t fontBuffer[FON_SIZE] __attribute__((aligned(4)));
举报

罗兰君

2018-6-21 05:17:23
引用: cmh29 发表于 2018-6-21 05:00
静态分配的
uint8_t fontBuffer[FON_SIZE] __attribute__((aligned(4)));

建议在运行时用malloc分配内存,如果开在静态数据区肯定需要很长时间初始化的
举报

王宇

2018-6-21 05:30:47
引用: 344868615qq 发表于 2018-6-21 05:17
建议在运行时用malloc分配内存,如果开在静态数据区肯定需要很长时间初始化的

SYS/BIOS中的heap不初始化么?
 
有没有办法改linker.cmd把BSS不初始化?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分