- 1、本文档共23页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 系统软件设计
§3.1 嵌入式软件概念与特点
嵌入式软件是指各类用于嵌入式计算机系统的软件。在嵌入式发展初期,其种类很小,规模也小,基本上是硬件的附属品,随着嵌入式系统的发展,特别是随着后PC时代的到来,嵌入式软件的种类和规模都得到了极大的发展,形成了一个完整,独立的软件体系,但是无论嵌入式软件怎么发展,都摆脱不了整个嵌入式系统对它的影响,因此,使得嵌入式软件形成了一系列与 嵌入式系统整体特性有密切关联,与通用软件有一定差距的特点,这些特点是:系统精简,标准化程度低,开发工作难度大,软件与硬件开发往往同步进行,要求固化存储,可靠性要求高[1]。
§3.2 嵌入式软件组成与策略
在嵌入式发展的早期,其软件十分简单,常常使应用软件直接建立在硬件之上。一些系统虽然有操作系统,但是操作系统与应用软件界限非常模糊,两者往往混在一起,随着嵌入式系统的发展,嵌入式系统上的软件得到极大的丰富和发展,逐渐形成一个完整的体系。如图3.1所示,在这个体系当中,自低向上有三个部分组成:操作系统,支撑软件和应用软件[1]。
图 3.1 嵌入式系统软件组成
1. 操作系统
嵌入式操作系统由操作系统内核,应用程序接口,设备驱动程序接口等几部分组成,嵌入式操作系统一般都采用微内核结构。操作系统只负责完成进程调度、进程通讯、中断管理等一些基本任务,而将大部分的服务功能放在支撑软件层中实现。
2. 支撑软件
支撑软件是用于帮助和支持软件开发的软件,通常由窗口系统,文件系统,网络系统,数据库系统等组成,由于嵌入式系统的硬件配置一般都比较低,在它上面开发应用软件几乎是不可能的,为解决这一问题,很多厂商都陆续推出自己的软件开发环境,如Minigui,μCGUI等窗口系统,usfs等文件系统。这种软件开发环境对应用软件的推进起到重要的开发作用。
3. 应用软件
嵌入式应用软件是整个系统功能的体现,系统的能力总是通过应用软件表现出来,一个系统可以简单的没有支撑软件,甚至没有操作系统,但是不能没有应用软件,否则它就不能成为一个系统,嵌入式应用软件和普通应用软件有一定的区别,它不仅要求其准确性、安全性和稳定性等方面能够满足实际应用的需要,而且还要尽可能地进行优化,以减少对系统资源的消耗,降低硬件成本。
软件设计必须充分利用系统硬件资源,使系统满足应用的功能要求和技术指标,并具有友好的界面[2]。软件的设计将按照上面描述的三个软件层分别实现,在操作系统层和支撑软件层的软件设计中均采用自底向上的设计方式;应用软件层的设计中,采用自顶向下的设计方式。下面分别予以详细说明。
§3.3 操作系统层软件设计
§3.3.1
1 开发工具选择及相关资源获取
对于特定的嵌入式目标平台均需要有相关的设计工具进行软件开发,在我们所使用硬件平台同样需要这些设计工具,从而将产生S3C2410微处理器能够识别的代码,现在典型的可用于ARM处理器的嵌入式开发集成开发环境(IDE)有基于Windows和Linux两大类:基于Windows的用的较多的有SDT2.5、ADS1.2,Embest IDE等,基于Linux的用的最多的是GUN工具箱,本次实验开发平台采用ARM公司ADS1.2在Windows XP平台上开发。
相关资源下载:
(1) SamSung公司评估版源代码,生成的二进制文件为2410test.bin:
HYPERLINK /sub3/evboard/smdk2410_down.htm /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的监控程序,下载地址与(1)相同。
(5) μC/OS-II2.52,μCGUI,ucFS,下载地址: HYPERLINK 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.
您可能关注的文档
- IC芯片视觉检测中快速图像匹配定位.pdf
- TSR21 型微型足球机器人视觉系统的研究.pdf
- 彩色图像边缘检测方法的对比研究.pdf
- 多目标实时搜索的足球机器人视觉系统设计——Robocup系列研究之五.PDF
- 非开挖地下穿孔机的旋转方位检测.pdf
- 弧焊机器人视觉测量控制系统.PDF
- 基於腦波之駕駛員認知反應估測及其在安全駕駛的應用.pdf
- 基于arm9的嵌入式系统研究及其在视频电子警察系统中的应用.doc
- 基于hsi颜色空间的多机器人识别研究.PDF
- 基于hvs的彩色图像边缘检测算子.pdf
- 四川省德阳市罗江中学2025届高三考前热身化学试卷含解析.doc
- 山东省枣庄现代实验学校2025届高三下学期第五次调研考试化学试题含解析.doc
- 吉林省长春市十一高中等九校教育联盟2025届高三一诊考试生物试卷含解析.doc
- 2025届江苏省盐城市伍佑中学高考仿真模拟化学试卷含解析.doc
- 2025届广西贺州中学高考冲刺押题(最后一卷)生物试卷含解析.doc
- 安徽省池州市贵池区2025届高三第一次模拟考试生物试卷含解析.doc
- 宁夏银川一中2025届高三(最后冲刺)化学试卷含解析.doc
- 广东省广州市增城区四校联考2025届高考压轴卷化学试卷含解析.doc
- 2025届邯郸市第一中学高考生物必刷试卷含解析.doc
- 2025届安徽省安庆市石化第一中学高考仿真卷化学试卷含解析.doc
文档评论(0)