大家好,我正在做AM335x的启动时间优化,目前uboot版本为2016.05,linux kernel版本为4.1.8。由于使用nand flash,读写速度超慢,移植论坛上优化nand读写速度的patch后,读写速度确实提升一半。现在又遇到一个问题,在uboot引导完kernel后,打印最后一条log信息starting kernel…后,就启动kernel了,然后kernel开始初始化,自解压,到kernel启动后打印的第一条log时,耗时为2.27s,太不可思议,这个过程怎么会耗时这么久。前段时间做imx6的,这个过程才700ms,这个差距太大了,请教IT的各位技术高手,帮忙指导下,感激不尽
Shine:
请看下面的优化方法。
processors.wiki.ti.com/…/Boot_Time_Optimization
user4797319:
回复 user5849257:
对应更改下内核的压缩方式
昨夜无眠:
感觉跟nand没关系吧。UBOOT load完kernel后,整个内核应该全部在DDR中了。更可能是纯软件问题,这个百度一下,估计有答案了吧。
user5849257:
回复 昨夜无眠:
我知道这个跟nand没关系,但是现在不知道哪里的问题。我前段时间去掉了uboot对USB的支持,整个uboot的启动时间没有减少,从uboot打印starting kernel…到kernel打印第一条log的时间提升了90ms。
user5849257:
回复 user4797319:
你好,怎么更改内核的压缩方式?能说得更具体一些吗?谢谢
昨夜无眠:
回复 user5849257:
CPU的频率现在是多少.
user5849257:
回复 昨夜无眠:
1G HZ
昨夜无眠:
回复 user5849257:
你还是从内核裁剪上入手看看,用的uImage,kernel大小3M.从Starting kernel …
到[0.000000] Linux version 3.2.0 (root@edu-T) (gcc version 4.7.3 20130226 (prerelease) 这条,大约就是1秒左右吧. 我的CPU频率只有800M
user5849257:
回复 昨夜无眠:
这一块不知道从哪里开始优化,starting kernel…是uboot打印最后log,kernel起来的第一条log是C函数start_kernel第一个函数打印的log。这之前都是内核的自解压等一系列操作,而且不是C函数,不知道怎么优化?