- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三章 系统软件设计
§3.1 嵌入式软件概念与特点
嵌入式软件是指各类用于嵌入式计算机系统的软件。在嵌入式发展初期,其种类很小,规模也小,基本上是硬件的附属品,随着嵌入式系统的发展,特别是随着后PC时代的到来,嵌入式软件的种类和规模都得到了极大的发展,形成了一个完整,独立的软件体系,但是无论嵌入式软件怎么发展,都摆脱不了整个嵌入式系统对它的影响,因此,使得嵌入式软件形成了一系列与 嵌入式系统整体特性有密切关联,与通用软件有一定差距的特点,这些特点是:系统精简,标准化程度低,开发工作难度大,软件与硬件开发往往同步进行,要求固化存储,可靠性要求高[1]。
§3.2 嵌入式软件组成与策略
在嵌入式发展的早期,其软件十分简单,常常使应用软件直接建立在硬件之上。一些系统虽然有操作系统,但是操作系统与应用软件界限非常模糊,两者往往混在一起,随着嵌入式系统的发展,嵌入式系统上的软件得到极大的丰富和发展,逐渐形成一个完整的体系。如图3.1所示,在这个体系当中,自低向上有三个部分组成:操作系统,支撑软件和应用软件[1]。
图 3.1 嵌入式系统软件组成
1. 操作系统
嵌入式操作系统由操作系统内核,应用程序接口,设备驱动程序接口等几部分组成,嵌入式操作系统一般都采用微内核结构。操作系统只负责完成进程调度、进程通讯、中断管理等一些基本任务,而将大部分的服务功能放在支撑软件层中实现。
2. 支撑软件
支撑软件是用于帮助和支持软件开发的软件嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。§3.3.1 开发环境的建立
1 开发工具选择及相关资源获取
对于特定的嵌入式目标平台均需要有相关的设计工具进行软件开发,在我们所使用硬件平台同样需要这些设计工具,从而将产生S3C2410微处理器能够识别的代码,现在典型的可用于ARM处理器的嵌入式开发集成开发环境(IDE)Embest IDE等,基于Linux的用的最多的是GUN工具箱,本次实验开发平台采用ARM公司ADS1.2在Windows XP平台上开发。
相关资源下载:
(1) SamSung公司评估版源代码,生成的二进制文件为2410test.bin:
/sub3/evboard/smdk2410_down.htm
(2) DNW5.0:JTAG、USB以及串口烧些源代码和工具,下载地址与(1)相同。
(3) 2410bs.rar:Nand flash BootLoader,下载地址与(1)相同,生成的二进制文件为2410load.bin。
(4) 2410mon.bin,Nor Flash的监控程序http://www.μCGUI.com
如前所述,我们选择的Nand Flash作为存放嵌入式系统文件的存储器,而NorFlash只是用于放置监控程序2410mon.bin。其操作流程如下:首先通过JTAG将2410mon.bin烧入Nor flash,重新启动后,通过2410test.bin分别将2410load.bin和嵌入式软件二进制文件烧入目标板的NandFlash中运行。
2 内存布局
嵌入式系统内存资源有限,其规划定标布局随着后续软件的开发要适当调整,图3.2是目标板有64M内存空间,挂载在bank6和bank7,寻址空间配置为00x33ffffff,根据本次设计的具体情况,将其布局规划如图3.2所示,对一些频繁使用的内存设置为cacheable(浅灰色区),用于加快数据和指令的读取速度。其它为Non-cacheable区,该区域用于设计的嵌入式软件映像目标拷贝区以使得软件正常运行。在cancheable区域中,异常中断表起始地址为0x33ffff00,大小为255字节。常用堆栈起始地址和内存管理单元转换表起始地址均为0x33ff8000,用于虚拟地址到物理地址转换。FrameBuffer区域是LCD显示图像的缓存区,功能与显存
图 3.2 内存布局
雷同,该区域起始地址与大小可以通过S3C2410内部LCD控制器设置,这里规定的起
始地址为0x33EC0000,大小参考LCD显示24Bit真彩图像所需内存规定为0x130000字节:640* 480*4=0x12c000字节(采用一个int变量空间存储一个像素的RGB值,而整形变量占用4个字节空间)。 Imagebuffer为视频采集卡采集的图像缓存区,采集的图像为320*240的灰度图,考虑扩展性,该区域大小参考320*240*4=0x4B000字节规定为0x50000字节。
3 NAND FLASH布局
图3.3 Nand Flash映像分布
采用Nand Flash做为软件固化存储器,大小为
文档评论(0)