- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
维普资讯
2007年第 3期 福 建 电 脑 71
TMS32OC54XDSP混合编程的研究
成利香
(湖南建材高等专科学校 湖南 衡阳 421008)
【摘 要】:对TMS320C54XDSP汇编语言和C语言的混合编程技术进行 了研究,并指出了混合编程过程中应注意的要
最。
【关键词】:DSP,汇编语言,C语言,混合编程。
1.引言 汇编语言程序: IC程序中:
在对TMS320C54XDSP进行软件开发时.既可用汇编语言也 -bss_a,l ;定义变量 Icxt~llinta: ,.说明为外部变量/‘
可用C语言实现 。汇编语言作一种机器语言,可 以极其方便的控
. global_a ;说明为全局变量 l a=20: .访『问变量/‘
制硬件资源,编译效率高,执行速度快,但代码编写费时又费力 。 若要在汇编中访问C程序变量或函数,也可以采用同样的方法
而 C语言具有丰富的库函数,使用方便灵活 .而且程序的具有很 c程序中: I 汇编语言程序:
好的可读性,可移植性,维护容易。但在面向硬件操作 C语言不 globalinta; .『定义全局变量 /‘ 1 .rcf_a ;说明为外部变量
如汇编语言方便,如对寄存器的赋值,读取,I/0 口输入输出数据 a--20; l sIlA
和控制等。因此在具体工程 中汇编和 C的混合编程无疑是很好
C中访问汇编语言常数
的选择 对实时性要求较高或需对硬件直接控制的功能,如A/D 汇编语言程序: I c程序中:
采样程序 ,F丌 算法等,可由汇编语言实现 ;而对运行速度和代码 _a.seI1000 :定义常数 l exIc=rn血 a; /.说明为外部I用l『
效率要求不高但可读性强易维护的程序。如系统初始化等 ,则用
.global a :申明为全局变量 l #defineS~E((intX&a))
C语言编写。因此混合编程法 已成为DSP开发程序 的常用方法。
2.混合编程技术 3.2函数调用规则
3 .1寄存器规则
2.1直接嵌入汇编语句法
C环境下有严格约定将特殊 的寄存器和特殊操作联系在一
在 C语言程序相应位置直接嵌入汇编语句 ,这是一种 C和
起 ,汇编程序与 C程序接 口必须遵循这些寄存器规则,其规定了
汇编之间比较直接的接 口方法 采用这种方法主要用于C语言
编译器如何使用寄存器 。以及交叉调用时如何保存值。有两类寄
中实现不好实现的一些硬件控制功能,如插入等待状态 ,中断使
存器变量寄存器 ,即人 口保存和调用保存 。这两种寄存器的区别
能或禁止等 。也可以在程序关键部分用汇编代替 C语句优化这
在于交叉调用时对它们的保存方法不同。采用人 口保存寄存器 ,
个程序实现其他功能,但这容易破坏 C环境 ,因为C编译器并
原创力文档


文档评论(0)