如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
万方数据数据采集系统的ARM操作系统移植方案周兵吴文斗吴兴勇1系统方案设计BootLoader的设计第9卷第2期重庆科技学院学报(自然科学版)2007年6月(云南农业大学,昆明650201)嵌入式应用系统通常是以完成一定工程应用为目的,软硬件可裁剪,其组成一般分为:嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序4个部分。在具体工程中用于实现对其它设备的控制、监视或管理等功能f11。嵌入式操作系统的移植是整个嵌入式系统开发的核心.其系统的稳定与接口函数的友好直接决定了嵌入式应用程序的开发、调试的方法和效率。下面是我们在开发数据采集系统时,对嵌入式Linux操作系统移植方法的研究。标准PCI04总线连接[21。考虑到系统实现的功能主要是数据的实时采集和在局域网上传输,我们选用了ARMLinux作为嵌人式操作系统。该操作系统占用内存少,包括虚拟内存和所有核心的操作系统功能在内,只需占用系统100kB的内存。根文件系统和内核是密不可分的,两者共同组成了嵌入式Linux操作系统,再加上硬件驱动、应用程序,将它们整合到一起就是一个具有完全功能的嵌入式系统了。2本课题的目标是设计一个基于ARM的局域网数据采集和传输系统。软件系统的分层结构图如图1所示,包括硬件的选择和构建,嵌入式操作系统的移植,驱动的开发,bootloader的设计,采集和传输程序的编写。我们选择SX—ART400通用嵌入式计算机开发平台作为开发板。SX—ART400系列嵌入式系统主要由核心板和I/O板组成.板卡之间接口采用BootLoader是与系统高度相关的初始化软件.它担负着初始化硬件和引导操作系统的双重责任。作为嵌入式系统软件的最底层,BootLoader是在操作系统内核运行之前运行的一小段程序.通过这段小程序来初始化软硬件设备,建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态.以便为最终调用操作系统内核准备好正确的环境。在本系统的设计中,BootLoader的主要功能是设置好中断向量人口,跳转到相应的人El,先进入特权模式,并关闭各种模式中断,然后开始做各种初始化工作。主要内容有:初始化通用I/O和各种控制器.初始化CPU速度,初始化静态存储器,初始化动态存储器,初始化时钟,清理指令和数据cache。这些初始化工作做完以后,BootLoader把自己后半部重定位到SDRAM中去执行。建立堆栈段和未初始化数摘要:通过对基于ARM的数据采集系统设计过程中的嵌入式操作系统缩减和移植的研究。提出了一套自己移植嵌入式操作系统的解决方案。实践证明,通过本方法移植的嵌入式“nu)【操作系统能稳定地运行在SX—ART400嵌入式软件开发平台上。关键词:数据采集系统;嵌入式操作系统;ARM;系统移植中图分类号:TP316.89文献标识码:A文章编号:1673—1980(2007)02—0090—02采集传输程序硬件程收稿日期:2007一01—28基金项目:云南农业大学青年基金项目作者简介:周兵(1975一),男,云南人,彝族,讲师,主要从事电子信息科学的应用研究。·90·文件系统KernelBoofloader驱动序图1系统的软件结构图Linux万方数据3嵌入式操作系统的移植汇编代码Linux/arch/arm/mm/proc--arm720.S汇编代码Linux/arch/arm/kernel/head--armv.S控制器;二是时钟中断。Init_IRQ()函数初始化中断.Linux/arch/arm/irq.C和Linux/arch/arm/kernel/4小结周兵,吴文斗,吴兴勇:数据采集系统的ARM操作系统移植方案据段,初始化处理器以外的其他硬件、串口、FLASH、网口等驱动,检测静态存储介质和动态存储介质。配合操作系统工作构造各种操作系统需要的信息Tag表,打印各种检查信息。等待通过串口进来的各种命令,以执行网络设置,Linux内核引导等工作。根据设计编写好BootLoader代码后。就可以通过JTAG方式烧写BootLoader到FLASH中.这样Boot—Loader硬件程序即被安装到了嵌入式平台上并可运行了。3.1移植开发环境的建立在进行移植时.我们的首要任务就是要建立一个最基本的开发环境.该环境具备一套跨平台开发工具CrossKit)。它包含有编译器、连接器、除错器等,另外还要准备制作文档系统所需的软件。以PC机作为宿主机构建一套完整的交叉编译系统来调试目标板。而在目标平台上只需要准备一段开机程序,如Etherboot、Redboot等,此程序可以在除错阶段取得系统的映像(image)文件后启动或者直接从FlashRom中来引导系统。一旦启动后就进入Linux操作系统,同时也可以使用GDBserver作为远端除错工具。3