嵌入式系统设计论文解读(五篇)

第一篇:嵌入式系统设计论文解读
嵌入式系统设计论文
专
业:
电子信息工程(信号处理)
班
级:
姓
名:
指导教师:
评
分:
年
月 日
【摘要】
当今信息时代,嵌入式系统的应用无处不在,而ARM嵌入式系统应用市场份额约占75%。从嵌入式系统的基本概念入手,分别从ARM的定义、ARM微处理器、ARM开发工具及调试方法来介绍ARM嵌入式系统基础知识。接着,讨论了ARM嵌入式系统的实时性要求,介绍了目前市场上的实时多任务操作系统(RTOS)。最后,概括了ARM技术的应用领域及其产业化发展,并预测ARM技术发展的前景。
关键词:嵌入式系统;ARM;微处理器;RTOS
目录
1.引言......................................................................1 2.嵌入式系统................................................................1 2.1 2.2
...................................................1...................................................1 3.ARM嵌入式系统............................................................2 3.1 什么是ARM.........................................................2 3.2 ARM3.3 ARM3.4 ARM3.5 ARM
.............................................2.................................................3
.............................................3
...................................4 4.ARM嵌入式系统的实时性要求................................................5 4.1 嵌入式系统软件需要RTOS
....................................5 4.2 RTOS...............................................................6 5.嵌入式系统的信息产业化发展.................................................6 5.1 ARM
.................................................6 5.2 嵌入式系统产业化发展.................................................7 6......................................................................7 参考文献.....................................................................8
1.引言
随着计算机技术、网络技术和微电子技术的深入发展,嵌入式系统的应用无处不在。
ARM是目前公认的业界领先的32位嵌入式RISC(精简指令计算机)微处理器。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。
本文从实际出发,首先介绍嵌入式系统的基本概念,随之重点阐述了由ARM微处理器构成的嵌入式系统(简称ARM嵌入式系统)的基础知识,最后分析了ARM技术的产业化发展过程及发展趋势。.嵌入式系统
2.1
嵌入式系统的英文叫做Embedded System,是一种包括硬件和软件的完整的计算机系统,但又跟通用计算机系统不同。嵌入式系统的定义是:“嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可剪裁,适用于应用系统对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统。”嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不能具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。
2.2
嵌入式系统作为一类特殊的计算机系统,自底向上包含有3个部分,如图1所示。
(1)硬件环境:是整个嵌入式操作系统和应用程序运行的硬件平台,硬件平台包括嵌入式处理器和外围设备。嵌入式处理器是嵌入式系统的核心,是控制、辅助系统运行的硬件单元。
(2)嵌入式操作系统:完成嵌入式应用的任务调度和控制等核心功能。具有内核较精简、可配置、与高层应用紧密关联等特点。嵌入式操作系统具有相对 不变性。
(3)嵌入式应用程序:运行于操作系统之上,利用操作系统提供的机制完成特定功能的嵌入式应用。不同的系统需要设计不同的嵌入式应用程序。.ARM嵌入式系统
3.1 什么是ARM
ARM是Advanced RISC Machines的缩写,是微处理器行业的一家知名企业,该企业设计了大量廉价、高性能、低功耗的RISC
ARM技术有很好的性能和功效,其合作伙伴包括世界许多顶级的半导体公司。目前,共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、PHILIPS和国家半导体这样的大公司。可以说,ARM不仅仅代表一个公司,代表了一类微处理器,代表了一种技术,还代表了一种新型的产业发展模式。
3.2 ARM处理器核系列及应用
ARM公司开发了一系列ARM处理器核。目前最新的系列已经是ARM11了。ARM6及更早的系列已经罕见了,ARM7以后的核也不是都获得广泛应用。目前应用最多的是ARM7系列、ARM9系列、ARM9E系列、ARM10系列、SecurCore系列、Intel的StrongARM、XScale
ARM7系列:包括ARM7TDMI、ARM7TDMI-S、带有高速缓存处理器宏单元的ARM720T和扩充了Iazelle 的ARM7EJ-S。该系列广泛应用于多媒体和嵌入式设备,包括Internet设备、网络和调制解调器设备以及移动电话、PDA等无线设备。
ARM9系列:包括ARM9TDMI、ARM920T和带有高速缓存处理器宏单元的ARM940T。该系列主要应用于引擎管理、仪器仪表、安全系统、机顶盒、高端打印机、PDA、网络电脑以及带有MP3音频和MPEG4视频多媒体格式的智能电话
ARM9E系列:为综合处理器,包括ARM926EJ-S、带有高速缓存处理宏单元的ARM966E-S/ARM946E-S。该系列强化了数字信号处理功能,可应用于需要DSP与微控制器结合使用的情况,将Thumb技术和DSP都扩展到ARM指令集中,并 具有EmbeddedICE-RT
ARM10系列:包括ARM1020E和ARM1020E微处理器核。其核心在于使用向量浮点(VFP)单元VFP10提供高性能的浮点解决方案,从而极大地提高了处理器的整型和浮点运算性能,为用户界面的2D和3D图形引擎应用夯实基础,SecurCore系列:包括SC100、SC110、SC200和SC210处理器核。该系列主要针对新兴的安全市场,以一种全新的安全处理器设计为智能卡和其他安全IC开发提供独特的32位系统设计,并具有特定的反伪造方法,从而有助于防止对
StrongARM系列:StrongARM处理器将Intel处理器技术和ARM体系结构融
Xscale系列:提供全性能、高性价比和低功耗的解决方案,支持16位Thumb指令和DSP指令。
3.3 ARM微处理器的特点
采用RISC体系架构的ARM微处理器一般有如下特点:(1)体积小、低功耗、低成本、高性能;
(2)支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
(3)大量使用寄存器,指令执行速度更快;(4)大多数数据操作都在寄存器中完成;(5)寻址方式灵活简单,执行效率高;(6)指令长度固定。
3.4 ARM微处理器的指令结构
ARM微处理器在较新的体系结构中支持两种指令集:ARM指令集和Thumb指令集。其中,ARM指令为32位的长度,Thumb指令为16位长度。Thumb指令集为ARM指令集的功能子集,但与等价的ARM代码相比较,可节省30%-40%以上的存储空间,同时具备32位代码的所有优点。
3.5 ARM嵌入式系统开发工具及调试方法
ARM处理器产品作为一种高性能、低功耗的处理器产品,现在已经得到广泛的应用。
ARM开发工具也因此得到发展,除ARM公司自己推出ARM集成开发工具外,还有一些公司也研发ARM开发工具。目前市场上有ARM SDT、ARM ADS、MULTI 2000、Hitools for ARM、Embest IDE for ARM五种集成开发环境。这些产品在国内有相对较畅通的销售渠道,用户容易购买。前三种由国外厂商出品,历史比较悠久,在全球范围内应用较为广泛,后两种由国内厂商推出,具有很高的性价比。
ARM应用软件的开发工具根据功能的不同,分别有编译软件、汇编软件、链接软件、调试软件、嵌入式实时操作系统、函数库、评估板、JTAG仿真器、在线仿真器等。
用户选用ARM处理器开发嵌入式系统时,选择合适的开发工具可以加快开发进度,节省开发成本。因此一套含有编辑软件、编译软件、汇编软件、链接软件、调试软件、工程管理及函数库的集成开发环境(IDE)一般来说是必不可少的,至于嵌入式实时操作系统、评估板等其他开发工具则可以根据应用软件规模和开发计划选用。目前常见的调试方法有以下几种。
(1)指令集模拟器。
部分集成开发环境提供了指令集模拟器,可方便用户在PC机上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户使用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,(2)驻留监控软件。
驻留监控软件(Resident Monitors)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通讯端口与驻留监控软件进行交互,由调试软件发布命令通知驻留监控软件控制程序的执行、读写存储器、读写寄存器、设置断点等。
驻留监控软件是一种比较低廉有效的调试方式,不需要任何其他的硬件调试和仿真设备。ARM公司的Angel就是该类软件,大部分嵌入式实时操作系统也是采用该类软件进行调试,不同的是在嵌入式实时操作系统中,驻留监控软件是作为操作系统的一个任务存在的。
驻留监控软件的不便之处在于它对硬件设备的要求比较高,一般在硬件稳定之后才能进行应用软件的开发,同时它占用目标板上的一部分资源,而且不能对 程序的全速运行进行完全仿真,所以对一些要求严格的情况不是很适合。
(3)JTAG仿真器。
JTAG仿真器也称为JTAG调试器,是通过ARM芯片的JTAG边界扫描口进行调试的设备。JTAG仿真器比较便宜,连接比较方便,通过现有的JTAG边界扫描口与 ARM CPU 核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。另外,由于JTAG调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、AC和DC参数不匹配,电线长度的限制等被最小化了。使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调试方式。目前国际市场上较流行的两种JTAG仿真器:EPI公司的JEENI和ARM公司的Multi-ICE。
(4)在线仿真器。
在线仿真器使用仿真头完全取代目标板上的CPU,可以完全仿真ARM芯片的行为,提供更加深入的调试功能。但这类仿真器为了能够全速仿真时钟速度高于100MHz的处理器,通常必须采用极其复杂的设计和工艺,因而其价格比较昂贵。在线仿真器通常用在ARM的硬件开发中,在软件的开发中较少使用,其价格高昂也是在线仿真器难以普及的因素。
另外国际市场上较流行的有两种JTAG仿真器:EPI公司的JEENI和ARM公司的Multi-ICE。
4.ARM嵌入式系统的实时性要求
4.1 嵌入式系统软件需要RTOS开发平台
通用计算机具有完善的操作系统和应用程序接口(API),是计算机基本组成不可分离的一部分,应用程序的开发以及完成后的软件都在OS平台上面运行,但一般不是实时的。嵌入式系统则不同,应用程序可以没有操作系统直接在芯片上运行;但是为了合理地调度多任务、利用系统资源、系统函数以及和专家库函数接口,用户必须自行选配RTOS开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。
4.2 RTOS
RTOS是英文Real Time multi-tasking Operation System的缩写,即实时多任务操作系统。它是嵌入式应用软件的基础和开发平台。目前在中国大多数嵌入式软件开发还是基于处理器直接编写,没有采用商品化的RTOS,不能将系统软件和应用软件分开处理。RTOS最关键的部分是实时多任务内核,它的基本功能包括任务管理、定时器管理、存储器管理、资源管理、事件管理、系统管理、消息管理、队列管理、旗语管理等,这些管理功能是通过内核服务函数形式交给用户调用的,也就是RTOS的API。RTOS的引入,对嵌入式软件的标准化和加速知识创新是一个里程碑。
5.嵌入式系统的信息产业化发展
5.1 ARM技术的应用领域
现在,嵌入式技术无处不在,ARM几乎成为嵌入式技术的代名词。作为一种16/32位高性能、低成本、低功耗的嵌入式RISC微处理器,ARM微处理器目前已经成为应用广泛的嵌入式微处理器。ARM微处理器及技术的应用几乎已经深入到各个领域。
(1)工业控制领域:作为32位的RISC架构,基于ARM核的微控制器芯片不但占据了高端微控制器市场的大部分市场份额,同时也逐渐向低端微控制器应用领域扩展,ARM控制器的低功耗、高性价比,向传统的8位/16位微控制器提出了挑战。
(2)无线通讯领域:目前已有超过85%的无线通讯设备采用了ARM技术,ARM以其高性能和低成本,在该领域的地位日益巩固
(3)网络应用:随着宽带技术的推广,采用ARM技术的ADSL芯片正逐步获得竞争优势。此外,ARM在语音及视频处理上进行了优化,并获得广泛支持,也对DSP的应用领域提出了挑战。
(4)消费类电子产品:ARM技术在目前流行的数字音频播放器、数字机顶盒和游戏机中得到广泛应用。
(5)成像和安全产品:现在流行的数码相机和打印机中绝大部分采用ARM技术。手机中的32位SIM智能卡也采用了ARM技术。除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。
5.2 嵌入式系统产业化发展
市场需求为嵌入式系统产业化发展注入巨大推动力。嵌入式系统的市场是巨大的,市场需求是嵌入式系统产业化发展的巨大推动力。据报告,10%~20%的计算机芯片是为台式或便携式电脑设计的,80%~90%的计算机芯片是为嵌入式设备设计的,这意味着每年有10亿至20亿个CPU是为嵌入式设备设计制造的。2003年,全球嵌入式系统产品的产值已达2000亿美元,估计全世界嵌入式系统产品潜在的市场将超过10 000亿美元。世界范围内嵌入式系统带来的工业年产值已超过了1万亿美元。
6.随着半导体工艺技术的发展及系统设计水平的提高,ARM技术将会不断的变化和进步,ARM技术的应用领域会再次扩大,ARM技术带来的工业产值将会剧增,ARM技术产品的市场前景更加美好。总之,ARM技术的不断创新会给人类社会生活带来奇迹和享受。
参考文献
[1]ARM公司.ARM Architecture Reference Manual[M].ARM公司,2000.[2]周立功.ARM嵌入式系统基础教程[M].北京:北京航空航天大学出版社,2005.[3]郑文波,曹金安.嵌入式系统的产业化发展——市场、技术与前景[J].自动化博览,2005,(1):17.[4]罗蕾.嵌入式实时操作系统及应用开发[M].北京:北京航空航天出版社,2005.[5]中国计算机学会微机专业委员会.2004中国计算机科学技术年度发展报告——嵌入式系统部分[EB/OL].读书的好处
1、行万里路,读万卷书。
2、书山有路勤为径,学海无涯苦作舟。
3、读书破万卷,下笔如有神。
4、我所学到的任何有价值的知识都是由自学中得来的。——达尔文
5、少壮不努力,老大徒悲伤。
6、黑发不知勤学早,白首方悔读书迟。——颜真卿
7、宝剑锋从磨砺出,梅花香自苦寒来。
8、读书要三到:心到、眼到、口到
9、玉不琢、不成器,人不学、不知义。
10、一日无书,百事荒废。——陈寿
11、书是人类进步的阶梯。
12、一日不读口生,一日不写手生。
13、我扑在书上,就像饥饿的人扑在面包上。——高尔基
14、书到用时方恨少、事非经过不知难。——陆游
15、读一本好书,就如同和一个高尚的人在交谈——歌德
16、读一切好书,就是和许多高尚的人谈话。——笛卡儿
17、学习永远不晚。——高尔基
18、少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向
19、学而不思则惘,思而不学则殆。——孔子
20、读书给人以快乐、给人以光彩、给人以才干。——培根
第二篇:基于嵌入式Linux的磁场测量系统的设计解读
基于嵌入式Linux的磁场测量系统的设计
摘要:实现了一种全集成可变带宽中频宽带低通滤波器,讨论分析了跨导放大器-电容(OTA—C)连续时间型滤波器的结构、设计和具体实现,使用外部可编程电路对所设计滤波器带宽进行控制,并利用ADS软件进行电路设计和仿真验证。仿真结果表明,该滤波器带宽的可调范围为1~26 MHz,阻带抑制率大于35 dB,带内波纹小于0.5 dB,采用1.8 V电源,TSMC 0.18μm CMOS工艺库仿真,功耗小于21 mW,频响曲线接近理想状态。关键词:Butte 1 引言
随着科技的发展,嵌入式操作系统在越来越多的领域发挥着重要的作用,目前已成为产品技术水平的标志之一。其中Linux因为其拥有开放性、多用户、多任务、良好的用户界面、丰富的网络功能、可靠的系统安全和良好的可移植等特性被广泛的应用到仪器测量设备中。
传 统的磁场测量设备(持斯拉计、高斯计)普遍存在精度低(典型测量精度为1.5%)、操作不便等缺点。本文提出一种基于嵌入式Linux的中频磁场测量系 统,它不但可以满足当前磁场测量数据采集的需要,还因为其嵌入了操作系统Linux,使具有可靠性好、升级方便的特点,既提高了磁场测量的准确性,又为仪 器的功能升级带来便利。可应用于实验室仪器,医疗仪器,姿态控制,安全检测等需磁场检测的领域。2 磁场测量系统的硬件结构
磁场测量系统在硬件结构上采用ARM9作为控制器,与信号放大、整流滤波、程控放大等硬件构成了整个磁场测量系统。而且,测量系统还搭配了USB、RS232、以太网通信接口,系统通讯能力强,可实现网络连网功能。其硬件结构如图1所示。
ARM9 嵌入式处理器采用三星公司的$3C2410。S3C2410是基于ARM920T内核的16/32位RISC嵌入式微处理器,主要面向手持设备以及高性价 比,低功耗的应用。它采用5级流水线和全性能的MMU,同时该芯片集成了大量的功能扩展单元,例如LCD控制器、I2C总线、触摸屏接口、USB接口等。强大的芯片功能简化了系统设计,不但缩小了系统体积,而且提高了系统的可靠性。
USB、RS232和以太网接口可为系统提供不同的通信方式,适合不同测量环境和条件,以太网接口还可实现系统联网功能。
在磁场测量系统中,可使用触摸屏简便地对系统进行控制,实现不同显示方式切换、参数设置和测量数据保存等功能。
磁场测量电压信号部分,由磁场传感器得到微弱的电压信号,经放大整流等措施后输入控制系统。
报警输出可实现用户自设定报警的上下限值,方便用户测量现场的监控。磁场测量系统前端信号处理模块
磁场测量系统前端传感器采用的测量方法为电磁感应法。电磁感应法是将测量线圈置入交变磁场中,根据法拉第电磁感应定律在线圈的引线间会产生感应电动势,并且感应电动势的大小与穿过线圈的磁通量的大小成正比。感应电动势e为: 测量系统前端信号处理模块的结构如图2所示。
(1)为了实现多路磁场传感器的信号输入,设计中采用片选芯片74HCl5进行通道的选择。通过对74HCl53控制端S0,Sl输入不同的数据组合(00,1O,0l,11),输出端lY和2Y就可实现不同输入通道的选择。
(2)在整个系统的电路设计中,前置放大电路的主要作用是将传感器输出的、和磁场强度成正比的微弱电压信号放大。根据其要求,设计的前置放大电路采用了差动放大的方式,电路如图3所示。它具有高共模抑制比、输入阻抗高、输出阻抗低、失调小、温漂小、线性好等优点。
第三篇:嵌入式系统设计报告
嵌入式系统设计实验报告
班 级:学 号:姓 名:成 绩:指导教师:
20090612 2009112107 侯金钟 武俊鹏、刘书勇 1.实验一
1.1 实验名称
嵌入式系统硬件开发环境
1.2 实验目的
1.熟悉UP-net3000实验平台。
2.超级终端设置及BIOS 功能使用。
1.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
1.4 实验内容及要求
熟悉UP-net3000实验平台的硬件电路和外设,ARM JTAG的安装和使用,利用超级终端检验外设的工作状态。
1.5 实验设计与实验步骤
1.建立工程
(1)运行ARM SDT 2.5 集成开发环境(ARM Project Manager).(2)在新建的工程中,如图1A-2 所示,选中工程树的“根部”。
(3)因为开发板上的嵌入式处理器ARM7TDMI 没有浮点处理器,所以,如图1A-3 所
示,在弹出的对话框中设置Floating Point Processor 为none,并保持其他的设置不变。(4)选中工程树的“根部”,通过菜单Project | Tool Configuration for work1.apj | asmlink | Set,对整个工程的连接方式进行设置。(5)在弹出的对话框中,选中Entry and Base 标签,如图1A-4 所示,设置连接的Read-Only(只读)和Read-Write(读写)地址。
(6)选择Linker Configuration 的ImageLayout 标签,(7)选择Project | Edit Project Tamplete 菜单,弹出Project Template Editor 对话框。
(8)选择Project | Edit Variables for work1.apj,弹出Edit Variables for work1.apj 对话框。
2.进行程序的在线仿真、调试
1.6 实验过程与分析
熟悉UP-net3000实验平台的硬件电路和外设,安装了ARM JTAG,利用超级终端检验了外设的工作状态。
1.7 实验结果总结
软件安装成功,结果显示正常。
1.8 心得体会
通过此次试验,我对ARM的环境的功能有一定的了解与完善。对试验台有了基本的认识与使用。
2.实验二
2.1 实验名称
嵌入式系统软件开发环境
2.2 实验目的
1.熟悉ADS1.2 开发环境,学会ARM 仿真器的使用。
2.使用ADS 编译、下载、调试并跟踪一段已有的程序,了解嵌入式开发的基本思想和过程。
2.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
2.4 实验内容及要求
本次实验使用ADS 集成开发环境。新建一个简单的工程文件,并编译这个工程文件。学习ARM 仿真器的使用和开发环境的设置。下载已经编译好的文件到嵌入式控制器中运行。学会在程序中设置断点,观察系统内存和变量。
2.5 实验设计与实验步骤
(1)运行ADS1.2 集成开发环境(CodeWarrior for ARM Developer Suite)。
(2)在新建的工程中,选择Debug 版本,使用Edit | Debug Settings菜单对Debug 版本进行参数设置。(3)在Debug Settings 对话框中选择Target Settings 项。在Post-linker一栏中选择ARM from ELF。
(4)在Debug Settings 对话框中选择ARM Linker 项
(5)在第四步中如果选择简单的地址连接设置,在Debug Settings 对话框中选择ARM Linker 项
(6)回到的工程窗口中,选择Release 版本,使用Edit | Release Settings 菜单对Release 版本进行参数设置。(7)参照第(3)、(4)、(5)、(6)步在Release Settings 对话框中设置Release版本的Post-linker、连接地址范围、入口模块和输出文件。(8)回到如图1B-3 所示的工程窗口中,选择Targets 选项卡,如图1B-11 所示。选中DebugRel 版本,按Del 键将其删除。DebugRel 子树是一个折衷版本,通常用不到,所以在这里删除。
2.6 实验过程与分析
1)回到工程窗口选中Debug 版本,执行菜单Project | Make 对工程进行编译连接。(2)在ADS 中执行菜单Project | Debug 启动ADS1.2 的调试工具AXD。(3)在AXD 中执行菜单Options | Configure Target 对AXD 进行设置。(4)点Select 按钮选择远程连接为ARM ethernet driver,点Configure 按钮输入仿真器的IP 地址。
(5)等待程序装载完毕以后,通过Execute | Go 菜单以及Execute | Stop(或者工具栏中的相应按钮)运行或暂停程序。程序暂停后在窗口中将显示出程序暂停的位置。(6)通过Execute | Step 菜单(或者工具栏中的相应按钮)可以单步运行程序。
(7)程序停止后可以通过Processor Views | Sources 菜单查看源文件,并可在适当位置按F9 设置端点。
(8)使用在Processor View 菜单下的Registers、Variables 和Memory 命令可以查看工作寄存器或者内存变量。读者可以逐一地尝试,为以后调试程序打下基础。
2.7 实验结果总结
超级终端输出“Hello World!”。
2.8 心得体会
基本了解了ADS1.2的配置条件,学会了ARM仿真器的使用方法。
3.实验三
3.1 实验名称
键盘及LED实验
3.2 实验目的
1.学习键盘及LED 驱动原理。
2.掌握ZLG7289芯片串行接口的使用方法,用ZLG7289芯片驱动17键的键盘和8个共阴极LED。
3.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
3.4 实验内容及要求
通过ZLG7289芯片驱动17键的键盘和8个共阴极LED,将按键值在LED上显示出来。要求从右至左循环显示至少四位数字。
基本功能实现之后可考虑实现从左至右显示四位及四位以上数字(最大八位),并可设置清零键等扩展功能。
3.5 实验设计与实验步骤
利用所给的基础代码进行调试,观察输出结果,结合指导书和教材掌握基本原理和源代码的编写方式。根据实验的要求设计函数流程,并反复调试,实现功能。1.新建工程,将“Exp3 键盘及LED 驱动实验”中的文件添加到工程。2.定义ZLG7289 寄存器(ZLG7289.h)
#define ZLG7289_CS(0x20)//GPB5 #define ZLG7289_KEY(0x10)//GPG4 #define ZLG7289_ENABLE()do{ZLG7289SIOBand=rSBRDR;ZLG7289SIOCtrl=rSIOCON;rSIOCON=0x31;rSBRDR=0xff;rPDATB&=(~ZLG7289_CS);}while(0)#define ZLG7289_DISABLE()do{rPDATB|=ZLG7289_CS;rSBRDR=ZLG7289SIOBand;rSIOCON=ZLG7289SIOCtrl;}while(0)3.编写ZLG7289 驱动函数(ZLG7289.c)4.定义键盘映射表:(Keyboard16.c)
unsigned char KeyBoard_Map[]= {4,8,11,0,0,0,0,0,5,9,12,15,1,0,0,0,6,10,13,16,2,3,0,0,7,0,14,0,0,0,0,0,0 ,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};//64 键值映射表,通过查找键盘映射表来确定键盘扫描码对应的按键值。
5.定义键值读取函数。(Keyboard16.c)6.编写主函数,将按键值在数码管上显示。
3.6 实验过程与分析
利用键盘驱动函数实现基本数字输入,然后利用循环左移函数实现输入数字做一样功能,并通过改变函数中相应delay的值来消除键盘按键带来的抖动。
3.7 实验结果总结
按键值可以在LED上显示出来。要求从右至左循环显示八位数字,同时可以复位清零。达到实验的效果。
3.8 心得体会
通过本次实验,我了解了LED的显示屏幕的数字的移位功能,这个功能不止可以用一个方法实现,而循环左移是其中比较巧妙且省力的一种,在遇到类似情况的时候,可以优先考虑能不能利用到文件中已经存在的函数,这样可以不必自己编写函数,省时省力。是一种可靠的方法。4.实验四
4.1 实验名称
电机转动控制及中断实验
4.2 实验目的
1.熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。
2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。
3.了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。
4.了解44B0处理器上中断的应用。5.学习在44B0处理器上中断的应用。
6.进一步熟悉平台外围硬件及其驱动程序的编写。
4.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
4.4 实验内容及要求
1.学习步进电机和直流电机的工作原理,了解实现两个电机转动对于系统的软件和硬件要求。学习ARM 知识,掌握 PWM 的生成方法,同时也要掌握 I/O的控制方法。
2.编程实现ARM芯片的一对PWM输出用于控制直流电机的转动,通过A/D旋钮控制其转动方式。
3.编程实现ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。
4.通过键盘控制直流电机与步进电机的切换。5.设置并启动定时器。
6.设置中断,编写定时器中断服务程序,对中断次数进行计数并在LED上显示结果。
4.5 实验设计与实验步骤
1.添加并打开工程。
2.进行直流电机初始化设置和代码编写。3.进行步进电机初始化设置和代码编写。
4.对Timer3编程,编写定时器中断服务程序,完成对中断次数的计数。5.编写LED计数显示函数,使LED能正确计数并显示0-9999。6.编写中断初始化函数和中断响应函数。7.终端下载测试。
4.6 实验过程与分析 1.对直流电机进行编程和测试,掌握转速和旋转方向的设定方法。
2.对步进电机进行编程和测试,掌握ARM的四路I/O通道,实现环形脉冲分配用于控制步进电机的转动,通过A/D旋钮控制步进电机的转角。
3.对主函数进行编程,用键盘响应直流电机与步进电机的切换控制。
4.掌握中断相关语句的应用,弄清定义的中断向量、中断向量号,编写中断响应函数,并完成中断响应控制。
4.7 实验结果总结
实现了直流电机与步进电机的基本设置和控制,可以通过键盘控制电机之间的切换。完成了中断的响应和定时中断。当对其中一个旋钮转动时,就可以由直流电机转换成步进电机的转换,达到实验的效果。
4.8 心得体会
通过本次实验,我了解了直流电机和步进电机的工作原理,同时也知晓了电机间的转换过程,了解其中的道理内涵,熟悉了ARM自带的A/D转换器的工作原理及编程方法,了解了中断的意义和实现方法,实现了简单了中断处理程序。同时我也收获了很多关于ARM处理机的相关知识。
5.实验五
5.1 实验名称
触摸屏驱动实验
5.2 实验目的
1.了解触摸屏的基本概念与原理。
2.理解触摸屏与LCD的关系。3.编程实现对触摸屏的控制。
4.熟悉用 ARM 内置的 LCD控制器驱动 LCD。
5.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
5.4 实验内容及要求
1.了解触摸屏基本原理,理解对触摸屏进行输出标定、与LCD显示器配合的过程。2.通过编程实现触摸两点自动在两点间划直线。3.通过编程实现在触摸屏上动态画出曲线。5.5 实验设计与实验步骤
1.添加并打开工程。
2.在头文件中定义宏和常量及驱动函数。
#define ADS7843_CTRL_START 0x80 #define ADS7843_GET_X 0x50 #define ADS7843_GET_Y 0x10 #define ADS7843_CTRL_12MODE 0x0 #define ADS7843_CTRL_8MODE 0x8 #define ADS7843_CTRL_SER 0x4 #define ADS7843_CTRL_DFR 0x0 #define ADS7843_CTRL_DISPWD 0x3 // Disable power down #define ADS7843_CTRL_ENPWD 0x0 // enable power down #define ADS7843_PIN_CS(1<<6)//GPF6 #define ADS7843_PIN_PEN(1<<5)//GPG5 /////////触摸屏动作//////// #define TCHSCR_ACTION_NULL 0 #define TCHSCR_ACTION_CLICK 1 //触摸屏单击 #define TCHSCR_ACTION_DBCLICK 2 //触摸屏双击 #define TCHSCR_ACTION_DOWN 3 //触摸屏按下 #define TCHSCR_ACTION_UP 4 //触摸屏抬起 #define TCHSCR_ACTION_MOVE 5 //触摸屏移动
#define TCHSCR_IsPenNotDown()(rPDATG&ADS7843_PIN_PEN)(ADS7843_CTRL_START|ADS7843_GET_X|ADS7843_CTRL_12MODE |ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)//采样x 轴电压值,数据为12 位,参考电压输入模式为差分模式,允许省电模式
#defineADS7843_CMD_Y(ADS7843_CTRL_START|ADS7843_GET_Y|ADS7843_CTRL_12MODE |ADS7843_CTRL_DFR|ADS7843_CTRL_ENPWD)int TchScr_Xmax=1840,TchScr_Xmin=176, TchScr_Ymax=195,TchScr_Ymin=1910;//触摸屏返回电压值范围 #defineADS7843_CMD_X 3.校准触摸屏坐标,进行坐标转换。
4.实现触屏取点并显示功能。
将触摸动作及触摸点坐标在超级终端上显示出来。5.实现两点间自动划线功能。6.实现触摸屏动态划线功能。
可以使用TchScr_GetScrXY()函数(第三个参数为0)来获得液晶屏的x、y 方向的电压
范围,分别点触摸屏有效面积的左上角和右下角,得到下列参数:
TchScr_Xmax=1840;TchScr_Xmin=176;TchScr_Ymax=195;TchScr_Ymin=1910;//此数值仅供参考,请以实际校对为准
5.6 实验过程与分析 1.在定义触屏响应功能的函数中对点击触屏进行响应函数的修改,在其中添加修改点颜色的函数,修改得到的触摸点的颜色,并显示在LCD上。
2.获取第一个点坐标并储存,获取第二个点坐标并储存,由编写的划线函数取得储存的两点间直线上所有点的坐标,并对其改变颜色,显示在LCD上,即完成划直线功能。
3.将划线函数应用到响应触屏移动消息的函数下,即可对连续获得的触摸坐标进行连续的画短直线,连接成曲线,完成动态划线功能。
5.7 实验结果总结
了解了触摸屏响应动作消息的函数的工作原理,通过修改实现了触摸屏响应不同动作进行画点、划线、动态划线的功能。验证触摸屏的灵敏度的实验。
5.8 心得体会
通过这次实验,我基本掌握了通过编程驱动触摸屏以及触摸屏响应时间,实现了触摸屏对不同动作消息的响应。同时也知晓了在触摸屏上的描点画线的实现,但是由于不知名的原因,描点画线的误差较大,位置偏差较大,同时触摸屏有时会不灵敏,出现时好时坏的现象,但是由于我们的辛勤钻研,最终克服了这个困难,实现了最后的触摸屏的实现。
6.实验六
6.1 实验名称
UCOS-Ⅱ在ARM微处理器上的裁剪
6.2 实验目的
1.了解UCOS-Ⅱ内核的主要结构。
2.掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法。3.学习如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪。
4.通过对UCOS-Ⅱ配置文件(OS_CFG.H)中相关的配置常量进行设置,实现对UCOS-Ⅱ的裁剪。
6.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
6.4 实验内容及要求
对UCOS-Ⅱ内核进行裁剪并移植到ARM7微处理器上。
6.5 实验设计与实验步骤 1.按照要求,载入STARTUP目录下文件,完成系统初始化、环境配置。2.载入UCOS-Ⅱ的全部源码,与处理器架构相关的文件位于arch目录下。3.在os_cpu.h中编写与处理器和编译器相关的代码。
4.编写os_cpu_c.c等6个与操作系统相关的函数。5.编写os_cpu.asm等4个与处理器相关的函数。
6.6 实验过程与分析
按照实验步骤进行,得到了需要的系统。
6.7 实验结果总结
按照要求进行了裁剪,得到了满足需要又紧凑的应用软件系统。
6.8 心得体会
通过本次实验,我了解了UCOS-Ⅱ内核的主要结构,掌握UCOS-Ⅱ裁剪的基本原理与嵌入式编程实现方法,学会了如何根据具体情况对UCOS-Ⅱ操作系统进行裁剪。
7.实验七
7.1 实验名称
UCOS-Ⅱ在ARM微处理器上的移植和编译
7.2 实验目的
1.了解UCOS-Ⅱ内核的主要结构。
2.掌握将UCOS-Ⅱ内核移植到ARM7处理器上的基本方法。
7.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
7.4 实验内容及要求
1.将UCOS-Ⅱ内核进行移植到ARM7微处理器上。
2.编写两个简单任务,在超级终端上观察两个任务的切换。
7.5 实验设计与实验步骤
1.该实验的文件分为两类,其一是 STARTUP 目录下的系统初始化、配置等文件,其二是 UCOS-Ⅱ的全部源码,arch 目录下的 3 个文件是和处理器架构相关的。
2.设置 os_cpu.h 中与处理器和编译器相关的代码。
3.用 C 语言编写 6 个操作系统相关的函数(OS_CPU_C.C)。4.用汇编语言编写 4 个与处理器相关的函数(OS_CPU.ASM)。5.编写一个简单的多任务程序来测试一下移植是否成功。6.编译并下载移植后的 UCOS-Ⅱ。
7.6 实验过程与分析
1.按照实验步骤进行,将µC/OS-II 内核移植到了ARM7 微处理器上。2编写了两个简单任务,在超级终端上观察两个任务的切换。
7.7 实验结果总结
将µC/OS-II 内核顺利移植到了ARM7 微处理器上。
7.8 心得体会
通过本次实验,使我更加了解了µC/OS-II 内核的主要结构,掌握了ARM的C语言和汇编语言的编程方法,了解了ARM7处理器结构,掌握了将µC/OS-II 内核移植到ARM 7 处理器上的基本原理与嵌入式编程实现方法。
8.实验八
8.1 实验名称
综合实验
8.2 实验目的
对前七次实验进行总结,应用之前所学的知识,将前几次实验内容结合起来,完成键盘,LED,触摸屏,直流电机,步进电机各种功能的组合。实现一个较为全面的功能结构。
8.3 实验环境
硬件:ARM 嵌入式开发平台、用于ARM7TDMI 的JTAG 仿真器、PC 机Pentium100 以 上、串口线。
软件:PC 机操作系统win98、Win2000 或WinXP、ARM SDT 2.51 或ADS1.2 集成开发 环境、仿真器驱动程序、超级终端通讯程序。
8.4 实验内容及要求
对前七次实验进行总结,应用之前所学的知识,完成自拟的嵌入式系统,要求综合前期基础实验的各种功能。
8.5 实验设计与实验步骤
1.添加并打开工程。2.进行LCD设计,在LCD显示屏输出文本。
3.进行LED及键盘设计,完成LED输出显示功能和键盘输入功能。4.进行电机控制设计,完成键盘控制电机转动功能。5.进行中断设计,完成定时中断功能。
6.进行触摸屏设计,完成触摸屏感应和划线功能。7.进行裁剪和移植功能设计和完成。
8.6 实验过程与分析
1.完成LCD显示功能,在LCD显示屏上输出文本:“Hello World!”。2.进入界面触屏控制选择功能,实现触屏选择功能。
3.自定义四种种功能,第一为电机控制,从键盘读取命令,并将功能编号显示在LED上,LED显示的是计数的数据,同时旋转按钮完成电机转速的控制选择。
4.第三种功能为划线,功能编号显示在LED高四位上,同时LCD屏幕清屏,为划线功能做准备,可以实现划线功能。
5.第四种功能为定时中断,当由键盘控制时,LED显示数值清零,实现了中断。6.实现裁剪与移植功能。
8.7 实验结果总结
完成了各种基本功能,并通过自拟的系统将各种功能整合起来,完成了一个小的嵌入式系统,对前七次的功能有了更深入的了解。通过LED的计数,当在计数值在前30秒之内,由键盘控制LED的数值及显示,按键盘上的某一个按键,实现对LED上的数值清零,后30秒由触摸屏控制清零,并且在前30秒之内,旋转按钮,实现对直流电机的运转,并且到步进电机的转换。
8.8 心得体会
通过这次实验,我更加深刻地掌握了前几次实验中的基本功能的实现方法,并且把几种功能联合在一起,实现一些功能,把LED 显示屏,LCD触摸屏,键盘,直流电机,步进电机等等设备联合在一起,对该实验有一定的帮助与提高,而我和我的队友也对嵌入式系统有了更深入的了解,在此期间,也学习了关于ARM处理器的开发与实践,了解了关于手机的嵌入式设备的产生过程,我也深深的对此充满了兴趣,对未来的嵌入式课程设计奠定了深厚的基础,可是令我遗憾的是,我和队员的水平所限,没有完成中断优先级的控制。本来想完成更多的功能,可是最后由于时间紧迫,也有一些其他的事情来分神分心,所以就只能完成这些,但是在未来的几周内,嵌入式课程设计也给了我们很大的空间去做未完成的事情。我相信我们会做的更加完美,功能更强大,用于未来的生活中去实践。
第四篇:《嵌入式系统设计》教学大纲
《嵌入式系统设计》课程教学大纲
嵌入式系统设计(Design of Embedded Systems)
一、课程教学目的和基本要求
教学目的:
嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域。如手机、PDA、MP3、手持设备、智能电话、机顶盒等,可以说嵌入式系统无处不在。本课程讲述当前主流的嵌入式处理器—ARM的微处理器和实时操作系统µC/OS,介绍嵌入式系统的基本原理和应用及设计方法。通过本课程的学习,着重培养学生的实际动手能力,使学生掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。使学生在工作中具有利用嵌入式系统开发产品和解决实际问题的基本能力。
基本要求:
1、掌握嵌入式系统技术的基本原理。
2、了解并掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。
3、比较熟练地用ADS进行ARM实验箱的编程及调试。
4、了解并掌握实时操作系统µC/OS,并学会用µC/OS开发小型应用系统。
二、先修课程及本课程总学时
先修课程:C程序设计语言、单片机原理 本课程总学时:36
三、课程章节及各章节学时安排
第一章 嵌入式系统概述(2学时)
第二章 嵌入式系统硬件基础(2学时)
第三章 设计方法及ADS集成开发环境(4学时)
第一节 嵌入式系统的设计方法(2学时)第二节 ADS集成开发环境(2学时)第四章 ARM7体系结构(4学时)
第一节ARM7体系结构介绍(2学时)第二节ARM7TDMI(-S)指令集简介。(2学时)第五章 ARM指令集(8学时)
第一节 ARM处理器寻址方式。(2学时)第二节ARM指令集。(2学时)第三节ARM汇编程序设计。(2学时)第四节C与汇编混合编程。(2学时)第六章 硬件结构与功能(12学时)第一节 LPC2106/2105/2104结构(2学时)第二节 GPIO及引脚连接模块。(2学时)
第三节 UART0和UART1、I2C接口、SPI接口。(2学时)第四节 定时器0和定时器1。(2学时)第五节 脉宽调制器(PWM)。(2学时)
第六节 看门狗及Flash存储器系统和编程。(2学时)第七章 µC/0S-II程序设计(4学时)
第一节 µC/0S-II简介及移植(2学时)第二节 移植µC/0S-II。(2学时)
四、课程主要内容
第一章 嵌入式系统概述(2学时)
1、嵌入式系统简介(包括什么是嵌入式系统,嵌入式系统的特点,嵌入式系统的分类)。
2、嵌入式系统的应用领域。
3、嵌入式系统的现状和发展趋势。
4、嵌入式微处理器和嵌入式操作系统。
5、嵌入式系统中的一些重要概念。难点:什么是嵌入式系统。
第二章 嵌入式系统硬件基础(2学时)
1、嵌入式系统的总体结构。
2、与嵌入式系统相关的硬件知识。难点:总体结构。
第三章 设计方法及ADS集成开发环境(4学时)第一节 嵌入式系统的设计方法
包括嵌入式系统的设计流程,嵌入式系统的一般设计方法,嵌入式系统的硬件/软件协同设计技术。第二节 ADS集成开发环境
1、ADS 1.2 集成开发环境的组成
2、工程的编辑
3、工程的调试
4、仿真器的安装与应用 难点:调试、仿真器。
第四章 ARM7体系结构(4学时)第一节ARM7体系结构介绍
1、处理器模式。
2、内部寄存器。
3、程序状态寄存器。
4、异常。
第二节ARM7TDMI(-S)指令集简介。难点:异常。
第五章 ARM指令集(8学时)第一节 ARM处理器寻址方式。第二节ARM指令集。
第三节ARM汇编程序设计。第四节C与汇编混合编程。难点:ARM汇编程序设计。
第六章 硬件结构与功能(12学时)第一节 LPC2106/2105/2104结构
1、存储器寻址。
2、系统控制模块。
3、存储器加速模块。
4、向量中断控制器。
第二节 GPIO及引脚连接模块。
第三节 UART0和UART1、I2C接口、SPI接口。第四节 定时器0和定时器1。第五节 脉宽调制器(PWM)。
第六节 看门狗及Flash存储器系统和编程。
难点:存储器重新映射,编程实现功能部件的初始化和控制。本章实验:LPC2106/2105/2104功能部件基础实验。
第七章 µC/0S-II程序设计(4学时)第一节 µC/0S-II简介及移植
1、移植规则。
2、编写LPC2106/2105/2104的启动代码。第二节 移植µC/0S-II。难点:移植µC/0S-II。本章实验:学习移植µC/0S-II。
五、教材及主要参考书
教材:
《嵌入式系统设计与开发》,马文华,科学出版社,2006年
主要参考书:
[1] 田苗苗.嵌入式控制系统.北京航空航天大学出版社,2002年 [2] 吕 骏 译.嵌入式系统设计.电子工业出版社,2002年
[3] 周立功等.ARM微控制器基础与实战.北京航空航天大学出版社,2003年
[4] 李驹光等.ARM应用系统开发祥解.清华大学出版社,2003年
[5] 劭贝贝译.uCOS-II-源代码公开的实时嵌入式操作系统.中国电力出版社,2001年 [6] 田苗苗.嵌入式系统设计与实例开发.清华大学出版社,2002年 [7] 袁勤勇等译.嵌入式系统构件.机械工业出版社,2002年 [8] 田苗苗.《实用嵌入式系统设计与开发—基于ARM微处理器与μCOS-II实时操作系统》(第二版),清华大学出版社,2003.9 [9] 邵贝贝译.《源代码公开的实时嵌入式操作系统——μCOS-II》,北京航空航天大学出版社,2003年
六、其他需要说明的情况
1.采用多媒体教学。
2.实验课单列,每周2学时。
3.每周作业量2~3小时,主要针对基本概念、开发环境的操作和编程。
七、成绩评定
1.理论考核
占60% 2.实践考核
占40%(其中包括:实验、作业、课堂提问、学生自行设计制作的作品)。
第五篇:《嵌入式系统设计》教案
嵌入式系统设计教案
课程总学时: 32 讲课学时: 24 实验学时: 8 授 课 人: 杨词慧
南昌航空大学信息工程学院
目录 嵌入式系统概述.......................................................................................................................1 1.1 嵌入式系统的基本概念...............................................................................................1 1.2 嵌入式系统的发展历史...............................................................................................2 1.3 嵌入式系统的体系结构...............................................................................................2 1.4 嵌入式处理器...............................................................................................................3 1.5 嵌入式操作系统...........................................................................................................4 1.6 嵌入式系统的应用及发展趋势...................................................................................7 ARM体系结构.........................................................................................................................8 2.1 ARM设计思想.............................................................................................................8 2.2 ARM体系结构分析.....................................................................................................9 2.3 ARM处理器系列.......................................................................................................11 2.4 ARM处理器模式.......................................................................................................15 2.5 ARM体系的异常处理...............................................................................................16 2.6 ARM内部寄存器.......................................................................................................18 2.7 ARM体系的存储系统...............................................................................................19 ARM指令系统及程序设计基础...........................................................................................21 3.1 ARM寻址方式...........................................................................................................21 3.2 ARM指令集...............................................................................................................24 3.3 Thumb指令集............................................................................................................33 3.4............................................................................................................................................35 3.5............................................................................................................................................35 3.6 嵌入式系统设计与开发过程.....................................................................................36 STM32微控制器...................................................................................................................37 4.1 STM32微控制器的性能指标....................................................................................37 2 3 4
I 嵌入式系统概述
教学目的:使学生对嵌入式系统的基本概念和体系结构、嵌入式处理器、嵌入式操作系统、嵌入式系统的历史、应用及发展趋势有一定的了解。
教学重点:嵌入式系统的基本概念、嵌入式处理器和嵌入式操作系统。教学难点:嵌入式系统的体系结构、嵌入式处理器。教学方法与教学手段:课堂讲授,多媒体教学。教学时间:2课时。教学内容
1.1 嵌入式系统的基本概念
(1)嵌入式系统的定义
先举例说明生活中的各种嵌入式系统设备,如iPhone、小米手机、洗衣机、电压力锅等。IEEE(国际电气和电子工程师协会)的定义:嵌入式系统是用于控制、监视或者辅助操作机器和设备的装置(Devices used to control, monitor, or assist the operation of equipment, machinery or plants)。
微机学会的定义:嵌入式系统是以嵌入式应用为目的的计算机系统,可分为系统级、板级和片级。a)系统级:各种类型的工控机、PC104等模块。b)板级:各种类型的带CPU的主板或OEM产品。c)片级:各种以单片机、DSP、微处理器为核心的产品。
一般定义:嵌入式系统是以应用为中心,以计算机技术为基础,软件硬件可裁剪,对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。
(2)嵌入式系统的特点 a)专用、软硬件可剪裁配置。b)低功耗、高可靠性、高稳定性。c)软件代码矮小精悍。d)代码可固化。e)实时性。f)弱交互性。
g)软件开发通常需要专门的开发工具、环境和方法。h)要求开发、设计人员具有较高的技能。i)具有较长的生命周期。(3)嵌入式系统的分类
按嵌入式微处理器的位数可分为:4位、8位、16位、32位和64位。按实时性能可分为:非实时系统和实时系统。
按软件结构可分为:嵌入式单线程系统和嵌入式事件驱动系统。
按应用领域可分为:信息家电类、消费电子类、医疗电子类、移动终端类、通信类、汽车电子类、工业控制类、航空电子类、军事电子类等。
1.2 嵌入式系统的发展历史
(1)以单芯片为核心的可编程控制器形成的系统
1971年11月,Intel推出Intel 4004。随后出现Intel 8080/8085、8086、Motorola的6800、68000,Zilog的Z80、Z8000。
以微处理器为核心构成的系统
单板机:Intel的iSBC系列、Zilog的MCB等
将计算机做在一个芯片上,大部分应用于专业性强的工业控制系统中,没有操作系统的支持,系统结构和功能相对单一,处理效率较低,存储容量较小。
(2)以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统
CPU种类繁多,通用性较弱;系统开销小,效率高;操作系统达到一定的兼容性和扩展性;应用软件较专业化,用户界面不够友好。
(3)以嵌入式操作系统为标志的嵌入式系统
嵌入式操作系统可运行于各种不同类型的微处理器上,兼容性好;操作系统内核小,效率高;具备文件和目录管理,支持多任务、网络应用,具备图形窗口和用户界面;有大量的应用程序接口API。
(4)以Internet为标志的嵌入式系统 嵌入式设备与Internet的结合。
1.3 嵌入式系统的体系结构
(1)体系结构
(2)硬件层
嵌入式处理器:ARM、DSP、FPGA 存储器系统:ROM、FLASH、SDRAM 中断控制器、DMAC、定时器/计数器、UART、USB控制器、LCD控制器等 I/O接口:USB、I2C、SPI、CAN等
(3)中间层
硬件抽象层(Hardware Abstraction Layer, HAL)。位于操作系统内核与硬件电路之间的接口层,隐藏硬件接口细节。
板级支持包(Board Support Package, BSP)。为上层的驱动程序提供访问硬件设备寄存器的函数包。 设备驱动程序
1.4 嵌入式处理器
(1)嵌入式处理器的分类
中高端的嵌入式微处理器(Embedded Micro-Processor Unit, EMPU)低端的微控制器(Microcontroller Unit, MCU)DSP处理器(Digital Signal Processor, DSP)高度集成的片上系统(System on Chip, SoC)(2)嵌入式微处理器
由通用计算机中的CPU演变而来,只保留与嵌入式应用紧密相关的功能硬件,在工作温度、抗电磁干扰、可靠性、功耗等方面做了各种增强。
主要的嵌入式处理器类型:ARM、MIPS、PowerPC、68000系列等。特点
a)在设计中考虑低功耗。
b)采用可扩展的处理器结构。处理器内部留有很多扩展接口。c)具有很强的存储区保护功能。d)提供丰富的调试功能。
e)对实时任务具有很强的支持能力。(3)微控制器
俗称单片机,将整个计算机系统集成到一块芯片中。
WatchWatchdogdogGPIO/计数GPIOUARTUART定时定时/计数A/DA/DD/A器D/A器2CCANCANII2CSPISPIUSBUSBCPUCPUSRAMSRAM核心部分FlashFlash8位单片机示意图以一种微处理器为核心,芯片内部集成Flash、RAM、总线逻辑、定时器/计数器、I/O口、串行口、PWM、A/D、D/A等。
最早的单片机: 1976年,Intel的8048,Motorola的68HC05、Zilog公司的Z80.(4)DSP处理器
对系统结构和指令进行了特殊设计,使其适合DSP算法 高效乘累加运算、超标量操作、指令流水线 高效数据存取、硬件重复循环 确定性操作(程序执行时间可预测)应用场合:音视频编解码、数字滤波、FFT等(5)片上系统
将整个系统做在一个芯片上 优点
a)通过改变内部工作电压,降低芯片功耗 b)减少芯片对外的引脚数,简化制造过程
c)减少外围驱动接口单元及电路板之间的信号传递,加快微处理器数据处理的速度 d)内嵌线路可避免信号传递时所造成的系统杂讯 联发科推出28nm双核处理器MT6572 a)代号武松,基于Cortex-A7架构 b)主频为1.2GHz c)处理器上整合了Wi-Fi、FM收音机、GPS以及蓝牙四种功能 d)支持500万像素摄像头(6)嵌入式处理器的发展趋势 a)内部结构
SoC设计,与DSP、Flash、FPGA融合;性能更强,集成更多的功能部件;双核或多核结构 b)功耗更低 c)可靠性更高 d)支持ISP、ISD 1.5 嵌入式操作系统
(1)操作系统的概念及功能
操作系统。是一组计算机程序的集合,用来有效地控制和管理计算机的硬件和软件资源,并为用户提供方便的应用接口。
功能:处理器管理;存储器管理;设备管理;文件管理;用户接口(2)操作系统的分类 按程序调度的方法分为
顺序操作系统。只含一个运行程序,独占CPU时间,顺序执行。如DOS系统。 分时操作系统。系统内同时有多道程序运行。如Unix系统。 实时操作系统。
从应用角度,嵌入式操作系统可分为 面向低端信息家电
面向高端信息家电 面向个人通信终端 面向通信设备 面向汽车电子 面向工业控制
从实时性的角度,嵌入式操作系统可分为 具有强实时特点的嵌入式操作系统 具有弱实时特点的嵌入式操作系统 没有实时特点的嵌入式操作系统(3)实时操作系统(RTOS)
是具有实时性且能支持实时控制系统工作的操作系统,首要任务是调度一切可利用的资源来完成控制任务。
对现场不停监测,一旦有事件发生能立即处理。与通用OS的区别:实时性,代码尺寸小。一般包括以下几个重要组成部分:
实时内核:任务管理、定时器管理、存储器管理、任务间通信与同步等。 网络组件 文件系统 图形用户界面
IEEE的Unix委员会规定了实时操作系统须具备以下几个特点: 支持异步事件的响应。 中断和调度任务的优先机制。 支持指令性计划占式调度。 支持同步。
(4)常见的嵌入式操作系统 嵌入式Linux 实时的嵌入式Linux:如RT-Linux、KURT-Linux等。RT-Linux将通常的Linux任务优先级设为最低。
一般的嵌入式Linux:如μCLinux。 开源,内核小、效率高,可定制 μC/OS和μC/OS-II μC/OS-II(MicroController Operating System)是由Jean J.Labrosse开发的实时操作系统内核。
已被移植到Intel
嵌入式系统设计论文解读(五篇)
本文2025-01-30 05:05:32发表“合同范文”栏目。
本文链接:https://www.wnwk.com/article/517980.html
- 二年级数学下册其中检测卷二年级数学下册其中检测卷附答案#期中测试卷.pdf
- 二年级数学下册期末质检卷(苏教版)二年级数学下册期末质检卷(苏教版)#期末复习 #期末测试卷 #二年级数学 #二年级数学下册#关注我持续更新小学知识.pdf
- 二年级数学下册期末混合运算专项练习二年级数学下册期末混合运算专项练习#二年级#二年级数学下册#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册年月日三类周期问题解题方法二年级数学下册年月日三类周期问题解题方法#二年级#二年级数学下册#知识分享 #关注我持续更新小学知识 #家长收藏孩子受益.pdf
- 二年级数学下册解决问题专项训练二年级数学下册解决问题专项训练#专项训练#解决问题#二年级#二年级数学下册#知识分享.pdf
- 二年级数学下册还原问题二年级数学下册还原问题#二年级#二年级数学#关注我持续更新小学知识 #知识分享 #家长收藏孩子受益.pdf
- 二年级数学下册第六单元考试卷家长打印出来给孩子测试测试争取拿到高分!#小学二年级试卷分享 #二年级第六单考试数学 #第六单考试#二年级数学下册.pdf
- 二年级数学下册必背顺口溜口诀汇总二年级数学下册必背顺口溜口诀汇总#二年级#二年级数学下册 #知识分享 #家长收藏孩子受益 #关注我持续更新小学知识.pdf
- 二年级数学下册《重点难点思维题》两大问题解决技巧和方法巧算星期几解决周期问题还原问题强化思维训练老师精心整理家长可以打印出来给孩子练习#家长收藏孩子受益 #学霸秘籍 #思维训练 #二年级 #知识点总结.pdf
- 二年级数学下册 必背公式大全寒假提前背一背开学更轻松#二年级 #二年级数学 #二年级数学下册 #寒假充电计划 #公式.pdf


