u-boot引导kernel如何提速

1. 移除u-boot启动过程中不必要的模块,如net;

2. 减少不必要的串口打印信息(改善明显);

3. 优化emmc读取时序,缩短读取emmc延时的时间间隔(改善明显);

4. u-boot从emmc加载uramdisk和uImage的镜像文件到内存,从镜像头部动态读取镜像文件大小,既可以缩短加载时间,又不会因后续uramdisk和kernel升级镜像文件大小变化而受影响;

5. 将u-boot中使用较频繁的用C语言实现的memcpy和memset函数改为高效的汇编语言实现;

6. 当kernel加载的地址=kernel在内存中的实际地址(去掉前面64字节的头部)时,memmove部分不执行,可以节省40ms的时间;

7. 将环境变量environment区大小从128k调整为16k,缩短环境变量区初始化时间;

8. 裁减内核大小,进一步缩短镜像加载时间;


注意:统计u-boot加载时间的时候,可以用示波器记录两个信号的波形变化,一个是电源上电的波形,一个是跳转到内核之前的GPIO的波形变化。u-boot中文件lib_arm/bootm.c,do_bootm_linux函数中,theKernel (0, machid, bd->bi_boot_params)之前作个GPIO标记;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值