诚信经营,质量为首,诚信至上,真诚为您服务
--------------------------------------------------
允许我给您介绍下这个产品和我们的服务:现货 全新原装*** 15天质量问题无条件包退换
一年质保 完善的***服务 雄厚的技术人才后盾 真正的为客户排忧解难
客户的满意 是对我们的肯定 更是我们的动力
单子,得之,我幸。不得,我力争到底 全心服务
--------------------------------------------------
ABB 3HNE00065-1 DSQC 354
优质的产品★优质的价格★优质的***★优质的服务,是您***佳的选择!
图2所示为Linux内核硬件相关结构。可以看出,Linux内核中与具体硬件平台相关的结构主要分为两个部分:与具体的处理器结构相关的部分,包括中断处理、内存操作以及进程控制等;与具体外设关系密切的部分,包括硬件驱动与I/O设备。
内核移植由五个功能部分组成:进程管理(包括调度和通信)、内存管理、设备驱动、虚拟文件系统与网络,它们之间存在复杂的调用关
系。前三部分按从前到后的顺序,越靠前代表它们与硬件设备的相关程度越高,后面的虚拟文件系统和网络则几乎与平台无关,它们由设备管理中所支持的驱动程序来提供底层支持。因此,在做内核移植的时候,需要改动的就是进程管理、内存管理和设备管理中被***出来的那部分即硬件相关部分的代码。在Linux内核源代码树中,这部分代码全部在areh目录下,主要是被内核直接调用的底层支持部分。这些代码重写了内核所需调用的所有函数,因为接口函数是固定的,所以这里更像是为硬件平台编写API。
3.4 内核移植过程
首先在通用计算机上编写程序,然后通过交叉编译生成可在目标平台上运行的二进制代码格式,***后再***到目标平台计算机的特***置上运行。Linux内核移植过程如下:
(1)建立移植所必须的交叉开发环境。需准备两台计算机,一台用作修改编译Linux内核,另一台用作移植Linux内核。
(2)编写和修改Linux内核。在通用计算机上修改和编写新的内核代码,编译出新的Linux内核。
(3)调试新的Linux内核。将编译后生成的新Linux内核加载到目标计算机上进行运行和调试,这个调试的过程就是交叉调试。
调试器是一个单独运行着的进程,它通过操作系统提供的调试接口来控制被调试的进程。在Linux内核移植过程中,调试时采用的是在宿主机和目标机之间进行的交叉调试。交叉调试有多种方法,它有一些典型特点:
◇调试器和被调试进程通常运行在不同的机器上(注:Linux内核作为操作系统内核,不同于普通进程,但在交叉调试中作为被调试对象,与普通进程没有区别),一般调试器运行在PC或者工作站主机(宿主机)上,而被调试的进程则运行在各种***调试板(目标机)上。调试器通过某种通信方式与被调试进程建立联系,如串口、并口、网络、DBM或者专用的通信方式。本次移植采用了串口和JTAG两种方式与目标机进行通信。
◇在目标机上一般会具备某种形式的调试代理,它负责与调试器共同配合完成对目标机上运行着的进程的调试。这种调试代理可能是某些支持调试功能的硬件设备(如 DBI2000),也可能是某些专门的调试软件(如 gdbserver)。本次移植使用的是GDB—Stub。
◇如果目标机是某种形式的系统仿真器,通过在宿主机上运行目标机的仿真软件,整个调试过程可以在一台计算机上运行。虽然此时物理上只有一台计算机,但逻辑上仍然存在着宿主机和目标机的区别。本次移植没有使用系统仿真器。调试时,作为调试器的GDB运行在宿主机上,相应的GDB—Stub运行在目标机上。GDB通过串口或者网络与GDB—Stub进行通信,发出指令控制、访问运行在目标硬件平台上的新的Linux内核,读取Linux内核的当前状态,并能够改变Linux内核的运行状态。
经过多次移植测试后,就在基于AR***20T核的53C24lO处理器为核心处理器的AR***平台上成功移植了Linux操作系统。
4 结束语
文中阐述了在基于AR***20T核的53C2410处理器为核心的AR***平台上移植Linux操作系统的环境、方案和过程,对移植的难点进行了***分析,这对AR***平台上的嵌入式Linux移植具有较好的实用价值和参考价值,同时对于其它平台上的嵌入式Linux移植的方法也具有一定的借鉴意义。