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

下载本文档

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

文档简介

1、嵌入式linux在arm开发板上的移植北京泰科威科技嵌入式嵌入式linux在在arm开发板上的移植开发板上的移植linux在嵌入式设备上的运用越来越广泛,非常多的嵌入式设备都开场由运用其它嵌入式OS向运用linux转变。随着嵌入式技术的开展,如今有越来越多的人才投入到嵌入式开发队伍中来,为了初学者能更快的踏进嵌入式开发的大门,有大量的开发板、学习板也应运而生,以基于arm处置器的最多,所以今天所引见的主题就是“嵌入式linux在arm开发板上的移植,希望能对刚开场接触嵌入式开发的喜好者们提供一些微薄的协助。Arm 系列微处置器系列微处置器 Arm 家族根本分为arm7、arm9和arm10几个

2、系列,其中arm7和arm9运用最为广泛。ARM7的处置速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHzARM9的处置速度为1.1MIPS/MHz,常见的ARM9的系统主时钟为100MHz-233MHzARM10最高可以到达700MHz Target嵌入式开发根本模型嵌入式开发根本模型HostICESerial并口JTAG嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 不同种类的芯片具有不同下载方式 运用JTAG 或ICE 特殊芯片的特殊引导方法 嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载1.经过JTAG 口下载通常ARM处置器都支持JTAG

3、调试端口,经过JTAG口下载引导程序到RAM或Flash中,普通都需求公用或通用的ICE系统来支持。 嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 JTAG主要的信号线主要的信号线 TDO Input Test Data Out from target to ICE TDI Output Test Data In from ICE to target TCK OutputTest Clock output from ICE to the target TMS Output Test Mode Select NSRST Input/Output(可选项可选项) System Reset,

4、与目的,与目的板上的系统复位信号相连。可以直接对目的系统复位,板上的系统复位信号相连。可以直接对目的系统复位,同时可以检测目的系统的复位情况。为了防止误触发,同时可以检测目的系统的复位情况。为了防止误触发,应在目的端加上适当的上拉电阻应在目的端加上适当的上拉电阻 nTRST Output (可选项可选项) JTAG复位。在目的端应加适复位。在目的端应加适当的上拉电阻以防止误触发当的上拉电阻以防止误触发 嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 2.通用的ICE ARM的硬件开发工具主要包括两类仿真器,一是JTAG仿真器,二是全功能在线仿真器。 JTAG仿真器是利用ARM处置器中的调

5、试模块的功能,经过其JTAG边境扫描口来与仿真器衔接,如Multi ICE、JEENI仿真器等 全功能在线仿真器,由于其信真头完全取代目的板上的CPU,因此功能非常强大 嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载特殊芯片的特殊引导方法 很多嵌入式处置器都提供了自举方式Bootstrap,供用户写入引导代码。自举方式利用了固化在芯片内部的一段引导程序,当处置器复位时,假设在特定引脚上加信号,那么处置器将在复位后执行固化ROM中的程序。自举ROM中的程序完成串口的初始化,然后等待用户从串口写入用户代码。 嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 Cirrus Logic的 c

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

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

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

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

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

11、口点 引导程序引导程序bootloaderbootloaderBoot Loader 的的 stage2 通常包括以下步骤通常包括以下步骤(以执行的先后顺序以执行的先后顺序):初始化本阶段要运用到的硬件设备初始化本阶段要运用到的硬件设备 检测系统内存映射检测系统内存映射(memory map) 将将 kernel 映像和根文件系统映像从映像和根文件系统映像从 flash 上读到上读到 RAM 空间中空间中 为内核设置启动参数为内核设置启动参数 引导程序引导程序bootloaderbootloader常用的bootloader Blob lart.tudelft.nl/lartware/blob

12、/ Redboot redhat 交叉编译环境的建立交叉编译环境的建立 安装linux 效力器或windows 下的cygwin 环境 Gcc 和 glib c 的获取与安装 交叉编译环境的建立交叉编译环境的建立lLinux 效力器,通常选择 Redhat或Debian。安装成个人桌面、任务站和Server都可以。l lCygwin 主要是针对在windows下建立交叉开发环境而提供的一种虚拟的unix模拟环境。交叉编译环境的建立交叉编译环境的建立Cygwin 是Cygnus Solutions 公司开发的自在软件。中心是写了一个共享库cygwin.dll,把win32 API 没有的unix

13、风格的调用fork,signals,select等封装在里面。也就是说基于win32API 写了一个unix系统库的模拟层。下载cygwin/ 交叉编译环境的建立交叉编译环境的建立工具链由一套用于编译、汇编和链接内核及运用程序的组件组成。 这些组件包括: Binutils 用于操作二进制文件的适用程序集合。它们包括诸如 ar、as、objdump、objcopy 这样的适用程序。 Gcc GNU C 编译器。 Glibc 一切用户运用程序都将链接到的 C 库。防止运用任何 C 库函数的内核和其它运用程序可以在没有该库的情况下进展编译。 交叉编译环境的建立交叉编译环境的建立获取途径:获取途径:

14、一些比较流行的已预编译的工具链包括那些来自一些比较流行的已预编译的工具链包括那些来自 CompaqCompaqFamiliar Linux Familiar Linux 、LARTLARTLART LinuxLART Linux和和 EmbedianEmbedian基于基于 Debian Debian 但与它无关的工具链但与它无关的工具链 一一切这些工具链都用于基于切这些工具链都用于基于 ARM ARM 的平台。的平台。 arm Linux 内核的构建内核的构建 l获取linux 内核 l根据需求选取arm linux patch 文件并安装patch l配置和编译内核 arm Linux 内

15、核的构建内核的构建获得linux 内核与arm patch linux 内核参考下载网址 :/pub/linux/kernel/v2.4linux-2.4.18-tar.gz 或 linux-2.4.18-tar.bz2 arm patch 参考下载.uk/pub/armlinux/people kernel.pr.kr/pub/armlinux/v2.4patch-2.4.18-rmk1.gz arm Linux 内核的构建内核的构建解紧缩内核,打解紧缩内核,打arm patch arm patch tar xvzf linux-2

16、.4.18.tar.gz tar xvzf linux-2.4.18.tar.gz 或或 tar xvjf linux-2.4.18- tar xvjf linux-2.4.18-tar.bz2tar.bz2cd linuxcd linuxzcat ./ patch-2.4.18-rmk1.gz|patch p1 zcat ./ patch-2.4.18-rmk1.gz|patch p1 另一种打另一种打patchpatch的方法:的方法:gzip patch-2.4.18-rmk1.gz gzip patch-2.4.18-rmk1.gz 产生产生patch-2.4.18-rmk1patch

17、-2.4.18-rmk1文件文件cd linuxcd linuxpatch p1 ./ patch-2.4.18-rmk1 patch p1 ./ patch-2.4.18-rmk1 arm Linux 内核的构建内核的构建l内核编译过程 lmake mrproperlmake target-devices_config ( linux/arch/arm/def-config/mx1ads)lmake oldconfiglmake deplmake zImagel将在 arch/arm/boot/ 下生成 zImage 内核文件。 l随时可以经过 make menuconfig 或 make

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

19、kefile:顶层 Makefile,是整个内核配置、编译的总体控制文件 .config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果如 make config arch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Makefile 各个子目录下的 Makefile:比如 drivers/Makefile,担任所在子目录下源代码的管理 Rules.make:规那么文件,被一切的 Makefile 运用 内核配置系统内核配置系统顶层 Makefile 有两个主要的义务:产生 vmlinux 文件内核模块module为了到达此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。 嵌入式嵌入式linuxlinux的的rootroot文件系统文件系

温馨提示

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

最新文档

评论

0/150

提交评论