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





《微机原理及接口技术课件-CH.ppt》由会员分享,可在线阅读,更多相关《微机原理及接口技术课件-CH.ppt(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第11章章基于基于ARM的的嵌入式系统嵌入式系统软件软件设计技术设计技术1嵌入式系统软件结构嵌入式系统软件结构2基于嵌入式操作系统的软件开发技术基于嵌入式操作系统的软件开发技术1.常见的嵌入式操作系统常见的嵌入式操作系统2.引导程序的开发引导程序的开发:bootloader3.驱动程序的开发驱动程序的开发4.应用程序的开发应用程序的开发1/52n简单简单的嵌入式的嵌入式应应用用若嵌入式系统的功能需求比较简单,嵌入式系统软件只若嵌入式系统的功能需求比较简单,嵌入式系统软件只需完成较简单的监控、驱动和处理功能,则需完成较简单的监控、驱动和处理功能,则不需要嵌入式不需要嵌入式操作系统操作系统的支持
2、。的支持。如基于如基于8051的应用:玩具、家电、汽车等的控制系统的应用:玩具、家电、汽车等的控制系统n复复杂杂的嵌入式的嵌入式应应用用若嵌入式系统的功能需求比较复杂,需要图形用户界若嵌入式系统的功能需求比较复杂,需要图形用户界面、网络管理、存储管理、进程面、网络管理、存储管理、进程/线程管理或需要支持二线程管理或需要支持二次开发等,则通过次开发等,则通过嵌入式操作系统嵌入式操作系统的帮助,可以加快嵌入的帮助,可以加快嵌入式系统软件的开发进度和可靠性。式系统软件的开发进度和可靠性。如基于如基于ARM的应用:手机、的应用:手机、PDA复杂嵌入式系统软件的一般结构复杂嵌入式系统软件的一般结构ARM
3、+M+I/O硬件抽象层、底层封装、部分由硬件抽象层、底层封装、部分由OS提供提供 BOOTLOADER上电复位复杂嵌入式系统软件工作流程复杂嵌入式系统软件工作流程完成完成基本硬件模块基本硬件模块的初始化(如的初始化(如CPU寄存器初始寄存器初始化、化、RAM初始化、中断控制寄存器初始化初始化、中断控制寄存器初始化等),等),这由汇编代码完成。这由汇编代码完成。将将OS内核和用户文件映射(装入)至运行空间,内核和用户文件映射(装入)至运行空间,从从NANDFlash或或NORFlash装载至装载至RAM,或直接,或直接在在NORFlash上运行,一般用上运行,一般用C代码完成代码完成为为OS内核
4、设置启动参数,初始化必要的数据空间内核设置启动参数,初始化必要的数据空间等,之后调用内核(即跳转至内核的入口点),等,之后调用内核(即跳转至内核的入口点),系统完成启动过程,一般用系统完成启动过程,一般用C代码完成。代码完成。板级初始化引导系统引导系统 系统初始化应用初始化应用程序中多任务及其资源(如信号量、队列)应用程序中多任务及其资源(如信号量、队列)的创建,以及与应用相关的一些初始化工作。的创建,以及与应用相关的一些初始化工作。多任务运行OS执行用户应用程序(即跳转至应用程序的入口执行用户应用程序(即跳转至应用程序的入口点),一般为一个无限循环过程。这样,用户程点),一般为一个无限循环过
5、程。这样,用户程序在序在OS的管理和调度下运行。的管理和调度下运行。BootLoader完成完成n嵌入式嵌入式实时实时操作系统操作系统uRTlinuxuuC/OS IIuVxworks(wind river systems公司)公司)un嵌入式嵌入式非实时非实时操作系统操作系统 u嵌入嵌入Linux系统系统uWindows CE、Embedded windows xp(Microsoft公司)公司)uAndroid(基于(基于Linux内核,谷歌公司推出)内核,谷歌公司推出)u嵌入式操作系统嵌入式操作系统LINUX嵌入式操作系嵌入式操作系统统Linux是一个是一个免费免费的、的、源代码开放源代
6、码开放的操作系统;的操作系统;n1991年年11月,芬兰赫尔辛基大学的学生月,芬兰赫尔辛基大学的学生LinusTorvalds写了个小程序,写了个小程序,取名为取名为Linux,放在互联网上。他表达了一个愿望,希望借此搞出一个,放在互联网上。他表达了一个愿望,希望借此搞出一个操作系统的操作系统的“内核内核”来,这完全是一个偶然事件;来,这完全是一个偶然事件;n1993,在一批高水平黑客的参与下,诞生了,在一批高水平黑客的参与下,诞生了Linux1.0版版;n1994年,年,Linux的第一个商业发行版的第一个商业发行版Slackware问世;问世;n1996年,年,Linux版本版本获得美国国
7、家标准技术局的计算机系统实验室确认;获得美国国家标准技术局的计算机系统实验室确认;n2001年,年,Linux2.4版内核发布版内核发布;n2003年,年,Linux2.6版内核发布;版内核发布;n2010年,年,版内核发布;版内核发布;n几种流行的几种流行的LinuxOS发发行版本行版本引导程引导程序序BootLoadern是嵌入式系统在加电启动后执行的第一段代码,功能类似是嵌入式系统在加电启动后执行的第一段代码,功能类似pc机的机的BIOS,通常需要,通常需要固化固化在目标板中在目标板中(启动后,启动后,BootLoader必须映射到地址必须映射到地址0 x00000000处,这里存放的实
8、际为一条跳转处,这里存放的实际为一条跳转指令,指令,课本课本P232);n主要负责主要负责CPU、存储器及相关硬件的、存储器及相关硬件的初始化初始化,以及将,以及将装载操装载操作系统作系统映像到内存中,然后跳转到规定的地址映像到内存中,然后跳转到规定的地址启动操作系统启动操作系统运行。运行。Bootloader是是严严重重依依赖赖硬硬件件而而实实现现的的,每每一一种种不不同同体体系系结结构构的的处处理理器器都都有有不不同同的的Bootloader,甚甚至至同同一一种种处处理理器器的的外外围围硬硬件件配配置置不不同同,其其Bootloader也也有有差差别别。因因此此开开发发特特定定的的Boot
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微机 原理 接口 技术 课件 CH

限制150内