Little Kernel分析与移植
2012-10-27王正元孟庆民张艳彬
杨 浩 王正元 孟庆民 张艳彬
1.南京邮电大学电子科学与工程学院,江苏 南京 210003
2.南京邮电大学通信与信息工程学院,江苏 南京 210003
Little Kernel分析与移植
杨 浩1王正元1孟庆民2张艳彬2
1.南京邮电大学电子科学与工程学院,江苏 南京 210003
2.南京邮电大学通信与信息工程学院,江苏 南京 210003
Little Kernel(lk)是被Android系统接受进入源码树的Bootloader程序,并被多款智能手机和平板电脑所采用。论文介绍了lk的主要功能,分析了lk的源码结构,并在此基础上详细说明了lk移植的方法和过程。将移植后的lk进行编译并下载至TCC8801 DEMO板上,lk能够正常启动并引导linux内核。
Little Kernel;嵌入式系统;移植;TCC8801
little kernel; embedded system; porting; tCC8801
引言
近年来,ARM Cortex-A8高性能处理器被广泛应用于智能手机、平板电脑等设备。而这些嵌入式系统启动时需要bootloader程序,所谓bootloader是在操作系统内核运行前执行的一小段程序。这段程序负责完成对硬件设备的基本初始化,创建某些必要信息通过相关机制传递给内核,引导和加载内核,并最终调用操作系统内核[1-
2]。
目前,常见的bootloader有[3]:Redboot、U-Boot、Blob、vivi等。其中以U-Boot应用最为广泛,支持的操作系统和处理器芯片最多。Little Kernel 是最近几年才推出的一种Bootloader,并被Android系统所接受进入Android源码树,大量应用于智能手机与平板电脑。Little Lernel除了支持高通、TI、三星、Telechips等公司的芯片组,目前还具备如下功能[4]:
a、支持多种NAND Flash启动;
b、提供USB驱动,支持开发过程中通过USB升级image文件;
c、提供键盘驱动,支持开发人员进入fastboot模式升级image文件;
d、提供显示驱动用于调试和点亮显示屏;
e、支持多线程。
Little Kernel不仅代码量小、运行耗时少,更为重要的特点是代码可维护性好。……
