微机原理及接口技术课件-CH.ppt

上传人:牧羊曲112 文档编号:5975750 上传时间:2023-09-10 格式:PPT 页数:18 大小:363.50KB
返回 下载 相关 举报
微机原理及接口技术课件-CH.ppt_第1页
第1页 / 共18页
微机原理及接口技术课件-CH.ppt_第2页
第2页 / 共18页
微机原理及接口技术课件-CH.ppt_第3页
第3页 / 共18页
微机原理及接口技术课件-CH.ppt_第4页
第4页 / 共18页
微机原理及接口技术课件-CH.ppt_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《微机原理及接口技术课件-CH.ppt》由会员分享,可在线阅读,更多相关《微机原理及接口技术课件-CH.ppt(18页珍藏版)》请在三一办公上搜索。

1、第11章 基于ARM的嵌入式系统软件设计技术,嵌入式系统软件结构基于嵌入式操作系统的软件开发技术常见的嵌入式操作系统引导程序的开发:bootloader驱动程序的开发应用程序的开发,1/52,简单的嵌入式应用 若嵌入式系统的功能需求比较简单,嵌入式系统软件只需完成较简单的监控、驱动和处理功能,则不需要嵌入式操作系统的支持。如基于8051的应用:玩具、家电、汽车等的控制系统复杂的嵌入式应用 若嵌入式系统的功能需求比较复杂,需要图形用户界面、网络管理、存储管理、进程/线程管理或需要支持二次开发等,则通过嵌入式操作系统的帮助,可以加快嵌入式系统软件的开发进度和可靠性。如基于ARM的应用:手机、PDA

2、,复杂嵌入式系统软件的一般结构,ARM+M+I/O,硬件抽象层、底层封装、部分由OS提供,BOOTLOADER,上电复位,复杂嵌入式系统软件工作流程,完成基本硬件模块的初始化(如CPU寄存器初始化、RAM初始化、中断控制寄存器初始化等),这由汇编代码完成。,将OS内核和用户文件映射(装入)至运行空间,从NAND Flash或NOR Flash装载至RAM,或直接在NOR Flash上运行,一般用C代码完成,为OS内核设置启动参数,初始化必要的数据空间等,之后调用内核(即跳转至内核的入口点),系统完成启动过程,一般用C代码完成。,板级初始化,引导系统,系统初始化,应用初始化,应用程序中多任务及其

3、资源(如信号量、队列)的创建,以及与应用相关的一些初始化工作。,多任务运行,OS执行用户应用程序(即跳转至应用程序的入口点),一般为一个无限循环过程。这样,用户程序在OS的管理和调度下运行。,嵌入式实时操作系统RTlinuxuC/OS IIVxworks(wind river systems公司)嵌入式非实时操作系统 嵌入Linux系统Windows CE、Embedded windows xp(Microsoft公司)Android(基于Linux内核,谷歌公司推出),嵌入式操作系统,LINUX 嵌入式操作系统,Linux是一个免费的、源代码开放的操作系统;,1991年11月,芬兰赫尔辛基大

4、学的学生 Linus Torvalds写了个小程序,取名为Linux,放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的“内核”来,这完全是一个偶然事件;1993,在一批高水平黑客的参与下,诞生了Linux 1.0 版;1994年,Linux 的第一个商业发行版 Slackware 问世;1996年,Linux 版本 获得美国国家标准技术局的计算机系统实验室确认;2001年,Linux2.4版内核发布;2003年,Linux2.6版内核发布;2010年,版内核发布;,几种流行的Linux OS发行版本,引导程序BootLoader,是嵌入式系统在加电启动后执行的第一段代码,功能类似pc

5、机的BIOS,通常需要固化在目标板中(启动后,BootLoader必须映射到地址0 x00000000处,这里存放的实际为一条跳转指令,课本P232);主要负责CPU、存储器及相关硬件的初始化,以及将装载操作系统映像到内存中,然后跳转到规定的地址启动操作系统运行。Bootloader是严重依赖硬件而实现的,每一种不同体系结构的处理器都有不同的Bootloader,甚至同一种处理器的外围硬件配置不同,其Bootloader也有差别。因此开发特定的Bootloader是构建嵌入式linux系统之前的一项必要的基础工作。,Bootloader的开发,Stage1(汇编实现)基本硬件设备初始化:CPU

6、时钟频率,寄存器,存储器数据宽度、访问周期、刷新周期,中断系统,I/O端口等;为第二阶段准备RAM空间,设置堆栈;复制第二阶段代码到RAM中,并跳转到第二阶段入口点Stage2(C实现)初始化本阶段要使用到的硬件设备,实现对板级驱动的支持;检测系统内存映射;将内核映像和根文件系统从flash读到RAM中;为内核设置启动参数;将PC指针指向内核的入口处,调用内核。,Linux 环境下BootLoader种类,u-boot,uboot全称 Universal Boot Loader,支持ARM体系等多种处理器,包含常见的外设的驱动,是一个开源的、功能强大的板极支持包;由德国DENX软件工程中心创建

7、并维护。u-boot主要包括以下目录:include:U-Boot头文件,其configs子目录下是与目标板相关的配置头文件;board:目标板相关文件,包含SDRAM、Flash驱动等;cpu:与处理器相关文件,如网口、中断初始化等;lib_xxx:处理器体系相关的文件,如lib_ppc,lib_arm目录分别包含与PowerPC、ARM体系结构相关的文件;driver:通用设备驱动,如CFI FLASH驱动;net:与网络功能相关的文件目录,如bootp,nfs,tftp;post:上电自检文件目录。doc:U-Boot的说明文档;examples:可在U-Boot下运行的示例程序;too

8、ls 用于创建U-Boot S-RECORD和BIN镜像文件的工具,S3C2440启动方式(采用BootLoader启动),韩国三星公司的S3C2440支持Nor Flash和Nand Flash启动,可以通过硬件跳线(引脚OM1:0)设置启动方式。具体含义如下:OM1:0=00时,处理器从NAND Flash启动OM1:0=01时,处理器从16位宽度的Nor Flash启动OM1:0=10时,处理器从32位宽度的Nor Flash启动OM1:0=11时,处理器从Test Mode启动,S3C2440 Nand Flash启动过程:,在系统上电后,Nand Flash控制器会自动的把Nand

9、Flash上的前4K U-BOOT数据(stage1)搬移到内部SRAM的地址最低端(此SRAM被称为Steppingstone);,CPU从内部RAM的0 x00000000位置开始启动并在uboot前4K启动代码里完成S3C2440的核心配置,然后把U-BOOT剩余部分(stage2)搬到RAM中运行;,基于嵌入式LINUX的设备驱动程序,驱动程序是操作系统内核与硬件设备之间的接口,驱动程序屏蔽了硬件的细节,完成以下功能:对设备初始化和释放;对设备进行管理;读取应用程序传送给设备文件的数据或者回送应用程序请求的数据;检测和处理设备出现的错误。Linux系统将设备分为三种基本的设备类型,每一

10、种类型的设备对应着不同形式的驱动,这三种设备分别为字符设备,块设备和网络设备,。Linux的内核就是由各种驱动组成的,内核源码中大约有85%是各种驱动程序的代码,可在同类驱动的基础上进行修改以符合具体的单板。,LINUX的设备驱动程序开发流程,编写一个Linux设备驱动程序流程大致如下:查看原理图、数据手册,了解设备操作方法;在Linux内核中找到相近的驱动程序,以它为模板进行开发,有时候需要从零开始;实现驱动程序的初始化:如向内核注册驱动程序,这样应用程序传入文件名时,内核才能找到相应驱动程序;设计所要实现的操作,如open(),close(),read(),wirte()等函数;实现中断服务(如果有中断操作);编译或用命令加载该驱动程序到内核;驱动程序的测试。,本章要求,理解嵌入式软件系统的结构及功能;理解系统引导加载(bootloader)技术;了解嵌入式操作系统(Linux)的任务、性能指标及移植技术;了解嵌入式操作系统下的驱动开发流程;,本章内容对应实验4,有关linux安装、使用及交叉编译环境建立参见“实验平台基础讲解PPT”和“实验手册”(已上传至课件空间),第11章 练习,*,17/52,思考:1、2、3、6,登录下载1、本课程所有课件2、本课程所有习题答案3、实验平台Linux+RVDS2.2使用讲解4、实验指导书5、教材勘误及其它内容,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号