嵌入式Linux在ARM开发板上的移植_第1页
嵌入式Linux在ARM开发板上的移植_第2页
嵌入式Linux在ARM开发板上的移植_第3页
嵌入式Linux在ARM开发板上的移植_第4页
嵌入式Linux在ARM开发板上的移植_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选ppt嵌入式linux在arm开发板上的移植精选ppt嵌入式嵌入式linux在在arm开发板上的移植开发板上的移植linux在嵌入式设备上的应用越来越广泛,非常多的嵌入式设备都开始由使用其它嵌入式OS向使用linux转变。随着嵌入式技术的发展,现在有越来越多的人才投入到嵌入式开发队伍中来,为了初学者能更快的踏进嵌入式开发的大门,有大量的开发板、学习板也应运而生,以基于arm处理器的最多,所以今天所介绍的主题就是“嵌入式linux在arm开发板上的移植”,希望能对刚开始接触嵌入式开发的爱好者们提供一些微薄的帮助。精选pptArm 系列微处理器系列微处理器 Arm 家族基本分为家族基本分为ar

2、m7、arm9和和arm10几个系列,其中几个系列,其中arm7和和arm9应用最为广泛。应用最为广泛。lARM7的处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHzlARM9的处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHzlARM10最高可以达到700MHz 精选pptTarget嵌入式开发基本模型嵌入式开发基本模型HostICESerial并口JTAG精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 不同种类的芯片具有不同下载方式 l使用JTAG 或ICE l特殊芯片的特殊引导方法 精选ppt嵌入

3、式系统的引导文件的下载嵌入式系统的引导文件的下载1.通过JTAG 口下载通常ARM处理器都支持JTAG调试端口,通过JTAG口下载引导程序到RAM或Flash中,一般都需要专用或通用的ICE系统来支持。 精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 JTAG主要的信号线主要的信号线 lTDO Input Test Data Out from target to ICE lTDI Output Test Data In from ICE to target lTCK OutputTest Clock output from ICE to the target lTMS Outp

4、ut Test Mode Select lNSRST Input/Output(可选项) System Reset,与目标板上的系统复位信号相连。可以直接对目标系统复位,同时可以检测目标系统的复位情况。为了防止误触发,应在目标端加上适当的上拉电阻 lnTRST Output (可选项) JTAG复位。在目标端应加适当的上拉电阻以防止误触发 精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 2.通用的ICE lARM的硬件开发工具主要包括两类仿真器,一是JTAG仿真器,二是全功能在线仿真器。 lJTAG仿真器是利用ARM处理器中的调试模块的功能,通过其JTAG边界扫描口来与仿真器连

5、接,如Multi ICE、JEENI仿真器等 l全功能在线仿真器,由于其信真头完全取代目标板上的CPU,因而功能非常强大 精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载特殊芯片的特殊引导方法 l很多嵌入式处理器都提供了自举模式(Bootstrap),供用户写入引导代码。l自举模式利用了固化在芯片内部的一段引导程序,当处理器复位时,如果在特定引脚上加信号,则处理器将在复位后执行固化ROM中的程序。l自举ROM中的程序完成串口的初始化,然后等待用户从串口写入用户代码。 精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 Cirrus Logic的 clps7111Ep9

6、312 系列ARM core的CPU内置128 字节的boot 程序。这个这个boot程序的功能是程序的功能是:l设置串行口的参数为:9600, 8N1,No FlowControl。 l然后送出一个 字符 l跳转去执行这 2K 的程序。 精选ppt嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载MX1 的bootstrap 模式 lMX1提供了4条复位引脚,复位时引脚不同的电平组合可以从不同的片选端启动系统。自举模式所能接受的是一种专门格式的文本文件,包括数据和要写入/读出的地址。 l通过usb接口下载精选ppt引导程序(引导程序(bootloader) lPC 机中的引导加载程序由 B

7、IOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(比如,LILO 和 GRUB 等)一起组成 l嵌入式系统中,加载启动任务就完全由 Boot Loader 来完成,Boot Loader 就是在操作系统内核运行之前运行的一段小程序 lBoot Loader 一般由 硬件初始化、通信设备驱动、通信协议处理几个部分构成,有些bootloader还具有写flash的功能 精选ppt引导程序(引导程序(bootloader)PC机引导方式:lBIOS 在完成硬件检测和资源分配后,将硬盘 MBR 中的 Boot Loader 读到系统的 RAM 中,然后将控制权交给

8、 OS Boot Loader。lBoot Loader 的主要运行任务就是将内核映象从硬盘上读到 RAM 中,然后跳转到内核的入口点去运行,也即开始启动操作系统。 精选ppt引导程序(引导程序(bootloader)嵌入式bootloaderl在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来完成。l系统在上电或复位时通常都从地址 0 x00000000 处开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。 精选ppt引导程序(引导程序(boot

9、loader)嵌入式bootloader的作用与特点lBootloader的作用是初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。 lBoot Loader 是严重地依赖于硬件而实现的,不可能实现一个通用的bootloader。 精选ppt引导程序(引导程序(bootloader)Bootloader的实现:l由于 Boot Loader 的实现依赖于 CPU 的体系结构,因此大多数 Boot Loader 都分为 stage1 和 stage2 两大部分。l依赖于 CPU 体系结构的代码,比如设备初始化代码等,通常都

10、放在 stage1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。l而 stage2 则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具有更好的可读性和可移植性。 精选ppt引导程序(引导程序(bootloader)Boot Loader 的的 stage1 通常包括以下步骤通常包括以下步骤(以执行的先后顺序以执行的先后顺序): l硬件设备初始化 l为加载 Boot Loader 的 stage2 准备 RAM 空间 l拷贝 Boot Loader 的 stage2 到 RAM 空间中 l设置好堆栈 l跳转到 stage2 的 C 入口点 精选ppt引导程序(引导程序(boo

11、tloader)Boot Loader 的的 stage2 通常包括以下步骤通常包括以下步骤(以执行的先后顺序以执行的先后顺序):l初始化本阶段要使用到的硬件设备 l检测系统内存映射(memory map) l将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中 l为内核设置启动参数 精选ppt引导程序(引导程序(bootloader)常用的bootloader lBlob .lart.tudelft.nl/lartware/blob/ lRedboot 精选ppt交叉编译环境的建立交叉编译环境的建立 l安装linux 服务器或windows 下的cygwin 环境 l

12、Gcc 和 glib c 的获取与安装 精选ppt交叉编译环境的建立交叉编译环境的建立lLinux 服务器,通常选择 Redhat或Debian。安装成个人桌面、工作站和Server都可以。 lCygwin 主要是针对在windows下建立交叉开发环境而提供的一种虚拟的unix模拟环境。精选ppt交叉编译环境的建立交叉编译环境的建立Cygwin 是Cygnus Solutions 公司开发的自由软件。l核心是写了一个共享库(cygwin.dll),把win32 API 没有的unix风格的调用(fork,signals,select)等封装在里面。也就是说基于win32API 写了一个unix

13、系统库的模拟层。l下载网址:Http:/ 精选ppt交叉编译环境的建立交叉编译环境的建立工具链由一套用于编译、汇编和链接内核及应用程序的组件组成。 这些组件包括: lBinutils 用于操作二进制文件的实用程序集合。它们包括诸如 ar、as、objdump、objcopy 这样的实用程序。 lGcc GNU C 编译器。 lGlibc 所有用户应用程序都将链接到的 C 库。避免使用任何 C 库函数的内核和其它应用程序可以在没有该库的情况下进行编译。 精选ppt交叉编译环境的建立交叉编译环境的建立获取途径获取途径: 一些比较流行的已预编译的工具链包括那些来自 Compaq(Familiar L

14、inux )、LART(LART Linux)和 Embedian(基于 Debian 但与它无关)的工具链 所有这些工具链都用于基于 ARM 的平台。 精选pptarm Linux 内核的构建内核的构建 l获取linux 内核 l根据需要选取arm linux patch 文件并安装patch l配置和编译内核 精选pptarm Linux 内核的构建内核的构建获得linux 内核与arm patch llinux 内核参考下载网址 :linux/kernel/v2.4linux-2.4.18-tar.gz 或 linux-2.4.18-tar.bz2 larm patch 参考下载网址:.

15、 l i n u x . o r g . u k / p u b / a r m l i n u x / p e o p l e .kr/pub/armlinux/v2.4patch-2.4.18-rmk1.gz 精选pptarm Linux 内核的构建内核的构建解压缩内核,打解压缩内核,打arm patch ltar xvzf linux-2.4.18.tar.gz 或 tar xvjf linux-2.4.18-tar.bz2cd linuxzcat ./ patch-2.4.18-rmk1.gz|patch p1 l另一种打patch的方法:gzip patch-2.4.18-rmk1.

16、gz 产生patch-2.4.18-rmk1文件cd linuxpatch p1 ./ patch-2.4.18-rmk1 精选pptarm Linux 内核的构建内核的构建l内核编译过程 make mrpropermake target-devices_config ( linux/arch/arm/def-config/mx1ads)make oldconfigmake depmake zImage将在 arch/arm/boot/ 下生成 zImage 内核文件。 l随时可以通过 make menuconfig 或 make xconfig来配置内核。 精选ppt内核配置系统内核配置系统

17、精选ppt内核配置系统内核配置系统基本结构lMakefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则 l配置文件(config.in):给用户提供配置选择的功能; l配置工具:包括配置命令解释器和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。 精选ppt内核配置系统内核配置系统Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件 lMakefile:顶层

18、 Makefile,是整个内核配置、编译的总体控制文件 l.config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config) larch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile l各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理 lRules.make:规则文件,被所有的 Makefile 使用 精选ppt内核配置系统内核配置系统顶层 Makefile 有两个主要的任务:l产生 vmlinux 文件l内核模块(module)为了达到此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。 精选ppt嵌入式嵌入式linux的的root文件系统文件系统 几种主要的文件系统 lExt2 文件格式的ramdisklRomfs

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论