下载此文档

第8章 基于ARM的Linux内核移植.pdf


文档分类:IT计算机 | 页数:约55页 举报非法文档有奖
1/55
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/55 下载此文档
文档列表 文档介绍
以国家精品课程《智能控制基础》双语教学为
平台,培养工科学生创新实践能力
第八章:内核移植浅析
汇报人:师黎
讲课人:罗勇
本章以ARM平台为例介绍了内核移植的基本方法,
并且详细分析了Linux内核启动过程。通过本章学 内核启动过程中代码的执行顺序。只有掌握了这
些代码,在内核移植过程中才能有的放矢地去修
改代码。
2
本章目标
内核源码移植
Linux内核启动过程分析
移植内核源码
所谓移植就是把程序代码从一种运行环境转移到另
外一种运行环境。对于内核移植来说,主要是从
一种硬件平台转移到另外一种硬件平台上运行。
移植前的准备工作
` 对于嵌入式Linux系统来说,有各种体系结构的处理器和硬
件平台,并且用户需要根据需求自己定制硬件板。只要是
硬件平台有些变化,即使变化小,可能也需要做一些移植
工作,内核移植是嵌入式Linux系统中常见的一项工作。
` 内核移植工作主要是修改跟硬件平台相关的代码,一般不
涉及Linux内核通用的程序。移植的难度也取决于两种硬件
平台的差异。Linux对于特定的硬件平台的软件称为BSD(
Board Support Package)
` 由于Linux内核具备可移植性的特点,并且已经支持了各种
体系结构的很多种目标板,我们很容易从中找到跟自己硬
件类似的目标板。参考内核已经支持的目标板来移植BSP
,就如同使用模板开发程序。
在开始移植开发板的BSD之前,需要做充分的准备工作。
(1)选择参考板
选择参考板的原则如下。
` 参考板和开发板具有相同的处理器,至少类似的处理器;
` 参考板和开发板具有相同的外围接口电路,至少基本接口
相同
` Linux内核已经支持参考板,至少有非官方的补丁或者BSP
` 参考板Linux设备驱动工作正常,至少已经驱动基本接口。
„ 通常都可以找到相同处理器的参考板,并且可以
获取到Linux内核源代码,因为半导体厂商在发布
一块新的处理器的时候,一般会提供相应的参考
设计板和Linux BSP。
„ 即使一款新的处理器,也可找到体系结构相同、
功能类似的处理器作为参考。
„ 还要仔细分析内核代码,弄清楚哪些设备有驱动
程序,哪些还没有。如果某个驱动程序还没有支
持,就需要自己手动编写驱动了。
(2)编译测试参考板的Linux内核
` 为了测试Linux对参考板的支持情况,最好配置编
译Linux内核,在目标参考板上运行测试一下。
` 对于交叉开发来说,首先应在顶层Makefile中设置
ARCH、PILE和EXTRA_VERSION
变量,然后才能选择配置指定的体系结构平台。
ARM平台的例子如下
ARCH := arm
PILE := arm-linux-
EXTRA_VERSION :=
` 可以使用参考板的缺省内核配置,这可以在
arch/$(ARCH)/configs目录下找到。以smdk2401为
例,arch/arm/configs/smdk2401_defconfig就是缺省
文件。执行下列命令可以使得配置生效
make smdk2410_defconfig
` 再打开配置菜单,重新调整配置选项。
` 确认保存配置以后,执行make编译内核。
` 编译完成后,得到的内核映像文件是
arch/arm/boot/zImage
¾ 内核模块都可以安装到目标板文件系统中,以便加
载测试。
¾ 例如目标板根文件系统目录是<dir>,执行下列命令
后,模块都安装到<dir>/lib/modules/目录树中。
make INSTALL_MOD_PATH=<dir> modules_install

第8章 基于ARM的Linux内核移植 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数55
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1322891254
  • 文件大小0 KB
  • 时间2015-06-17