- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
无操作系统的应用程序开发.ppt
第4章 无操作系统的应用软件开发 嵌入式软件系统分为无操作系统和有操作系统。 前者包括引导程序和应用程序,后者则在引导程序结束后运行操作系统,并将应用程序作为任务添加到操作系统中。 NOTE: 运行操作系统会占用大量宝贵的硬件资源,因此很多硬件资源有限、任务简单的嵌入式应用并不使用操作系统。 嵌入式系统不管是否使用操作系统,都需要一段引导程序BootLoader来初始化硬件,为操作系统或应用程序的运行做准备。 BootLoader是硬件与软件的桥梁,其作用就是初始化硬件设备、编址空间映射,建立系统软、硬件的正常工作状态。 BootLoader的开发已经成为嵌入式系统教学和工程中的技术瓶颈。 本章的内容: * 介绍BootLoader的功能 * 分析s3c4510b的编址空间映射 * 分析BootLoader的启动过程 * 提出工程中BootLoader的解决方案。 * 用实例介绍不使用嵌入式操作系统的软件开发流程和代码固化方法。 本章的目标: 让读者能使用ADS开发一个完整的不使用操作系统的嵌入式系统。 4.1 软件开发数据流向图 在不使用嵌入式操作系统的情况下,在ADS上能完成从BootLoader到应用程序的整个开发流程,使用JTAG仿真器进行调试,RS-232串口作为标准输入/输出,数据流向如P120 图4.1所示。 在调试阶段: 使用ADS开发应用程序,编译生成带调试信息的.axf文件; 用JTAG仿真器连接实验板和PC,将实验板上电,打开调试代理软件检测到ARM核处理器 在AXD中使用setmem或obey命令设置CPU特殊功能寄存器配置存储空间; 加载.axf文件到SDRAM存储器就可以调试运行了; 利用AXD提供的单步、断点等调试手段,可以方便地查看CPU寄存器、存储器内容。 NOTE: * 程序是在SDRAM里运行的,因此掉电后不能保存; * 应用程序调试完毕后,将其加入BootLoader,编译生成不带调试信息的.bin文件,bin格式的映象文件只能全速运行; * 烧写.bin文件需要一个专门的Flash烧写程序(扩展名为.axf)。 * 先采用上述调试软件的方法将烧写程序.axf文件加载到SDRAM,然后选择AXD的File菜单里面的Load Image命令,将应用程序.bin文件加载到SDRAM的合适地址上,运行烧写程序,就能将.bin文件烧写到Flash存储器了。 * 在调试或烧写过程中,可以将必要信息通过RS-232串口输出到PC超级终端进行显示。 4.2无操作系统的软件运行模式 不使用操作系统时,嵌入式软件系统包含引导程序和应用程序两个部分: (1)引导程序是嵌入式软件系统中必不可少的部分,完成硬件初始化、存储器空间映射和设置系统工作状态等工作。 (2)应用程序则根据不同应用目的而编写。 无操作系统下的各种软件运行模式的主要区别在于: 引导程序和应用程序的各种组成方式。 NOTE: 下面介绍的四种模式中采用的编址空间是经过二次存储器映射后的空间,在没有了解存储器的二次映射之前,只需要了解此图中各个部分的逻辑关系即可,不用去考虑物理地址。 无操作系统的嵌入式软件运行模式: 1、应用程序和引导程序在一个工程中一起编译为一个.bin文件,烧写到Flash存储器地址0x0,引导程序运行结束后直接跳转到应用程序的入口处: (1)BootLoader启动后,Flash中的所有程序被复制到SDRAM存储器中,如图4.2 P121 (2) 引导程序结束后就进入应用程序,这种跳转方式通过在引导程序中导入应用程序主函数名称来实现。 (3)从汇编程序跳转到应用程序时,编译器会自动计算跳转的目的地址。 。 (4) 跳转的代码如下: IMPORT C_Entry ;导入应用程序的C_Entry函数 BL C_Entry ;跳转到该函数,跳转地址由编译器在编译时计算 NOTE: 应用程序存放到SDRAM的引导程序后,但其起始地址并不固定,在编译时,应用程序的起始地址随着引导程序的大小而变化。 2、应用程序和引导程序分别编译为两个.bin文件,引导程序烧写到Flash存储器地址0x0,应用程序则烧写到存储器中的某个地址,引导程序运行结束后跳转到该地址
您可能关注的文档
最近下载
- 贵州省桐梓县国土空间规划城市年度体检报告 92页.pdf VIP
- Top开源大模型安全测评报告(2024).pdf VIP
- PLC应用技术三菱 上册完整版全套PPT电子课件.ppt
- 2025人形机器人100 家公司:绘制人形机器人价值链.pdf VIP
- 4.4核对商定日程(教案)【导游业务第五版】.docx VIP
- 宜春市市直事业单位选调工作人员考试真题2024.docx VIP
- 实施指南(2025)《JR_T 0020-2024 上市公司行业分类新标》.pptx VIP
- GB-T24001-2016 环境管理体系 要求及使用指南.pdf
- 汉语写作与百科知识(三).ppt VIP
- 2022年吉安市市直事业单位选调工作人员考试真题.docx VIP
文档评论(0)