嵌入式Linux在ARM开发板上的移植.ppt
嵌入式linux在arm开发板上的移植
北京泰科威科技有限公司嵌入式linux在arm开发板上的移植linux在嵌入式设备上的应用越来越广泛,非常多的嵌入式设备都开始由使用其它嵌入式OS向使用linux转变。随着嵌入式技术的发展,现在有越来越多的人才投入到嵌入式开发队伍中来,为了初学者能更快的踏进嵌入式开发的大门,有大量的开发板、学习板也应运而生,以基于arm处理器的最多,所以今天所介绍的主题就是“嵌入式linux在arm开发板上的移植”,希望能对刚开始接触嵌入式开发的爱好者们提供一些微薄的帮助。Arm系列微处理器Arm家族基本分为arm7、arm9和arm10几个系列,其中arm7和arm9应用最为广泛。ARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHzARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHzARM10最高可以达到700MHzTargetHostICESerial并口JTAG嵌入式开发基本模型不同种类的芯片具有不同下载方式使用JTAG或ICE特殊芯片的特殊引导方法嵌入式系统的引导文件的下载01通过JTAG口下载02通常ARM处理器都支持JTAG调试端口,通过JTAG口下载引导程序到RAM或Flash中,一般都需要专用或通用的ICE系统来支持。嵌入式系统的引导文件的下载TDOInput TestDataOutfromtargettoICETDI Output TestDataInfromICEtotargetTCK Output TestClockoutputfromICEtothetarget123654nTRSTOutput(可选项)JTAG复位。在目标端应加适当的上拉电阻以防止误触发NSRSTInput/Output(可选项)SystemReset,与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。为了防止误触发,应在目标端加上适当的上拉电阻TMS Output TestModeSelectJTAG主要的信号线嵌入式系统的引导文件的下载010203ARM的硬件开发工具主要包括两类仿真器,一是JTAG仿真器,二是全功能在线仿真器。JTAG仿真器是利用ARM处理器中的调试模块的功能,通过其JTAG边界扫描口来与仿真器连接,如MultiICE、JEENI仿真器等全功能在线仿真器,由于其信真头完全取代目标板上的CPU,因而功能非常强大通用的ICE嵌入式系统的引导文件的下载很多嵌入式处理器都提供了自举模式(Bootstrap),供用户写入引导代码。自举模式利用了固化在芯片内部的一段引导程序,当处理器复位时,如果在特定引脚上加信号,则处理器将在复位后执行固化ROM中的程序。自举ROM中的程序完成串口的初始化,然后等待用户从串口写入用户代码。特殊芯片的特殊引导方法嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载CirrusLogic的clps7111~Ep9312系列ARMcore的CPU内置128字节的boot程序。这个boot程序的功能是:设置串行口的参数为:9600,8N1,NoFlowControl。然后送出一个字符开始接收2K字节程序(Bootloader)送出一个字符跳转去执行这2K的程序。MX1提供了4条复位引脚,复位时引脚不同的电平组合可以从不同的片选端启动系统。自举模式所能接受的是一种专门格式的文本文件,包括数据和要写入/读出的地址。通过usb接口下载MX1的bootstrap模式嵌入式系统的引导文件的下载PC机中的引导加载程序由BIOS(其本质就是一段固件程序)和位于硬盘MBR中的OSBootLoader(比如,LILO和GRUB等)一起组成嵌入式系统中,加载启动任务就完全由BootLoader来完成,BootLoader就是在操作系统内核运行之前运行的一段小程序BootLoader一般由硬件初始化、通信设备驱动、通信协议处理几个部分构成,有些bootloader还具有写flash的功能引导程序(bootloader)BIOS在完成硬件检测和资源分配后,将硬盘MBR中的BootLoader读到系统的RAM中,然后将控制权交给OSBootLoader