列表 上一篇 下一篇

关于嵌入式系统的移植

简介

无论是bootloader的移植还是linux的移植,都要明白那些工作已经做好了、那些工作还没有做。主要分为两部分:架构部分、板级部分。

架构部分

这部分工作一般由架构厂商来做,那uboot来说,arch/arm/cpu/armv7/start.S文件、arch/arm/cpu/armv7/lowlevel_init.S文件。已经完成了arm核基本的部分。

板级部分

这里要区分什么是板级部分,辩证的说法就是除了arm核部分。但是要注意几点:

总结

所以要弄懂bootloader、os的流程,熟悉流程中:

这样的层次划分并不是无交集的,另外划分也不是全集的,比如为了调用C函数必须准备堆栈,这里的“为了调用C函数”算不上层次。再比如bootloader给kernel的传参机制虽然算不上上面所说的层次,但是移植系统时也要知道。

从物理学的角度看待计操作系统:物理学里有很多定律,比如说万有定律、相对论等等。在操作系统的世界里,同样存在类似的不能说称为定律的东西,比如说进程切换、虚拟内存等应用程序感觉不懂的东西,另外还要实现工应用程序调用的实实在在的系统调用、文件管理等等。而系统移植就是把这些进程切换、虚拟内存、系统调用、文件管理在另一个平台上实现(一个设备就是一个宇宙)。