DSP 软件编程经验浅谈.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP 软件编程经验浅谈.pdf

本文由dhlwq007贡献 经 交 验 流 EXPERIENCE EXCHANGE DSP 软 件 编 程 经 验 浅 谈 ■ 西安电子科技大学 陈 梅 红 陈 健 C54x 软件设计通常有三种方法.第一,用 C语言开 发.这种方式可大大提高软件的开发速度和可读性, 方 便软 件的修改和移植;但在有些情况下,C代码的效率 还是无法与手工编写的汇编代码的效率相比,如 FFT程 序.另 外,C编译器无法在所有的情况下都能够合理地 利用 DSP 芯片所提供的各种资源;用 C语言实现 DSP芯 片的某 些硬件控制也不如汇编程序方便, 有些甚至无法 用 C语言实现.第二,全用汇编语言开发.此种方式可 合 理 地 应 用 芯 片 提 供 的 硬 件 资 源 , 其代码效率 高,程序执行速度快;但用汇编语言编写程序比 较繁 杂,而且,不同公司的芯片汇编语言是不同 的, 即 使 同 一 公 司 的 不 同 芯 片 其 汇 编 语 言 也 不 同.因此,用汇编语言开发基于某种芯片的产品 周期较长,并且软件的修改和升级较困难,所以 汇编语言的可读 性和可移植性较差.第三,C和 汇编语言混合编程开发. 这种方法可以充分利用 DSP 芯片的资源,更好地发挥 C 语言和汇编语言 的优点,可以将两者有机地结合起来,兼顾两者 的优点,避免其弊端.因此在很多情况下,采用 混合编程方法能更好地达到设计要求, 完成设计 任务.但是,采用 C和汇编语言混合编程必须遵 循有关的法 则,否则会遇到意想不到的问题,给 设计者带来许多麻烦. C 语言和汇编语言的混合编程有四种方法. ① 独立 编写汇编程序和 C 程序, 分开编译或汇 编形成各自的目标代码模块,用链接器将 C模块 和汇编模块链接起 来. 这是一种灵活性较大的方 法, 但用户必须自己维护各汇编模块的入口和出 口代码,自己计算传递的参数 在堆栈中的偏移 量,工作量较大,但能做到对程序的绝对控制. ② 在 C 程序中使用汇编程序中定义的变量和 常 量. ③ 在 C 程序中内嵌汇编语句. 此种方法可 以实现 C语言无法实现的一些硬件控制功能,如 修改中断 控制寄存器(如中断标志寄存器) .④ 将 C语言编译生成相应的汇编程序,手工修改和 优化 C 编译器生成的汇 编代码.采用这种方法, 可以控制 C编译器,从而产生具有交叉列表的汇 文件类 汇编器 类 代码产 生器类 优化器 类 诊断类 符号类 分析器 类 类型 选项 -pi -pk -pr -ps -pl - pm -px -as -ga -aw -pdw -pdv -pdf -o0,… ,-o3 -oL0,… ,-oL2 -on0,… ,-on2 -os -op0,… -op3 -ma - mn -mo -ms -rar1,-rar6 -mf -mr -aa -al -ax -k -ea -fs -eo -fr -ft 编程序;而程序员可以对其中的汇编语句进行修改, 之 后, 对汇编程序进行汇编, 可产生目标文件. 本文根据 file:///G|/Documents and Settings/Lch/桌面/wenkuxiazai/Download/计算机/DSP 软件编程经验浅谈.txt [2012-3-14 18:44:56] 作者使用 CCS(Code Composer St udio)编 程的实际情况和切身体会, 提出编程中需要注意的几个 问题. 1编 器 译 ,汇 器 编 ,链接器的配置 ① 编译器的选项如表 1 所列. 表 1 含 义 去除内部链接功能 允许 K;R 兼容 使能宽松模式 使能严格 ANSI 模式( 对 C 语言) 生成原始列表信 息文件(*.rl) 优化链接源文件 生成交叉信息文件 使汇编器具有-s 选项,从而将信号置入符号列表 将每一个 变量编译为汇编文件中的全局变量 使能流水线冲突警告信息显示 删除警告信息 提供源代码中详细的错误信 息 生成错误信息文件 (*.err) 设置不同级别的优化级 库函数声明选项 编译器生成信息文件详细程度选项 显示 C 的内部列表 告诉编译器模块内变量,函数与原程序之间是否有 调用修改关系 假定变量可以有别名 让 由符号级调用-g 禁止的优化使能 禁止后端 (bank-end)优化 优化代码空间而不是速度 保留 ar1,ar6 ,使代 码生成器和优化器不能用它 使所有调用和返回都是远程调用和返回 ( 对 C548 或功能更强的 DSP),缺省时使 用近程调用 消除 RPT 指令 生成绝对汇编列表文件 生

文档评论(0)

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

1亿VIP精品文档

相关文档