移植的知识点:
1.引导程序bootloader:引导程序就是纯裸机编程,能引导系统。
2.linux系统:
linux内核的移植:所有linux发行版的内核是一样的,内核移植需要修改代码,调试。
根文件系统的移植:本质就是应用程序,基本不需要修改代码,存储在抽象的文件系统上。
3.多媒体移植:sdl(多媒体库),openGL(3D图形库),Tslib(触屏开发),GTK/QT。
移植的难点在调试和内核的移植。
Bootloader:引导程序,硬件上电后最先执行的一段代码。初始化硬件设备,建立内存空间映射图;为最终调用操作系统内核,运行用户应用程序准备正确的环境。
BSP:Board Support Package 板极支持包
HAL:Hardware AbstractionLayer 硬件抽象层
BIOS:Basic Input OutputSystem,基本输入输出系统
UEFI:Unified Extensible FirmwareInterface ,统一的可扩展固件接口
MBR:Main BootRecord,主引导记录区,位于整个硬盘的0磁道0柱面1扇区。
NTLOADER:微软的,NT内核操作系统加载器。
pc上的bootloader:
LILO: LinuxLoader,代表Linux加载程序,它允许选择用于引导计算机的操作系统。
GRUB: GRand UnifiedBootloade,它是一个多重操作系统启动管理器,用来引导不同系统。
嵌入式的bootloader:
u-boot:通用引导程序
redboot:基于ecos的引导程序
vivi:针对三星的arm cpu的引导程序
烧写调试U-boot和kerner和rootfs的方法:
1. 用tftp烧写
2. 用NFS来调试
一个嵌入式系统的移植包括以下一个部分:
1.引导程序
2.linux内核
3.文件系统
4.用户应用程序 |