您尚未登录。

楼主 # 2022-06-28 19:59:21

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

f1c100s跑rt-thread,两个程序大小一样,但是启动时间相差了一倍

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)

离线

楼主 #2 2022-06-29 09:09:12

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: f1c100s跑rt-thread,两个程序大小一样,但是启动时间相差了一倍

Ican 说:

去掉不必要的打印信息可以减少启动时间,任务优先级调整一下

目前的打印信息很少,花的时间可以忽略不计,主要是这两种情况程序大小一样,但是启动时间相差了5秒多,卡在了从flash中拷贝程序到ram,跳转到应用程序的时候,应用程序(main)都还没跑起来,也就跟任务优先级没什么关系

离线

楼主 #4 2022-06-29 18:20:41

岁月快快快
会员
注册时间: 2021-12-25
已发帖子: 61
积分: 72

Re: f1c100s跑rt-thread,两个程序大小一样,但是启动时间相差了一倍

midnight 说:

把程序尽可能做小,只加载该加载的部分

楼主位我描述的情况,现在的问题是两个一样大小的程序,启动时间不一样

最近编辑记录 岁月快快快 (2022-06-29 18:22:02)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn