Linux设备驱动移植(四)——Linux内核移植
Linux内核的移植含义为将Linux内核运行一个新的SoC芯片或新的电路板之上,其实质含义为:建立Linux的板级支持包(BSP),BSP板级支持包的作用:1)为内核提供必要的硬件支撑;2)屏蔽与板相关的硬件细节。
对于Arm,BSP的源码位置:/arch/arm下的相关plat和mach文件下,如下:
plat-xxx
linux-2.6/arch/arm/
plat-omap/
plat-pxa/
plat-s3c/
plat-s3c24xx/
plat-s3c64xx/
plat-stmp3xxx/
mach-xxx
linux-2.6/arch/arm/
mach-s3c2400/
mach-s3c2410/
mach-s3c2412/
mach-s3c2440/
mach-s3c2442/
mach-s3c2443/
mach-s3c24a0/
mach-s3c6400/
mach-s3c6410/
所有的板文件都位于相关芯片的目录下。
上述目录中的代码完成的主要工作如下:
1. 始终tick(Hz)的产生
2. 系统中断控制的方法
3. GPIO、DMA、时钟资源的统一管理
4. 静态映射的IO内存
5. 设备的IO、中断、DMA等资源封装平台数据