基于SEP4020的嵌入式Linux移植

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:hua6952
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:描述了将Linux 移植到基于SEP4020处理器的目标板上的方法和过程,包括交叉编译环境的建立,开发工具使用,内核的裁剪、编译以及文件系统的移植。
  关键词:嵌入式;Linux;移植
  中图法分类号:TP316文献标识码:B 文章编号:1009-3044(2008)15-20ppp-0c
  
  An Embedded Linux Porting Based on SEP4020 Processor
  YUE Yue-bing1,QIAN Li-li2,LIU Hao3
  (1.IC College of Southeast University, Nanjing 210096,China;2.Research Institute of Southeast University in Suzhou,Suzhou 215123,China;3. ASIC Center,Southeast University,Nanjing 210096,China)
  Abstract:The paper described the method and process of porting Linux to the target board based on SEP4020 processor,including the construction of cross compile environment,the usage of developed tools,the reduction and compilation of Linux kernel and the porting of file systems.
  Key words:embedded;Linux;porting
  
  嵌入式系统 (Embedded System) 是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它包括嵌入式微处理器和嵌入式操作系统两大主要方面,将嵌入式操作系统移植到特定的微处理器平台上,并构建出稳定的开发系统,是嵌入式系统应用的必要前提,也是进行嵌入式产品开发的基础。
  Linux是一种性能优良、源码公开且被广泛应用的免费操作系统,在嵌入式领域得到了越来越多的应用。Linux 具有多任务、多用户、高效、稳定的特性,同时内核小巧灵活,而且代码完全开放,用户可以根据实际需求对Linux 内核进行修改、裁剪。这些特性使得它很适合于嵌入式系统的应用。
  
  1 目标硬件平台介绍:
  
  SEP4020由东南大学国家专用集成电路系统工程技术研究中心设计,使用0.18um标准CMOS工艺设计,内嵌ARM720 T内核(32位RISC内核,带8KB指令数据Cache)
  芯片集成了各种功能包括:提供SDRAM控制器;针对低成本移动终端的需求,提供灵活的外部总线宽度配置,支持NANDFLASH启动;提供了10M/100M自适应以太网MAC;支持RMII接口;支持MMC/SD卡;支持USB接口,I2S音频接口;有LCD控制器,支持TFT彩屏和STN黑白、灰度屏;RTC支持日历功能/WatchDog,支持后备电源;10通道TIMER,支持捕获、外部时钟驱动和MATCH OUT;4通道PWM,支持高速GPIO;4通道UART,均支持红外;2通道SSI,支持SPI和Microwire协议;2通道SmartCard接口,兼容ISO7816协议;支持最多91个GPIO,18个外部中断;支持外部DMA传输。丰富的外设接口,方便终端产品的数据传输与功能扩展;片上DPLL,支持IDLE、SLOW、NORMAL、SLEEP多种功耗模式,可有效的降低系统功耗。
  
  3.2 内核的编译:
  配置完成后,使用指令 $ make dep ,$ make zImage对内核进行编译,我们采用压缩方式编译内核 ,生成的压缩内核映像文件zImage 位于arch/arm/boot 目录下 ,这种方式编译生成的内核映像文件很小,比较适合嵌入式系统使用,将该内核映像文件烧写到Flash 中 ,启动时由引导程序将内核从Flash中加载到RAM中解压后运行。
  但只有这个内核还无法与系统进行交互,嵌入式Linux 在启动时需要一个根文件系统。因为Linux系统中的文件和设备是通过文件系统来组织的,文件系统使数据和设备可以被透明、有效的存取访问。一个简单的文件系统应该包括系统使用的软件和库,以及为用户提供基本支持的架构和指令。一般包括以下几个目录:/bin 、/sbin、/etc、/boot、/dev、/lib、/mnt、/proc、/usr。把配置文件、动态函数库等放在相应的目录下。
  3.3 使用Busy Box制作Ramdisk
  Busybox是一个集成了一百多个最常用linux命令和工具的软件,而且还集成了一个http服务器和一个telnet服务器,而所有这一切功能却只要1M左右的大小,Busybox把常用的工具和命令压缩在一个可执行文件里。
  配置Busybox:
  Busybox的配置程序和linux内核菜单配置方式一样。可根据自己的需要选择功能选项:
  $make menuconfig
  Busybox Settings >
  General Configuration >
  [*] Support for devfs
  Build Options >
  [*] Build BusyBox as a static binary (no shared libs)这个选项是要选择的,这样才能把busybox编译成静态链接的可执行文件,运行时才能独立于其他函数库。否则需要其他库文件才能运行,在单一linux内核下不能正常工作。
  Installation Options
  Don’t use /usr 这个选项也一定要选,否则make install 后busybox将安装在原系统的/usr下,这将覆盖掉系统原有的命令。其他选项都是一些linux基本命令选项,需要哪些命令就编译进去,一般使用默认的就可以了。配置好后,保存退出。使用指令 #make ,#make install编译busybox 。
  最后将bootloader , zImage和initrd一起烧录到flash中,上电后boot loader加载内核并初始化ram disk,内核把initrd转化成正常的ram disk 并释放initrd使用的内存,initrd作为root被挂载,赋予读写权限。然后/linuxrc被执行,linuxrc挂载真正的根文件系统,可以看到系统的启动信息打印,至此一个基于2.4.18内核的Linux系统就成功移植到SEP4020上了。
  
  4 ARM-Linux中的中断机制实现
  
  中断处理是嵌入式系统中的一项重要技术,通过中断,使得处理器和外设并行工作,提高了系统的执行效率。Linux将中断服务程序分为“Top Half”和“Bottom Half”两部分。Top half对时间要求严格,在中断请求发生后要立即完成,此时CPU关中断, Bottom Half是根据Top Half需要来调度执行的,对时间要求不严格,在CPU开中断下执行。Linux2.4内核在bottom half机制的基础上引入“软中断请求”(softirq)机制以适应SMP系统的需求。
  对应具体软件实现,在start_kernel()中,定义两个中断初始化函数:trap_init()和IRQ_init(),分别用于实现第一级和第二级中断向量的初始化。Trap_init()通过调用entry-armv.S中的(__trap_init)函数段,在系统的0x00地址处放置ARM的异常向量表,然后在0x200处建立各个异常(如irq、fiq、data、undefined等)的分类处理。IRQ_init()在具体设备初始化时会将其中断处理程序通过request_irq()向系统注册,调用setup_arm_irq()挂入中断请求队列,参数irq是中断请求号,对应于中断控制器为每个中断源配置的中断号。中断发生时,根据中断请求调用相应的中断处理函数,中断处理结束时通过free_irq来释放中断。
  结束语:本文讨论了将Linux操作系统移植到目标系统SEP4020上的过程中的一些关键技术并讨论了ARM-Linux的中断机制。移植后的Linux保留了原有的工作稳定的特点。而Linux突出的嵌入式特性与性能优越的SEP4020相结合,使其在嵌入式领域有着广阔的应用天地,可以进而开发其它各种应用程序。
  
  参考文献:
  [1]许信顺,贾智平.嵌入式Linux 应用编程[M].机械工业出版社,2007.1.
  [2]陈铁军,仇洪冰.基于S3C2410的嵌入式Linux的移植方法[J].桂林电子工业学院学报,2006年8月,第26卷,第4期,259-263.
  [3]李程远,刘文峰,李善平.ARM在EP7312上的移植[J].计算机工程与设计,2003年7月,第24卷,第7期,73-76.
  [4]梁千帆,陈建华,孔凡军.基于2.6.19内核的小型Linux系统制作与移植[J].电子产品世界,2007/08,106-107.
  
  收稿日期:2008-4-16
  作者简介:岳跃冰(1981-),女,河南开封市人,硕士研究生,研究方向:嵌入式系统。
其他文献
摘要:分析了我国中专体校传统教学模式存在的诸多弊端,介绍了Moodle平台的特点及应用价值,有效解决了体校文化课教学难的问题。  关键词:魔灯;教学;兴趣;组织   中图法分类号: G622文献标识码: A 文章编号:1009-3044(2008)19-30187-02  Moodle Application in The Culture Teaching of Sports School  YO
摘要:通过对J2EE架构的分析,提出了基于J2EE体系的办公自动化总体架构和子系统的分块,然后分别阐述了各子系统的功能及设计方法。  关键词:J2EE架构;办公自动化;设计  中图分类号:TP317文献标识码:A文章编号:1009-3044(2008)09-11656-03    The Analysis and Design of OA System Based on J2EE Frame  L
摘要:网络团购已经成为一种新的购物时尚,中国的团购网站不再是单纯的模仿Groupon模式,而是走出了一条本土化发展的道路,该文将从网络团购的含义和现状介绍起,分析中国目前团购模式本土化的情况和存在的问题,最后预测网络团购本土化未来的发展趋势。  关键词:网络团购;本土化;发展问题;未来预测  中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)03-0543-03   1什
摘要:结合中职课堂教学现状介绍交互式电子白板在中职课堂教学中的优势和应用原则。设计中职课堂教学案例,并进行设计反思。  关键词:中职课堂;交互式电子白板;课堂教学  中图分类号:G424 文献标识码:A 文章编号:1009-3044(2013)28-6356-03  根据人本主义的观点,在课堂教学中,要以“人”为中心,充分调动学生的积极性。传统的课堂教学主要借助黑板 粉笔进行,教学方式单一,主要是
摘要:VHDL作为一种新型的硬件描述语言,主要用于数字电路与系统的描述、模拟和自动设计,是当今电子设计自动化(EDA)的核心技术。文章通过十六位计数器的实例介绍了用VHDL语言设计数字系统的流程和方法,并通过仿真实现预定目的。实践证明,VHDL语言在数字系统设计中具有硬件描述能力强,设计方法灵活等优点,从而降低了数字系统设计的难度,提高了工作效率。  关键词:VHDL;MAX PLUSⅡ;仿真;数
学生的核心素养是指适应学生个人终身发展和社会发展的必备品德和关键能力。把核心素养落实到课堂教学中,是当前教学改革的重要任务。核心素养必须从课程建设和教学模式两个方面落实,二者相辅相成、缺一不可。那么作为一线教师,具体该如何做呢?高茂军、王英兰主编的《核心素养引领下的课堂教学革新》一书围绕这一问题,通过五个专题,指导教师基于学生核心素养的发展,转变观念,创新思路,多路径、多方法改革课堂教学,实现教学
摘要:针对我国高校毕业生就业形势日趋严峻,用人单位招不到符合要求的毕业生,毕业生找不到适合自己的岗位等问题,以海南经贸职业技术学院的就业信息化建设情况为例,通过对毕业生、教师及其他高校的就业信息网的调查研究,分析海南经贸职业技术学院的就业信息网的组成、使用效果及其原因,并借鉴各高校的就业信息网的优点,结合学校实际情况,分析存在问题并提出解决建议。  关键词:高校;信息化;就业;信息网;招聘  中图
摘要:讲述了Windows API拦截的关键技术和方法,重点讲述了dll的注入技术和API拦截技术,并对各种技术进行了优缺点分析。  关键词:API;拦截  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)27-1920-03  Windows API Hooking Method  SHI Yong-lin,PAN Jin,LI Guo-Peng  (Departme
摘要:“任务驱动”是一种建立在建构主义教学理论基础上的教学方法。该文在建构主义学习理论和任务驱动教学思想的指导下,结合教学案例,探索在PROTEL99 SE教学中采用任务驱动的教学模式,在教学过程中通过任务的提出、分析、实现与评价等环节培养学生自主学习与协作学习的习惯,以达到增强学习主观能动性、提高教学效果的目的。  关键词:任务驱动;建构主义;PROTEL99 SE 教学  中图分类号:G642
人民教育出版社2013年秋季用书“语文·七年级上”重新将魏巍的《我的老师》选入教材。文中蔡老师教我们读过的《过印度洋》一诗对作者的注释是:“[她教我们的诗]下文所选的诗节选自周无君的《过印度洋》。”查阅工具书等相关资料,《过印度洋》这首诗的作者是“周太玄”或“周无”,并没有“周无君”这个名字。  周太玄于1895年1月20日(农历)生于四川省新都县,原名周焯号朗宣,后改名为周无,号太玄。我国著名生