嵌入式linux在arm开发板上的移植.ppt

上传人:wuy****n92 文档编号:68590246 上传时间:2022-12-29 格式:PPT 页数:37 大小:222.49KB
返回 下载 相关 举报
嵌入式linux在arm开发板上的移植.ppt_第1页
第1页 / 共37页
嵌入式linux在arm开发板上的移植.ppt_第2页
第2页 / 共37页
点击查看更多>>
资源描述

《嵌入式linux在arm开发板上的移植.ppt》由会员分享,可在线阅读,更多相关《嵌入式linux在arm开发板上的移植.ppt(37页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

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

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

3、文件的下载1.通过JTAG 口下载通常ARM处理器都支持JTAG调试端口,通过JTAG口下载引导程序到RAM或Flash中,一般都需要专用或通用的ICE系统来支持。嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载 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 Output Test Mode Select lNSRS

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

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

6、的功能是程序的功能是:l设置串行口的参数为:9600,8N1,No FlowControl。l然后送出一个 字符 l跳转去执行这 2K 的程序。嵌入式系统的引导文件的下载嵌入式系统的引导文件的下载MX1 的bootstrap 模式 lMX1提供了4条复位引脚,复位时引脚不同的电平组合可以从不同的片选端启动系统。自举模式所能接受的是一种专门格式的文本文件,包括数据和要写入/读出的地址。l通过usb接口下载引导程序(引导程序(bootloader)lPC 机中的引导加载程序由 BIOS(其本质就是一段固件程序)和位于硬盘 MBR 中的 OS Boot Loader(比如,LILO 和 GRUB 等

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

8、口点去运行,也即开始启动操作系统。引导程序(引导程序(bootloader)嵌入式bootloaderl在嵌入式系统中,通常并没有像 BIOS 那样的固件程序(注,有的嵌入式 CPU 也会内嵌一段短小的启动程序),因此整个系统的加载启动任务就完全由 Boot Loader 来完成。l系统在上电或复位时通常都从地址 0 x00000000 处开始执行,而在这个地址处安排的通常就是系统的 Boot Loader 程序。引导程序(引导程序(bootloader)嵌入式bootloader的作用与特点lBootloader的作用是初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适

9、的状态,以便为最终调用操作系统内核准备好正确的环境。lBoot Loader 是严重地依赖于硬件而实现的,不可能实现一个通用的bootloader。引导程序(引导程序(bootloader)Bootloader的实现:l由于 Boot Loader 的实现依赖于 CPU 的体系结构,因此大多数 Boot Loader 都分为 stage1 和 stage2 两大部分。l依赖于 CPU 体系结构的代码,比如设备初始化代码等,通常都放在 stage1 中,而且通常都用汇编语言来实现,以达到短小精悍的目的。l而 stage2 则通常用C语言来实现,这样可以实现给复杂的功能,而且代码会具有更好的可读性

10、和可移植性。引导程序(引导程序(bootloader)Boot Loader 的的 stage1 通常包括以下步骤通常包括以下步骤(以执行的先后顺序以执行的先后顺序):l硬件设备初始化 l为加载 Boot Loader 的 stage2 准备 RAM 空间 l拷贝 Boot Loader 的 stage2 到 RAM 空间中 l设置好堆栈 l跳转到 stage2 的 C 入口点 引导程序(引导程序(bootloader)Boot Loader 的的 stage2 通常包括以下步骤通常包括以下步骤(以执行的先后顺序以执行的先后顺序):l初始化本阶段要使用到的硬件设备 l检测系统内存映射(memo

11、ry map)l将 kernel 映像和根文件系统映像从 flash 上读到 RAM 空间中 l为内核设置启动参数 引导程序(引导程序(bootloader)常用的bootloader lBlob lRedboot 交叉编译环境的建立交叉编译环境的建立 l安装linux 服务器或windows 下的cygwin 环境 lGcc 和 glib c 的获取与安装 交叉编译环境的建立交叉编译环境的建立lLinux 服务器,通常选择 Redhat或Debian。安装成个人桌面、工作站和Server都可以。lCygwin 主要是针对在windows下建立交叉开发环境而提供的一种虚拟的unix模拟环境。交

12、叉编译环境的建立交叉编译环境的建立Cygwin 是Cygnus Solutions 公司开发的自由软件。l核心是写了一个共享库(cygwin.dll),把win32 API 没有的unix风格的调用(fork,signals,select)等封装在里面。也就是说基于win32API 写了一个unix系统库的模拟层。l下载网址:Http:/ 用于操作二进制文件的实用程序集合。它们包括诸如 ar、as、objdump、objcopy 这样的实用程序。lGcc GNU C 编译器。lGlibc 所有用户应用程序都将链接到的 C 库。避免使用任何 C 库函数的内核和其它应用程序可以在没有该库的情况下进

13、行编译。交叉编译环境的建立交叉编译环境的建立获取途径获取途径:一些比较流行的已预编译的工具链包括那些来自 Compaq(Familiar Linux)、LART(LART Linux)和 Embedian(基于 Debian 但与它无关)的工具链 所有这些工具链都用于基于 ARM 的平台。arm Linux 内核的构建内核的构建 l获取linux 内核 l根据需要选取arm linux patch 文件并安装patch l配置和编译内核 arm Linux 内核的构建内核的构建获得linux 内核与arm patch llinux 内核参考下载网址:linux/kernel/v2.4linux

14、-2.4.18-tar.gz 或 linux larm patch 参考下载网址:arm Linux 内核的构建内核的构建解压缩内核,打解压缩内核,打arm patch ltar xvzf linux-2.4.18.tar.gz 或 tar xvjf linuxcd linuxzcat ./patch-2.4.18-rmk1.gz|patch p1 l另一种打patch的方法:gzip patch-2.4.18-rmk1.gz 产生文件cd linux arm Linux 内核的构建内核的构建l内核编译过程 make mrpropermake target-devices_config (li

15、nux/arch/arm/def-config/mx1ads)make oldconfigmake depmake zImage将在 arch/arm/boot/下生成 zImage 内核文件。l随时可以通过 make menuconfig 或 make xconfig来配置内核。内核配置系统内核配置系统内核配置系统内核配置系统基本结构lMakefile:分布在 Linux 内核源代码中的 Makefile,定义 Linux 内核的编译规则 l配置文件(config.in):给用户提供配置选择的功能;l配置工具:包括配置命令解释器和配置用户界面(提供基于字符界面、基于 Ncurses 图形界面

16、以及基于 Xwindows 图形界面的用户配置界面,各自对应于 Make config、Make menuconfig 和 make xconfig)。内核配置系统内核配置系统Linux 内核中的 Makefile 以及与 Makefile 直接相关的文件 lMakefile:顶层 Makefile,是整个内核配置、编译的总体控制文件 l.config:内核配置文件,包含由用户选择的配置选项,用来存放内核配置后的结果(如 make config)larch/*/Makefile:位于各种 CPU 体系目录下的 Makefile,如 arch/arm/Makefile,是针对特定平台的 Make

17、file l各个子目录下的 Makefile:比如 drivers/Makefile,负责所在子目录下源代码的管理 lRules.make:规则文件,被所有的 Makefile 使用 内核配置系统内核配置系统顶层 Makefile 有两个主要的任务:l产生 vmlinux 文件l内核模块(module)为了达到此目的,顶层 Makefile 递归的进入到内核的各个子目录中,分别调用位于这些子目录中的 Makefile。嵌入式嵌入式linux的的root文件系统文件系统 几种主要的文件系统 lExt2 文件格式的ramdisklRomfs lCramfs 嵌入式嵌入式linux的的root文件系

18、统文件系统lmke2fs-vm0/dev/ram 4096 lmount-t ext2/dev/ram/mnt lcd/mnt lcp/bin,/sbin,/etc,/dev.files in mnt lcd./lumount/mnt ldd if=/dev/ram bs=1k count=4096 of=ext2ramdisk 嵌入式嵌入式linux的的root文件系统文件系统一些要包含在 Ramdisk 中的重要目录是:l/bin 保存大多数象 init、busybox、shell、文件管理实用程序等二进制文件l/dev 包含用在设备中的所有设备节点l/etc 包含系统的所有配置文件l/lib 包含所有必需的库,如 libc、libdl 等与硬件相关的重要内核目录与文件与硬件相关的重要内核目录与文件lLinux/arch/armlLinux/arch/arm/mach-mx1ads mach-sa1100lLinux/arch/arm/boot/compressed/head.SlLinux/include/asm-arm-asmlLinux/include/asm-arm/arch-mx1adsarchlLinux/include/asm/arch/hardware.h完完 谢谢!

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁