资料介绍
ADSP-TS101S是美国ADI公司推出的一款具有极高性能的数字信号处理器(DSP)芯片,其专为大信号处理任务和通信应用进行了结构上的优化设计,在嵌人式信号处理中得到广泛应用。ADSP-TS101S的软件设计可以采用汇编语言、高级语言(C/C )或高级语言与汇编语言混合编程。完全采用汇编编程,执行效率高,但对于复杂算法编写难度大,开发周期长,可读性和可移植性差;而完全采用C编程虽然可以弥补汇编的缺陷,但是程序的执行效率相对较低,大概只有汇编程序的10%~20%,对于实时性要求很高的处理,如雷达信号处理,很难满足要求。采用混合语言编程,用c语言构建框架,用汇编完成运算量较大的核心处理模块及硬件底层管理,就可以把两者的优点有效地结合起来。C和汇编语言的混合编程有三种形式:一是对C程序编译后形成的汇编程序进行手工修改与优化;二是直接在C代码中插入汇编语句,只需在汇编语句两边加上双引号和括号,在括号前面加上标识“asm“,如asm(“汇编语句”);三是分别编写C程序和汇编程序,再独立编译成目标代码模块链接。第一种方法对程序可读性负面影响较大。第二种方法适用于C与汇编效率差异较大的情况,如进入中断的中断子程序等。第三种方法最常用,需要遵循一些规定的接口规范和标准。
1 混合编程的接口规范和标准
①在C/C 环境下,TigerSHARC定义了一套严格的寄存器规则,它分为三类:
第一类是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40个,作为编译系统库函数专门使用的寄存器。编写程序时应避免使用这些寄存器,以免误改了系统库函数。若在子程序中使用到,必须在被调用时保存,调用完后释放。
第二类是堆栈专用寄存器,k26、27和j26、j27四个,这些寄存器在调用时都需要保护。
第三类是高速暂存寄存器,包括除了以上两类寄存器以外的所有寄存器。用法和汇编中的普通寄存器是一样的,使用前不需要保存寄存器内容。
在默认情况下,cjmp寄存器用作存放被调函数的返回地址,但在嵌套调用中,这个值会被修改。为了保证安全返回,一般把返回地址存放在堆栈顶偏移地址为0的地方。
函数调用有时需要参数传递,通常,若参数少于5个,则通过寄存器传递,如表1所列。
如果在C/C 调用函数中作了正确的函数返回声明,则被调用的汇编函数可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整数或地址;xr9:8可提供双字结果返回。若返回值大于2个字长,则必须为它们分配存储空间,令j8为返回值,指向该空间的首地址即可。
②在C/C 中声明的全局变量及函数,汇编中加“一”前缀才能使用;在汇编中的对象必须用”一”前缀命名,并用.g10bal声明为全局变量,才可在C/C 中访问到。具体格式如表2所列。
2 混合编程的调用和中断
2.1 函数调用
C编译器对函数调用有一系列严格的规则。除了特殊的运行支持函数外.任何函数与c函数互调都必须遵循这些规则。函数调用的标准运行模式为:①调用者将参数庄人堆栈。压入时按照反序进行,即最右边的参数位于堆栈的顶部。②调用函数。③调用结束时,调用者将参数弹出堆栈并返回。整个过程离不开堆栈操作。
1 混合编程的接口规范和标准
①在C/C 环境下,TigerSHARC定义了一套严格的寄存器规则,它分为三类:
第一类是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40个,作为编译系统库函数专门使用的寄存器。编写程序时应避免使用这些寄存器,以免误改了系统库函数。若在子程序中使用到,必须在被调用时保存,调用完后释放。
第二类是堆栈专用寄存器,k26、27和j26、j27四个,这些寄存器在调用时都需要保护。
第三类是高速暂存寄存器,包括除了以上两类寄存器以外的所有寄存器。用法和汇编中的普通寄存器是一样的,使用前不需要保存寄存器内容。
在默认情况下,cjmp寄存器用作存放被调函数的返回地址,但在嵌套调用中,这个值会被修改。为了保证安全返回,一般把返回地址存放在堆栈顶偏移地址为0的地方。
函数调用有时需要参数传递,通常,若参数少于5个,则通过寄存器传递,如表1所列。
如果在C/C 调用函数中作了正确的函数返回声明,则被调用的汇编函数可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整数或地址;xr9:8可提供双字结果返回。若返回值大于2个字长,则必须为它们分配存储空间,令j8为返回值,指向该空间的首地址即可。
②在C/C 中声明的全局变量及函数,汇编中加“一”前缀才能使用;在汇编中的对象必须用”一”前缀命名,并用.g10bal声明为全局变量,才可在C/C 中访问到。具体格式如表2所列。
2 混合编程的调用和中断
2.1 函数调用
C编译器对函数调用有一系列严格的规则。除了特殊的运行支持函数外.任何函数与c函数互调都必须遵循这些规则。函数调用的标准运行模式为:①调用者将参数庄人堆栈。压入时按照反序进行,即最右边的参数位于堆栈的顶部。②调用函数。③调用结束时,调用者将参数弹出堆栈并返回。整个过程离不开堆栈操作。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- ADSP-TS101S IBIS数据文件BGA包
- EE-178:ADSP-TS101S TigerSHARC®片上SDRAM控制器
- ADSP-TS101S EZ-KIT Lite评估系统手册(1.1版,2004年3月) 0次下载
- ADSP-TS101S EZ套件精简版ğSUP_ 0次下载
- 用于ADSP-TS101S TigerSHARC处理器的EZ套件精简版产品亮点 0次下载
- ADSP-TS101S TigerSHARC版本0.2、0.4异常列表 0次下载
- EE-169:ADSP-TS101S的功耗估算
- EE-174:ADSP-TS101S虎-SHARC高级ProcessLuter加载内核手术
- EE-217:更新ADSP-TS101S老虎SHARC-ZEZ-KIT有限公司
- EE-205:将代码从ADSP-TS101S TigerSHARC®处理器移植到ADSP-TS201S TigerSHARC处理器的注意事项
- EE-176:ADSP-TS101S老虎SHARC高级Processor硬件设计检查表
- ADSP-TS101S EZ-KIT有限公司设计数据表(1.3版) 0次下载
- ADSP-TS101S IBIS数据文件BGA包
- ADSP-TS101S嵌入式系统的混合编程设计方案分析 1次下载
- 基于USB总线的ADSP-TS101S链路口加载 0次下载
- 嵌入式可编程片上系统是什么 411次阅读
- fpga是嵌入式吗 1767次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 2096次阅读
- 怎么从PC编程转向嵌入式编程 655次阅读
- 混合编程中的模块命名与管理 835次阅读
- 嵌入式系统的全面解析 3146次阅读
- 如何实现嵌入式系统远程调试 5077次阅读
- 基于SoPC的嵌入式系统设计方法阐述 1529次阅读
- 基于嵌入式软件的JNI技术应用解析 1020次阅读
- 嵌入式系统C语言编程实战教程合集 9264次阅读
- 嵌入式软件开发编程规范介绍 4206次阅读
- 嵌入式系统的特点大汇总 5743次阅读
- 干货!使用嵌入式处理器对可编程逻辑器件重编程 1590次阅读
- 深入了解嵌入式编程 3549次阅读
- 典型的嵌入式系统设计 2650次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 6基于FPGA的C8051F单片机开发板设计
- 0.70 MB | 2次下载 | 免费
- 751单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21548次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183278次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多