ARM Linux内核移植与应用设计
- 格式:doc
- 大小:223.50 KB
- 文档页数:52
2020年第8期信息与电脑China Computer & Communication软件开发与应用基于嵌入式ARM9的Linux 系统移植的研究和实现冯宁波 周 剑(苏州长风航空电子有限公司,江苏 苏州 215151)摘 要:笔者以ARM9处理器为硬件,对嵌入式系统展开分析,并对安装到嵌入式ARM9芯片开发板上的Linux 系统移植进行研究。
Linux 系统移植步骤如下:首先初始化随机存取存储器,设置堆栈,引导加载程序移植;然后下载Linux 内核,修改Makefile 文件,设计交叉编译环境;最后依据内核启动过程,指定启动初始值,控制后台,并执行制作菜单配置命令。
关键词:嵌入式ARM9;Linux 系统;移植;内核中图分类号:TP311.54;TP316.81 文献标识码:A 文章编号:1003-9767(2020)08-078-02Research and Implementation of Linux System Migration Based on EmbeddedARM9Feng Ningbo, Zhou Jian(Suzhou Changfeng Avionics Co., Ltd., Suzhou Jiangsu 215151, China)Abstract: The author takes ARM9 processor as hardware, analyzes the embedded system, and studies the Linux systemporting installed on the embedded ARM9 chip development board. The steps of Linux system porting are as follows: first, initialize random access memory, set stack, boot loader porting; then download Linux kernel, modify makefile file, and design cross compiling environment; finally, according to the kernel startup process, specify the initial startup value, control the background, and execute thecommand of making menu configuration.Key words: embedded ARM9; Linux system; transplantation; kernel0 引言微电子技术快速发展使计算机技术支持下的嵌入式系统得到广泛应用,该系统因软硬件可裁剪、使用性能良好,受到人们青睐[1]。
基于ARM平台的Linux内核移植中图分类号:tp 文献标识码:a 文章编号:1007-0745(2011)10-0204-01摘要:linux是一个可移植性非常好的操作系统,它广泛支持了许多不同体系结构的计算机。
可移植性是指代码从一种体系结构移植到另外一种不同的体系结构上的方便程度。
本文介绍了基于arm 开发板的linux内核移植过程,主要包括二方面的内容:交叉编译器的安装、内核的配置与移植。
本文要求读者具备一定的linux操作系统使用经验。
关键词:移植内核 linux一、概述一个嵌入式linux系统的启动顺序可以分为四步:1、引导加载程序(bootloader)。
2、加载linux内核。
3、挂载根文件系统。
4、运行应用程序。
所以要想使linux内核在开发板上运行,就必须对以上四步的相关源代码进行移植操作,使其可运行于嵌入式平台。
本文主要介绍内核移植部分,其余部分可参考相应书箱或文档。
二、开发环境的建立2.1、安装虚拟机、fedora13操作系统及相关的开发工具(gcc、gedit等),本文的所有操作均是在这种开发环境下进行,本文的工作目录为 \work,且都是在root权限下操作。
2.2、交叉编译器(arm-linux-gcc)的安装。
交叉编译器是嵌入式linux开发的基础,后续的移植过程都要用到此编译器,在linux pc平台下,利用arm-linux-gcc编译器可编译出针对arm linux平台的可执行代码。
安装过程如下:a、网上获取arm-linux-gcc-4.3.2.tgz源代码包并保存于/work 目录中。
b、解压命令(tar xvzf arm-linux-gcc-4.3.2.tgz -c /)注意上面的命令必须是大写c且后面有个空格,这样将源代码解压至目录/usr/local/arm/4.3.2中。
c、配置编译环境路径。
输入命令(gedit /root/.bashrc)打开.bashrc文件,在最后一行加入如下内容:exportpath=/usr/local/arm/4.3.2/bin:$path保存关闭文件,用root重新登录系统,输入命令:(arm-linux-gcc –v)如果安装成功将会显示arm-linux-gcc的版本号。
内核移植实验总结
一、实验目的
完成内核移植实验,以深入理解操作系统内核在不同硬件平台的移植过程。
二、实验内容
1. 配置ARM Linux 开发环境,包括异常处理,内存管理,设备驱动等有关linux 内核模块的移植。
2. 在ARM GRSDK 上移植kernel,并使其具有多任务,多线程,MPU,任务调度,中断处理,内存管理,设备驱动等功能。
三、实验结果
1. 配置ARM Linux 开发环境成功,可以对ARM 芯片进行编程,并能够在开发板上运行程序;
2. 在ARM GRSDK 上移植kernel 成功,能够正常运行linux 系统,并具有多任务,多线程,MPU,任务调度,中断处理,内存管理及设备驱动等功能。
四、实验体会
通过本次实验,深入了解了ARM Linux 内核的移植,学会了如何在ARM GRSDK 上移植Linux 内核,以及如何添加中断处理,内存管理,设备驱动等模块。
本次实验是一次宝贵的经验,也让我对操作系统内核的原理有了更深刻的理解,让我对操作系统的知识有了更加全面深入的认识。
- 1 -。
2011届毕业设计说明书ARMLinux的移植与应用设计系、部:计算机与信息科学系学生姓名:指导教师:职称讲师专业:计算机科学与技术班级:研0703完成时间:2011年6月3日摘要近年来,随着计算机和通信技术的飞速发展,特别是网络的迅速普及和3C(计算机、通信、消费电子)合一的加速,微型化和专业化成为发展的新趋势,嵌入式产品已经成为了信息产业的主流,嵌入式系统技术也成为目前电子产品设计领域最为热门的技术之一,目前已经广泛地应用于军事国防、消费电子、网络通信、工业控制等各个领域。
此套硬件系统可以使用于LCD显示屏、桌面视频、多媒体、数字电视机、图像处理、可视电话和远程户外图象采集领域。
嵌入式平台集成度高,支持实时多任务操作系统,符合实时性和小型化的要求,可以面对日益复杂的应用等。
论文结合实例进行了功能分析和总体设计,包括采用ARM嵌入式平台的必要性,系统框架的设计,开发流程和开发原则的设计,对于嵌入式处理器和操作系统的选择。
本论文所设计的系统中,ARM选用三星公司的S3C2440A,作为主控制器。
论文在总体设计的基础上完成了实例的设计和实现,包括硬件平台的设计,完成了操作系统内核的定制,BootLoader、驱动程序和Qt应用程序的开发。
关键词:S3C2440A;ARM;BootLoader;QTABSTRACTRecently,along with the fastest development of computer and communications technology,especially rapid popularization of Internet and syncretism acceleration of 3C(Computer Communication&Consume Electric),micromation and specialization become the main developing trend,at the same time embedded system became the most popular technique in electronic realm currently,which have alreadybroadly been applied in ihe military national defense,consume ele-ctronics,network correspondence,industry control etc.This set of hardware system can be applied in LCD manifestation,the desktop videopattern,multimedia teaching,digital television,picture handle,sc-reen phone and collection video and frequency singal,and the outdoorimage collection etc.Thesis presents the designing and realization of a mobile vision that detects and tracks the pedestrians in sequence images(video).The device can use in domains of traffic flux statisticaland active safety of automobiles. In this thesis ,we bring forwardthe critical problems of the solution of image processing system based on the embedded platform such as the necessity of using embeddedplatform,design of system framework,layout of development flow and how to select the embedded processor and operation system.In the system of this paper,ARM(using Samsung is S3C2440A)is the main controller,which controls the image data/command packet transfer and the order of image commands.Thesis brings forward the design of hardware,customization of OS kernel,the development of boot loader and drivers.In the end of thesis,we discuss the algorithm of pedestrians detecting and trac-king.Key words:S3C2440A; ARM; BootLoader; QT目录1平台的建立 (1)1.1硬件平台的搭建 (1)1.1.1电源电路 (1)1.1.2 复位电路 (1)1.1.3 时钟电路 (1)1.1.4 UART接口电路 (2)1.1.5 JTAG接口电路 (2)1.2 软件平台的搭建 (2)2 建立交叉编译器 (3)2.1 获取交叉编译器 (3)2.2 Included Libraries (3)3 Linux系统移植 (4)3.1 获取Linux系统源码 (4)3.1.1 解压系统源码 (4)3.1.2 在系统中添加对ARM的支持 (4)3.1.3 修改平台输入时钟 (4)3.2 制作此系统的配置单 (4)3.2.1 利用默认配置单做自己的配置单 (4)3.2.2 在配置单中添加自己的信息 (6)3.2.3 选择是否支持EABI (6)3.2.4 保存配置单 (6)3.3 修改机器码 (7)3.4 编译镜像 (7)3.4.1 镜像编译 (7)3.4.2 把镜像存放到指定位置 (8)4 驱动移植 (10)4.1 Nand Flash驱动移植 (10)4.1.1 完善源码 (10)4.1.2 添加对应的驱动配置 (14)4.1.3 驱动的使用情况 (14)4.2 移植yaffs文件系统 (15)4.2.1 获取yaffs源码 (15)4.2.2 在内核中添加对yaffs的支持 (15)4.2.3 在配置单中添加对yaffs的支持 (16)4.3 编译BusyBox (17)4.3.1 获取BusyBox源码 (17)4.3.2 修改并配置BusyBox (17)4.3.3 编译并安装BusyBox (18)4.4 构建文件系统 (18)4.4.1 构建框架 (18)4.4.2 添加内容 (18)4.5 完善串口驱动 (23)4.5.1 修改源码 (23)4.5.2 串口测试 (24)4.6 声卡驱动移植 (24)4.6.1添加声卡驱动补丁 (24)4.6.2 修改内核DMA支持 (25)4.6.3 配置内核 (25)4.6.4 测试声卡 (26)4.7 看门狗驱动移植 (26)4.7.1 启动看门狗 (26)4.7.2 配置内核 (27)4.7.3 没有喂狗的情况 (27)4.7.4喂狗程序的编写 (27)4.7.5 文件系统里面实现喂狗的情况 (28)5 QT应用程序开发 (29)5.1 Qtopia-2.2.0的平台开发 (30)5.1.1 准备工作 (30)5.1.2 编译ARM版本的Qtopia-2.2.0 (30)5.1.3 制作包含Qtopia-2.2.0的文件系统 (31)5.1.4 添加Qtopia到文件系统中 (32)5.2 LED灯程序的开发 (33)5.2.1 设计思路 (33)5.2.2 制作程序界面(略) (33)5.2.3 添加响应函数的内容 (33)5.2.4 其他操作 (39)5.2.5测试 (43)参考文献 (44)致谢 (46)1平台的建立1.1硬件平台的搭建此硬件平台采用S3C2440芯片,为运行可移植的Linux操作系统需要构建一个嵌入式最小系统。
嵌入式最小系统是指由保证嵌入式微处理器可靠工作所必需的基本电路组成的系统,通常包括处理器单元,复位单元,存储器单元,供电电源和调试接口。
基于ARM的嵌入式最小系统基本组成主要包括:基于ARM核的微处理器,电源电路,复位电路,时钟电路,存储器电路(FLASH和SDRAM),UART接口电路和JTAG调试接口。
1.1.1电源电路在本系统中,由于S3C2440内核采用+1.25V供电,I/O接口采用+3.3V供电,因些坱要将系统输入电压+5V转换成+1.25V和+3.3V。
将+5V转换成+3.3V,设计时采用高质量的低压差线性稳定源AS2815AR-3.3IC芯片稳压。
AS2815AR-33是一个可调节输出的DC-DC转换芯片,输出电压可以根据调节端电阻阻值的不同而配置。
将+5V转换成+1.25V,故在核心板设计时采用低噪声,低压差线性稳定源MAX8860EUA完成。
1.1.2 复位电路复位电路主要是完成系统上电复位和系统运行时按键手动复位功能。
复位电路的选择以是简单的RC电路,也可以是相对复杂的电路。
复位系统的质量也关系到系统是否可以稳定运行,所以本系统中采用相对复杂但功能完善的复位电路,如复位芯片。
为了提供高效的电源监控作用,选取了专门的系统监视复位芯片MAX811S,实现对电源电压的监控和手动复位操作。
该芯片优良,一旦系统电源低于系统复位的阀值(2.93V),复位芯片MAX811S将会对系统进行复位。
1.1.3 时钟电路时钟电路用于向处理器及其他电路提供工作时钟。
本系统中,系统时钟源直接采用外部晶振,内部PLL电路可以调整系统时钟,使系统运行速度更快。
1.1.4 UART接口电路本系统带有两个RS-232串行接口,用于系统设计,分别是UART0和UART1。
设计时使用MAX3232实现TTL和RS-232的电平转换,连接器使用D型9引脚连接器。
1.1.5 JTAG接口电路JTAG(Joint Test Action Group,联合测试行动小组)是IEEE的标准规范,主要用于芯片内部测试及对系统进行仿真,调试。
本系统采用2.0mm间距的10脚调试接口电路,减少了底版的占用面积,方便用户的二次开发,S3C2440芯片内部有JTAG核,因此,可以通过外部JTAG调试电缆或仿真器与开发板系统连接调试。