嵌入式交叉开发环境的搭建课案.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 主要内容: (1)嵌入式ARM-Linux平台的体系结构; (2)交叉开发的相关概念与工具软件; (3)嵌入式Linux开发的NFS配置; 北华航天工业学院 房好帅 fanghaoshuai@ 第1部分 嵌入式交叉开发环境的搭建(1) 能够正确编译嵌入式ARM-Linux版本的“helloworld”程序并运行 能力目标: 1.1 嵌入式ARM-Linux平台的体系结构 嵌入式ARM-Linux系统的硬件构成以处理器为核心,扩展内存、外存、接口电路、电源电路、外部设备构成: 北华航天工业学院 房好帅 fanghaoshuai@ S3C2440处理器SoC芯片,包括ARM9 CPU、一些外设接口,通过芯片内部总线AHB、APB总线连接: 北华航天工业学院 房好帅 fanghaoshuai@ 比如实验室采用的开发板,主要硬件构成为: (1)S3C2440片上SDRAM控制器接口连接2片内存芯片,H57V2562GTR-60C,共计128MB (4)由于处理器芯片没有集成网卡接口,故需要扩展连接DM9000芯片,该芯片片选直接接在nGCS4,故可通过00址访问其中的数据、命令寄存器;(处理器没有集成的接口需要扩展) (2)S3C2440片上NandFlash控制器接口连接1片K9F2G08U0B作为外存,256MB容量; (3)片上LCD、TS控制器接口连接4.3寸 TFT LCD,分辨率480×272(外部设备); 北华航天工业学院 房好帅 fanghaoshuai@ S3C2440芯片集成了ARM920T核的CPU,需要关注其主要特性为: (1)5级指令流水线,指令、数据高速缓存都为16KB; (4)具备响应中断能力及其Tick时钟; 鉴于以上特点,该芯片支持现代操作系统的特性,故可以移植Linux操作系统在其硬件运行。 (2)具备MMU,支持页表及内存访问权限; (3)不同的工作状态:用户模式、特权模式; 北华航天工业学院 房好帅 fanghaoshuai@ (5)具备相关指令实现多任务互斥; 对于ARM9系列的处理器: (1)ARM公司负责设计CPU核心,不生产芯片,官方网站可以下载ARM920T Technical Reference Manual文档,详细描述了ARM9 CPU的特征; (2)S3C2440是SAMSUNG生产的ARM9处理器,购买了ARM9的设计,在CPU基础上增加了一些常见外设接口,集成在一个芯片上形成SoC,芯片的Data Sheet可以从SAMSUNG官网得到; 要想深入获取某个ARM芯片的详细信息,这两个文档是权威资料! 北华航天工业学院 房好帅 fanghaoshuai@ 硬件平台上运行的软件系统存储在外存,包括3部分: (1)bootloader(引导加载程序) 系统加电启动运行的一段程序,初始化设置处理器工作状态、系统时钟、内存、外存、串口、网口等必要的部件,将Linux内核从外存拷贝到内存,传递参数并启动内核; u-boot是现阶段最著名的开源bootloader,必须根据嵌入式硬件平台修改代码并编译才能运行,这个过程称为软件移植; 北华航天工业学院 房好帅 fanghaoshuai@ (2)linux kernel (内核) 内核实现了操作系统的核心功能,包括进程管理,存储管理,虚拟文件系统,网络协议等; 北华航天工业学院 房好帅 fanghaoshuai@ Linux内核源代码可以从下载,不能直接应用于ARM平台,必须经过移植: (1)与体系结构相关的代码,大多数是采用汇编语言编写,需要按照目标平台进行修改; (2)内核中大量的代码为设备驱动程序,需要根据开发的系统进行修改与剪裁; 所幸的是,u-boot、kernel中已经有了目标平台的参照,比如samsung官方的开发板相关的代码,对比其中的不同,可以进行修改。 北华航天工业学院 房好帅 fanghaoshuai@ (3)file system (文件系统) Linux文件系统即用户可以操作的目录结构与文件,嵌入式系统需要根据具体情况进行文件系统的剪裁; (2)内核模块:Linux内核为单体结构,但提供了加载内核模块的机制,一些设备驱动以模块的形式视具体情况添加到文件系统中; 文件系统中需要剪裁的项目: (1)共享库:glibc库一般是必须的,比如系统需要用户界面,需要将Qt界面库加入进来; 北华航天工业学院 房好帅 fanghaoshuai@ 开源项目busybox可以进行编译生成供嵌入式Linux使用的文件系统。 1.2 交叉工具链与交叉开发环境 北华航天工业学院 房好帅 fanghaoshuai@ PC机软件开发从“源码程序”到“机器码文件”的过程,一般在本机编写代码,本机调试,本

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档