1、在f1c100s上跑rt-thread+lvgl碰到了一个很奇怪的问题,flash用的是16M的spi norflash,用到了jpeg解码,有很多图片转换出来的.h文件(图片数据数组),然后编译出来的程序大小有15M左右,这时从上电到有rt-thread的log出来,用了10秒钟这样,测试了从flash中拷贝程序到ram中花了大概5秒钟,剩下的5秒钟不知道芯片在干嘛....;
2、用一个mp3文件转换出.h文件(声音数据数组)来替换jpeg图片,同样编译出来一个15M左右大小的程序,这个程序从上电到有rt-thread的log出来只用了5秒钟(就是从flash中拷贝程序到ram中所花的时间);
不明白是什么原因导致第一种情况多花了5秒钟才跑到应用程序.....
第1种情况的log:
*****************************************
F1C100S BOOT0 START...
CPU Frequency:600,000,000 Hz
DRAM Size: 32 MB
*****************************************
SPI0 CLK SET.
SPI0 CLK SET.
SPI0 CLK[50,000,000HZ]...
Read BOOT1...
BOOT1 at Flash 0x00006000
File Size 22,496
Read BOOT1 to RAM 0x80000000
Jump BOOT1...
*****************************************
F1Cx00S BOOT1 START...
[2020-05-29]...
*****************************************
Read EXEC...
Exec at Flash 0x0000C000
File Size 15,305,184
Read exec to RAM 0x80080000
I.▒V▒)q▒▒▒^^^
----------分割线----------------------------
(这里已经复制完程序到ram中,开始跳转到应用程序)
过了5秒钟才有rt-thread 的log
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
--------------------------------------
--------------------------------------
\ | /
- RT - Thread Operating System
/ | \ 3.1.3 build Jun 27 2022
2006 - 2019 Copyright by rt-thread team
main begin
RT-Thread main thread start...
initialise macc module (0)
MACC_REGS_BASE=01C0E000
第2种情况的log:
*****************************************
F1C100S BOOT0 START...
CPU Frequency:600,000,000 Hz
DRAM Size: 32 MB
*****************************************
SPI0 CLK SET.
SPI0 CLK SET.
SPI0 CLK[50,000,000HZ]...
Read BOOT1...
BOOT1 at Flash 0x00006000
File Size 22,496
Read BOOT1 to RAM 0x80000000
Jump BOOT1...
*****************************************
F1Cx00S BOOT1 START...
[2020-05-29]...
*****************************************
Read EXEC...
Exec at Flash 0x0000C000
File Size 15,520,736
Read exec to RAM 0x80080000
I.▒V▒)q▒▒▒^^^
----------分割线----------------------------
(这里已经复制完程序到ram中,开始跳转到应用程序)
马上有rt-thread 的log
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
--------------------------------------
--------------------------------------
\ | /
- RT - Thread Operating System
/ | \ 3.1.3 build Jun 27 2022
2006 - 2019 Copyright by rt-thread team
main begin
RT-Thread main thread start...
initialise macc module (0)
MACC_REGS_BASE=01C0E000
最近编辑记录 岁月快快快 (2022-06-29 18:23:10)
离线
去掉不必要的打印信息可以减少启动时间,任务优先级调整一下
目前的打印信息很少,花的时间可以忽略不计,主要是这两种情况程序大小一样,但是启动时间相差了5秒多,卡在了从flash中拷贝程序到ram,跳转到应用程序的时候,应用程序(main)都还没跑起来,也就跟任务优先级没什么关系
离线
把程序尽可能做小,只加载该加载的部分
楼主位我描述的情况,现在的问题是两个一样大小的程序,启动时间不一样
最近编辑记录 岁月快快快 (2022-06-29 18:22:02)
离线