嵌入式平台的启动主要分为三个部分:

1.bootloader

2.kernel

3.roofs

 

这三个过程都可以设置logo或进度条,我的硬件平台是ti的dm3730+nandflash,

软件是x-loader+u-boot+linux。

 

bootloader:

x-loader完全是可以显示logo的,引人x-loader的原因就是u-boot体积过大,cup的片内ram很小,所以将logo转换后的bin文件链接进x-loader是肯定不行的,当然可以使用外部加载的方式实现,但是我有两个原因不愿意这么做:

1.我们现在产品没有完全关闭电源的功能,所以所谓的关机只是x-loader在运行,它关掉了所有外设,所以在x-loader中显示logo显然是不合理的;

2.开机过程中x-loader运行时间极短,所以也没必要在这个过程中增加logo。

uboot,我不知道u-boot是不是提供了已经实现的logo方法,反正我的方法是编写一个了一个dss初始化函数,并将logo转换后的bin文件链接进去了,这虽然导致了u-boot从原先的240Kb剧增到1900Kb,但是效果很好,如何在u-boot中添加logo,参阅我这篇文章

 

kernel:

没什么好说的,kernel对logo的支持很好,添加与logo位置的调整可以看这里

 

rootfs:

根文件系统的加载一般是比较耗时的,所以进度条就比较重要了,前段时间研究了一下psplash,发现这是个好工具,具体看这里

 

Logo

更多推荐