嵌入式系统复习资料课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《嵌入式系统复习资料课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 系统 复习资料 课件
- 资源描述:
-
1、1嵌入式系统复习2提纲一嵌入式系统概述二开发系统及开发环境的建立三嵌入式系统的Boot Loader技术四ARM Linux内核五嵌入式文件系统六嵌入式设备驱动七嵌入式GUI3一. 嵌入式系统概述41.1 嵌入式系统介绍l根据IEEE的定义,嵌入式系统是控制、监视或者辅助设备、机器和车间运行的装置l通俗来讲,嵌入式系统是以应用为中心,以计算机技术为基础,采用可剪裁软硬件,适用于对功能、可靠性、成本、体积、功耗等有严格要求的专用计算机系统5l一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成 61.2 嵌入式系统设计 l嵌入式系统的设计可以分成三个阶段:分析、设计
2、和实现(例如心电监测报警器)l分析:监测心电,异常状态识别,鸣叫、短信报警l设计:供电系统,电极,信号放大调理,处理器,自动语音播放,短信模块l实现:电路板设计,软件系统编程,机壳设计等7l硬件和软件的选择包括:l处理器(如51、ARM)l硬件部件(如运放、短信模块)l操作系统(如uC/OS-II、WinCE)l编程语言(如汇编、C)l软件开发工具(Keil、ADS)l硬件调试工具(如Wiggler下载线、ULink)l软件组件(如LWIP、JFFS)81.3 嵌入式微处理器ARM lARM微处理器及技术的应用已经深入到各个领域:l工业控制领域 l无线通讯领域 l网络应用 l消费类电子产品 l
3、成像和安全产品 9lRISC架构的ARM微处理器一般具有如下特点: l体积小、低功耗、低成本、高性能l支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件l大量使用寄存器,指令执行速度快l大多数数据操作都在寄存器中完成l寻址方式灵活简单,执行效率高l采用固定长度的指令格式 101.4 嵌入式操作系统 l嵌入式LinuxlWindows CElSymbianlVxWorksl111.5 嵌入式系统开发 l嵌入式系统的开发过程 :121.5.1 交叉编译与链接 l交叉编译器和交叉链接器是能够在宿主机上运行,并且能够生成在目标机上直接运行的二进制代码的编译器和链接器 l基
4、于ARM体系结构的gcc交叉开发环境中,arm-linux-gcc是交叉编译器,arm-linux-ld是交叉链接器 l嵌入式系统在链接过程中通常都要求使用较小的函数库,如uClibc、uClibm 和newlib等 131.5.2 远程调试 l一般而言,远程调试过程的结构如图:14二.开发系统及开发环境的建立152.1 JEA2440开发系统lCPU:Samsung S3C2440,ARM920T内核,主频400MHz,最高可达533MHzlFLASH:NandFlash 64MB,NorFlash 2MBlSDRAM:2x32MB 16-bit SDRAM,共64MBlLCD、触摸屏、US
5、B、SD卡、IIS音频、CS8900扩展10M网络、串口、PS/2、JTAG等接口162.2 开发环境的建立l硬件开发环境的建立l适用的开发板及配套电源lJTAG工具(下载线、HJTAG调试代理)l并口、串口、USB、网线等连接线l软件开发环境的建立lADS、Keil、armGCC等lBootLoader的实现l操作系统(内核、文件系统)的实现l上层软件开发环境,如图形界面生成器Glade172.2.1 宿主机-目标机开发模式JTAG/USB182.2.2 BootLoader lLILOlGRUBlU-BOOTlVIVI192.3 宿主机环境lWindows环境lADS:用于编译BootLo
6、aderlHJTAG:调试代理l串口调试助手lDNWlLinux环境lBOOTP协议 lTFTP协议 l交叉编译 lMake工具 202.4 Make工具io.hread.cmain.cwrite.cread.omain.owrite.otest21l基本规则 :目标、依赖关系、指令test: main.o read.o write.o gcc o test main.o read.o write.omain.o : io.h main.c gcc c main.cread.o : io.h read.c gcc c read.cwrite.o : io.h write.c gcc c wri
7、te.c22三.嵌入式系统的Boot Loader技术233.1 Boot Loader程序的基本概念lBoot Loader就是在操作系统内核运行之前运行的一段小程序 l初始化硬件设备和建立内存空间的映射图 l将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境 l系统的Boot Loader程序通常安排在地址0 x00000000 处 242440的NAND Flash控制器框图25内部内部SRAM映映射到射到0地址,地址,硬件逻辑自硬件逻辑自动从动从NAND读读取取4KB代码代码进来并执行,进来并执行,启动完后用启动完后用户自行决定户自行决定用途用途不从不从N
8、AND启启动时,映动时,映射到此处,射到此处,用户自行用户自行决定用途决定用途Memory Mapping263.2 Boot Loader的典型结构框架l操作系统的角度看,Boot Loader的总目标就是正确地调用内核来执行 l大多数Boot Loader都分为阶段1和阶段2两大部分 l阶段1实现依赖于CPU体系结构的代码 l阶段2实现一些复杂的功能 273.3 BootLoader的宿主机-目标机连接USB:下载程序:下载程序RS232:人机交互:人机交互283.4 裸板如何烧写BootLoaderl烧写NAND:JTAG下载线+SJF244029l烧写NOR:JTAG下载线+HJTAG
9、30四. ARMLinux 内核314.1 ARM-Linux内存管理 l操作系统的基本功能:1.处理器管理(即管理cpu)2.存储器管理(管理内存)3.设备管理(管理其它外设,比如打印机)4.作业管理(如何完成用户交给的任务)5.文件管理(管理用户的文件)324.2任务、进程和线程33l任务、进程和线程l任务(task)指由软件完成的一个活动。一个任务既可以是一个进程,也可以是一个线程。l进程(process)常常被定义为程序的执行。可以把一个进程看成是一个独立的程序,在内存中有其完备的数据空间和代码空间。一个进程所拥有的数据和变量只属于它自己。l线程(thread)则是某一进程中一路单独运
10、行的程序。线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位.34l任务、进程和线程的区别与联系l一个程序至少有一个进程,一个进程至少有一个线程。l进程间是独立的,这表现在内存空间,上下文环境;线程运行在进程空间内。 l一般来讲(不使用特殊技术)进程是无法突破进程边界存取其他进程内的存储空间;而线程由于处于进程空间内,所以同一进程所产生的线程共享同一内存空间。l同一进程中的两段代码不能够同时执行,除非引入线程。 l线程是属于进程的,当进程退出时该进程所产生的线程都会被强制退出并清除。 l线程占用的资源要少于进程所占用的资源。 l进程和线程都可以有优先级。
11、l堆栈是每个线程一个,所以局部变量对每一线程来说是私有的。 354.3 ARM存储管理机制存储管理机制单层,单层,段(段(section)映射映射 大小:大小:1MB地址映射地址映射二层二层页面映射页面映射大页面大页面:64KB小页面小页面:4KB细小页面细小页面:1KB360 x2000000000000 x2000000000000 x0000000000000 x0000000000000 xFFFFFFFFFFFF0 xFFFFFFFFFFFF低20位物理地址高12位确定映射表位置一、初始:一、初始:32位位CPU虚拟地址虚拟地址二、映射:段映射表(二、映射:段映射表(4096个表项)
展开阅读全文