EDN China > 设计实例 > 嵌入式系统 > 操作系统 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

基于ARM的Linux系统移植研究与实现

许青林?? 解争龙?? 2013年08月13日 ?? 收藏1

2.4 内核移植

内核移植首先应当启动操作系统,完成内存管理、任务调度、进程管理、加载驱动程序、网络等功能,然后执行应用程序或等待用户命令。虽然各功能之间存在复杂的调度关系,但由于Linux分层结构的特点,已将其中硬件相关的代码独立了出来,因此,移植过程中只需要改动进程管理、内存管理和设备管理中与硬件相关的那部分代码。

一般情况下,从官方网站上下载的内核不能直接在硬件平台上运行,而要跟据具体的硬件平台重新裁剪、编译内核,并根据硬件平台特性编写相应的硬件相关的代码,将Linux移植到硬件平台。对内核代码的修改包括以下部分:

(1)修改内核目录树根下的Makefile,找到ARCH和CROSS_COMPILE,修改ARCH=arm,CROSS_COMPILE=armlinux,然后设置PATH环境变量,在文件bashrc中添加expor PATH=/usr/local/arm/3.4.4/bin:$PATH,使其可以找到交叉编译工具链,然后重新登陆。

(2)设置flash分区,修改arch/arm/machSBC2410/devs.c用以指明分区信息,该文件的内容建立nand flash分区表;修改arch/arm /machSBC2410/machsmdk2410.c文件指定启动时初始化,并在kernel启动时依据对分区的设置进行初始配置。在Linux源文件目录下,执行makemenuconfig命令,配置内核产生config文件,选择处理器类型为SBC2410,选择串口驱动设备,完成后保存config文件。

在完成内核的裁减之后,执行命令make clean,编译内核之前先把环境给清理干净,也可以用makerealclean或makemrproper来彻底清除相关依赖,保证没有不正确的文件存在,最后将zimage下载到开发板。

3 结语

经过移植,Uboot和Linux在SBC2410平台就能运行,在此基础上,还可以进一步开发各类驱动程序及应用软件。用串口线将SBC2410和PC机相连,通过超级终端可以看到移植成功。系统成功启动后,就可以进入根文件系统。本文通过分析Linux的特点和移植方法,总结出了一种基于ARM的Linux系统移植的方法,并实现了Linux系统内核在SBC2410处理器平台上的移植。

《电子技术设计》网站版权所有,谢绝转载


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ARM? 嵌入式系统? 系统移植?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈