完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 2018-6-21 15:48 编辑
我在AM3352上使用SYS/BIOS 6.35.1.29,在程序中使用了非常大的数组(32MB),造成系统启动非常慢 原因估计是SYS/BIOS在启动的时候把这个数组都给清0了。 有什么办法能让SYS/BIOS不初始化这个数组以提高启动速度 |
|
相关推荐
9个回答
|
|
请问这个数组是怎么分配的?是开在静态数据区还是用malloc()函数开在堆区了?
|
|
|
|
静态分配的 uint8_t fontBuffer[FON_SIZE] __attribute__((aligned(4))); |
|
|
|
建议在运行时用malloc分配内存,如果开在静态数据区肯定需要很长时间初始化的 |
|
|
|
SYS/BIOS中的heap不初始化么? 有没有办法改linker.cmd把BSS不初始化? |
|
|
|
我认为这么大的数组还是开在堆区合适。 |
|
|
|
|
|
|
|
jvwueurw 发表于 2018-6-21 05:52 sy***ios使用的heap也会被初始化啊,需要非常长的时间。我的heap有96MB,初始化要将近10s时间,不可接受。 有什么办法能不初始化这些东西呢? 附:map .bss 0 80001000 065bd420 UNINITIALIZED 80001000 06000000 app_pea8fnv.oea8fnv (.bss:ti_sy***ios_heaps_HeapMem_Instance_State_0_buf__A) 86001000 00202000 apisUSBD_Drv.obj (.bss:u***0RxBuffer) 86203000 00200000 apis_lcd.obj (.bss:bmp) 86403000 0007f880 apis_lcd.obj (.bss:apisLcdFrame) 86482880 0007f880 apis_lcd.obj (.bss:apisLcdFramePop) 86502100 0007f804 apis_lcd.obj (.bss:apisLcdFramePopBg) 86581904 00020000 apis_lcd.obj (.bss:g_bmpAT) |
|
|
|
cmh29 发表于 2018-6-21 06:09 malloc()函数是不会执行初始化的,初始化一般实在malloc之后调用memset |
|
|
|
不是我的程序初始化的,是系统自动初始化的。 解决方案已找到:在Linker里有加个选项--zero_init=off就好了 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
684 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
600 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1055 浏览 1 评论
741 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
525 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
165浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
128浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
127浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
123浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
48浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 20:56 , Processed in 1.295463 second(s), Total 95, Slave 78 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号