现在的嵌入式应用已经无处不在,不管是消费电子、通讯终端,仍是系统设备、工业控制、汽车电子系统或航空航天,都无处不见嵌入式应用的身影。嵌入式已经走进了咱们的生活,换句话说,之后咱们的生活将会离不开嵌入式,将来发展前景十分可观。如今,全球每一年生产数十亿颗微处理器,其中大部分都被普遍应用于各种嵌入式系统。
目前,在嵌入式系统硬件平台方面,各类微控制器以及数字信号处理器(DSP)产品,不管从品牌、功能特性方面,仍是针对目标应用的成本、处理能力、功耗要求、集成度、开发周期、技术难度等具体要求,均可以精心选择出最具综合优点的硬件核心平台。而在嵌入式操做系统方面,不管是开放源代码的Linux阵营的各类商业版本或免费版本,仍是WinCE、vxWorks等“重量级”平台,抑或针对特定应用优化的Windows Mobile、Symbian、Android等,也一样能够方便地选择一款最佳的操做系统软件平台。
嵌入式系统的设计过程实际上就是一个软硬件联合协同开发的过程。在进行软硬件平台选择评估时,单纯地离开硬件去评估操做系统或离开操做系统评估硬件平台都有失偏颇,特别是对于不少非通用处理器来讲尤为如此。当前不少嵌入式硬件平台都提供有针对目标应用优化的操做系统及软件模块资源,一些商业化的操做系统也针对主流的硬件平台进行了优化设计,并且提供了众多的第三方优化操做系统版本。这些资源对于嵌入式系统设计来讲具备重要的意义。为此,本文介绍了一种独特的嵌入式平台核心处理器,即汇聚式处理器Blackfin及其主流配套操做系统和相关资源的应用与设计方法,这边有问题或者干货的能够私我,这些年也存了很多干货,先简单的介绍下嵌入式数码相框集中设计方案:
1 硬件处理器Blackfin的选择
本设计选用汇聚式处理器Blackfin来构建独特的嵌入式硬件平台。汇聚式处理器Blackfin是由ADI和Intel公司联合开发的微信号架构(MSA),它集32位RISC型指令集、双16位乘法累加(MAC)信号处理功能和通用型微控制器所具备的易用性于一体,这种汇聚式处理能力的组合使得Blackfin处理器可以在旗号处理和控制应用中均发挥极佳的做用,并可在许多应用中免除增设单独的异构处理器的必要,于是极大地简化了硬件和软件设计。Blackfin处理器很是适合于以会聚为关键技术的嵌入式音频、视频、通讯应用,包括多格式音频、视频、语言和图像处理,多模式基带和分组处理,控制处理和实时安全性处理等。正是这种独特的系统架构所具备的设计灵活性和可扩展性为Blackfin处理器赢得了普遍的适应性,也使其普遍应用于数字家庭娱乐、网络和流媒体、汽车远程信息处理和信息娱乐、数字无线电,以及移动电视终端。
Blackfin处理器在单内核产品中可提供高达756MHz的性能,以及低至0.8V的低功耗电压。全部的Blackfin处理器均具备多个独立的DMA控制器,这些控制器可支持自动数据传输,并且其所需的处理器内核开销极少。此外,Blackfin处理器还具备丰富的存储器配置,能够极大地方便嵌入式系统的应用开发。其中ADSP-BF51x系列处理器就同时具备NOR闪存、NAND闪存、铁电存储(FRAM)、SDRAM,同时还提供有支持Lockbox安全技术的一次性可编程存储器。
Blackfin处理器架构彻底符合SIMD标准,并带有用于加速视频和图像处理的指令。该架构很适合于全信号处理/分析应用。因为Blackfin处理器具备最佳的代码密度且只需进行极少(或者彻底不须要进行)代码优化处理,于是不会遇到其余传统处理器所常见的性能空间障碍。
2 uCLinux操做系统的选择
嵌入式操做系统的选择对于正在从事新的嵌入式开发项目来讲,它与选择嵌入式硬件微处理器一样重要。对于Blackfin处理器来讲,除了处理器自己的独特性能特性优点外,强大的嵌入式操做系统资源也是嵌入式系统设计的一个关健因素。Blackfin处理器支持包括VisualDSP自带的操做系统内核(VDK)、ThreadX、uCLinux和Nucleas等操做系统,这一特性可避免将操做系统从其它处理器平台移植到Blackfin平台时,因更改操做系统而延长的终端产品开发周期。各类操做系统各自都具备不一样的特×××以及不一样的价格、版权费用等条款。从特性上看,嵌入式操做系统有代码紧凑、复杂度低的操做系统VDK,也有复杂而具备丰富特性的操做系统uClinux,同时具备可靠性极高的INTEGRI TY,以及专一于汽车市场需求的RTA-OSEK等。经过对各类操做系统的功能分析,本设计最终选择了uCLinux操做系统来进行数码相框的设计。图1所示是其操做系统在Blackfin上的组织结构。
Linux是一种得到普遍应用的嵌入式操做系统,在全部主流的嵌入式系统中,Linux操做系统不管是其超强的网络功能、可任意裁剪、彻底免费和通用的Linux API特色,以及普遍的开放资源,都使其成为嵌入式应用中的重要力量。uClinux是针对微处理器应用的Linux系统,源码彻底开放,同时针对嵌入式应用的特色,uClinux对Linux的内核进行了修改和从新编译,于是内核更小。uClinux也包含Linux经常使用的API,并保留了原来Linux操做系统具备的高稳定性、强大的网络功能和卓越的文件系统支持功能。
uClinux操做系统可直接运行于Blackfin处理器。对于不少嵌入式应用来讲,在与Blackfin处理器同等价位的方案中,不多有能支持Linu x的。事实上,在面向特定的嵌入式应用时(例如内存空间有限或须要实时肯定性的高安全性应用),Linux仍然存在许多挑战。而本设计的主要特色之一,是其所选择的ADI公司的Blackfin处理器已在uClinux里集成了大量的硬件驱动和应用例程,其中包括无线局域网驱动、音/视频编×××驱动等,这些驱动可帮助客户很是方便地将应用程序从原来的系统移植到Blackfin平台上来。此外,ADI与Arcturus Networ ks公司还联合推出了新型uCBF54x启动开发工具套件和系统模块。该开发套件提供的软件包括开源uCliunx BSP(板级支持包)以及Arcturus语音与管理中间件,同时包含完整的SIP和RTP堆栈。所以能够说,Blackfin Linux已经成为嵌入式系统领域最为稳定的嵌入式Linux发行包之一。
3 软件开发工具环境
随着嵌入式系统产品应用愈来愈复杂、产品投放市场的时间愈来愈急迫,完善的开发环境也变得愈来愈重要。除了全系列优化的嵌入式操做系统外,具备完整的开发环境也是其嵌入式系统开发的重要因素之一。为此,ADI也提供有可以支持其余Blackfin处理器的ADI CROSSCO RE软件与硬件工具,这些工具包括VisualDSP++集成开发与调试环境、仿真器,以及EZ-KIT Lite评估版硬件等。
此外,ADI也为嵌入式系统开发提供了大量的系统服务程序,例如为嵌入式系统提供了各类常见功能的软件库,这些服务程序实际上就是可用于任何系统的公用程序,它们既可在未安装RTOS的独立式环境下运行,又可用于VDK环境。利用这些系统服务程序能够便捷、高效地接入Blackfin处理器的硬件子系统,包括锁相环路、直接内存存取、中断控制器、标志控制器和定时器等。全部的Blackfin处理器都可采用一套通用的AM,各类应用和设备驱动程序也都可使用这些系统服务整序。这些系统服务程序中包含的软件都已经通过反复测试,并且性能稳定可靠,设计时能够直接使用这些程序。此外,利用这些服务程序,也能够轻松整合这些模块化软件,实际上,这些服务程序都是与VisualDSP++集成开发环境一块儿提供的。但愿这些对你有帮助,你要是想在嵌入式上有所发展却又没有方向,这边也能够私我,互相交流学习共同进步linux