网站大量收购闲置独家精品文档,联系QQ:2885784924

使用 A D S 1 . 2 进行嵌入式软件开发( 上).pdf

使用 A D S 1 . 2 进行嵌入式软件开发( 上).pdf

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
使用 A D S 1 . 2 进行嵌入式软件开发( 上)

嵌入式系统 嵌入式系统 ■ 美国ARM公司 使用ADS1.2进行嵌入式软件开发(上) 概述 ?在主程序执行前,嵌入式应 门术语叫Semihosting。Semihosting 嵌入式应用程序通常都是在样 用程序必须先完成系统的初始化。 通过一组软件中断(SWI)指令来实 机环境下调试与开发的,这种环境 一个完整的初始化包括用户的启动 现。如图1所示,当一个Semihosting 与最终产品之间并不完全相同。因 执行代码和ADS中C库函数的初始 软中断被执行时,调试系统先识别 此,在系统调试阶段就考虑应用程 化过程。 这个SWI请求,然后挂起正在运行 序在最终目标硬件中的运行情况是 的程序,调用Semihosting的服务, 非常重要的。 缺省的工程项目设置 完成后再恢复原来的程序执行。因 本文旨在讨论如何将一个开 刚开始一个嵌入式应用软件开 此,主机执行的任务对于程序来说 发/调试环境下的嵌入式应用程序 发时,ADS用户可能并不完全清楚 是透明的。 转移到最终独立运行的目标系统中 目标硬件的一些参数指标。比如有 ?C语言库函数结构 去,并提到了ARM ADS1.2开发工 关外设、存储器地址分布,甚至处 从概念上来讲,C语言库函数 具包的一些功能特性及其在这个过 理器类型等一些细节,可能还没有 可以被分成两部分,一是ANSI C语 程中所起到的作用。 最终确定。为了在所有这些细节全 言规范本身的一部分,一是只受某 使用ADS开发嵌入式程序时, 部就绪前就能进行软件开发,ADS一特定ANSI C层次支持的函数, 需要着重考虑以下几个问题: 工具有一套程序构建和调试的缺省 如图2所示。 ?与硬件相关的C语言库函数 设置。了解这套缺省的工程项目设 其中一些ANSI C的功能是由 的使用; 置方法,对于掌握最终的移植步骤 主机调试环境调用驱动程序级的函 ?某些C语言库函数使用了调试 非常有好处。 数完成的。例如,ADS的库函数 环境中的资源,要把这些使用的资 ADS 1.2 C语言函数库 printf()把输出信息输出到调试器的 源重定向到目标系统中的硬件上来; ?Semihosting 控制台窗口,这个功能通过调用 ?可执行映象文件的存储器映 在ADS的C语言函数库中,某 __sys_write()实现,__sys_write()执 射必须根据目标硬件的存储器分布 些ANSI C的功能是由主机的调试 行了一个把字符串输出到主机控制 进行裁剪; 环境来提供的,这套机制有一个专 台的Semihosting软中断服务程序。 图1 Semihosting的实现举例 图2 C语言库函数结构 60 2003.4电子设计应用 嵌入式系统 嵌入式系统 图3缺省的存储器映射 图5缺省的ADS初始化过程 图4连接器布局规则 图6 C库函数重定向 缺省的存储器映射 连接器布局规则 能。缺省的ADS初始化过程如图5 如果用户在程序编译时没有指 连接器对代码和数据在存储器

文档评论(0)

yan698698 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档