什么是嵌入式编程?什么是ARM?如何学习?
嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户的应用程序等四个部分组成,用于实现对其他设备的控制、监视或管理等功能。??
嵌入式系统一般指非PC系统,它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(OS)(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起。应用程序控制着系统的运作和行为;而操作系统控制着应用程序编程与硬件的交互作用。??
现在所说的嵌入式开发,通常都是指有嵌入式操作系统的那种,产品功能复杂了,单片机开发无法实现,需要用到嵌入式操作系统,也能体现出嵌入式操作系统的优势。嵌入式产品在航空、医疗、家电、消费电子、汽车电子、移动等众多领域都可以看到,应用领域极为广泛,所以现在嵌入式开发相当热门,并且具备非常好的发展前景!!?
嵌入式系统的核心是嵌入式微处理器。嵌入式微处理器一般就具备以下4个特点:??
1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。??
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。??
3)可扩展的处理器结构,以能最迅速地开展出满足应用的最高性能的嵌入式微处理器。??
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。??
嵌入式计算机系统同通用型计算机系统相比具有以下特点:??
1.嵌入式系统通常是面向特定应用的嵌入式CPU与通用型的最大不同就是嵌入式CPU大多工作在为特定用户群设计的系统中,它通常都具有低功耗、体积小、集成度高等特点,能够把通用CPU中许多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统设计趋于小型化,移动能力大大增强,跟网络的耦合也越来越紧密。??
2.嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物。这一点就决定了它必然是一个技术密集、资金密集、高度分散、不断创新的知识集成系统。??
3.嵌入式系统的硬件和软件都必须高效率地设计,量体裁衣、去除冗余,力争在同样的硅片面积上实现更高的性能,这样才能在具体应用中对处理器的选择更具有竞争力。??
4.嵌入式系统和具体应用有机地结合在一起,它的升级换代也是和具体产品同步进行,因此嵌入式系统产品一旦进入市场,具有较长的生命周期。??
5.为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯片或单片机本身中,而不是存贮于磁盘等载体中。??
6.嵌入式系统本身不具备自举开发能力,即使设计完成以后用户通常也是不能对其中的程序功能进行修改的,必须有一套开发工具和环境才能进行开发!??
====================
?
ARM?CPU产品经理David?Cormie先生评论说:"为了进一步提高新一代消费电子装置和无线装置的安全性,运营商、服务商和消费者的重要数据的保护、隐私保护需要一个可信赖的计算环境。ARM1176JZ-S和ARM1176JZF-S内核及PrimeXsys平台结合了ARM?TrustZone技术,为计算装置提供了理想的可信赖基础。系统设计者首次在芯片核心部分运用TrustZone技术来解决安全性问题。用户将拥有更多的下载选择,运营商将增加营业额收入,他们都无需担心网络的安全问题。"ARM1176JZ-S和ARM1176JZF-S内核、PrimeXsys平台提供了安全的低功耗设计,含有AMBA?3.0?AXI,可对频率和电压变化进行控制;系统级TrustZone软硬件参考设计。两个新内核中集成了ARM?Jazelle技术,可加快嵌入式Java执行。ARM1176JZF-S内核包含一个浮点协处理器,极适合用于嵌入式3D图像应用产品。两个新内核的标准配置中都含有ARM-Synopsys?RTL?to?GDSII参考技术方案,都是可综合的,在0.13μ工艺中,最低频率可达333-550MHz。PrimeXsys平台包含ARM?CoreSight?技术,提供了世界领先的调试和跟踪技术方案。
ARM926ET-S带Jazelle扩充、分开的指令和数据高速AHB接口及全性能MMU。?
ARM?CoreSight技术可快速地对不同地软件进行调试,通过对多核和AMBA?总线的情况进行同时跟踪。此外,同时对多核进行暂停和调试,CoreSight技术可对AMBA上的存储器和外设进行调试,无需暂停处理器工作,达到不易做到的实时开发。ARM?CoreSight技术拥有更高的压缩率,为半导体制造商们提供了对新的更高频处理器进行调试、跟踪的技术方案。使用CoreSight技术,制造商们可通过减少调试所需的管脚、减少片上跟踪缓存所需的芯片面积等手段来降低生产成本。
=================================================================
=================================================================
ARM微处理器的应用选型
鉴于ARM微处理器的众多优点,随着国内外嵌入式应用领域的逐步发展,ARM微处理器必然会获得广泛的重视和应用。但是,由于ARM微处理器有多达十几种的内核结构,几十个芯片生产厂家,以及千变万化的内部功能配置组合,给开发人员在选择方案时带来一定的困难,所以,对ARM芯片做一些对比研究是十分必要的。
以下从应用的角度出发,对在选择ARM微处理器时所应考虑的主要问题做一些简要的探讨。
ARM微处理器内核的选择
从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,用户如果希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(Memory?Management?Unit)功能的ARM芯片,ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。而ARM7TDMI则没有MMU,不支持Windows?CE和标准Linux,但目前有uCLinux等不需要MMU支持的操作系统可运行于ARM7TDMI硬件平台之上。事实上,uCLinux已经成功移植到多种不带MMU的微处理器平台上,并在稳定性和其他方面都有上佳表现。
本书所讨论的S3C4510B即为一款不带MMU的ARM微处理器,可在其上运行uCLinux操作系统。
系统的工作频率
系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz-133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz-233MHz,ARM10最高可以达到700MHz。不同芯片对时钟的处理不同,有的芯片只需要一个主时钟频率,有的芯片内部时钟控制器可以分别为ARM核和USB、UART、DSP、音频等功能部件提供不同频率的时钟。
芯片内存储器的容量
大多数的ARM微处理器片内存储器的容量都不太大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间,如ATMEL的AT91F40162就具有高达2MB的片内程序存储空间,用户在设计时可考虑选用这种类型,以简化系统的设计。
片内外围电路的选择
除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等,设计者应分析系统的需求,尽可能采用片内外围电路完成所需的功能,这样既可简化系统的设计,同时提高系统的可靠