资料介绍
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函数互调都必须遵循这些规则。函数调用的标准运行模式为:①调用者将参数庄人堆栈。压入时按照反序进行,即最右边的参数位于堆栈的顶部。②调用函数。③调用结束时,调用者将参数弹出堆栈并返回。整个过程离不开堆栈操作。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- EE-217:更新ADSP-TS101S TigerSHARC EZ-KIT Lite固件
- EE-169:估算ADSP-TS101S的功耗
- 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-176:ADSP-TS101S老虎SHARC高级Processor硬件设计检查表
- ADSP-TS101S EZ-KIT有限公司设计数据表(1.3版) 0次下载
- ADSP-TS101S IBIS数据文件BGA包
- ADSP-TS101S嵌入式系统的混合编程设计方案分析 1次下载
- 嵌入式可编程片上系统是什么 1.2k次阅读
- fpga是嵌入式吗 4.8k次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 4k次阅读
- 怎么从PC编程转向嵌入式编程 1.4k次阅读
- 混合编程中的模块命名与管理 1.7k次阅读
- 嵌入式系统的全面解析 3.7k次阅读
- 如何实现嵌入式系统远程调试 6.7k次阅读
- 基于SoPC的嵌入式系统设计方法阐述 2.3k次阅读
- 嵌入式系统C语言编程实战教程合集 1w次阅读
- 嵌入式软件开发编程规范介绍 5k次阅读
- 嵌入式系统的特点大汇总 6.5k次阅读
- 干货!使用嵌入式处理器对可编程逻辑器件重编程 2.1k次阅读
- 嵌入式系统有哪些部分组成_嵌入式系统的应用领域 3.5w次阅读
- 深入了解嵌入式编程 4.2k次阅读
- 典型的嵌入式系统设计 3.1k次阅读
下载排行
本周
- 1冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 2安川A1000变频器中文版说明书
- 20.16 MB | 3次下载 | 3 积分
- 3直流电路的组成和基本定律
- 1.67 MB | 2次下载 | 免费
- 4丹佛斯2800系列变频器说明书
- 8.00 MB | 1次下载 | 5 积分
- 5PC8011同步开关型降压3.5A单节锂电池充电管理电路技术手册
- 0.74 MB | 1次下载 | 免费
- 6ES7243E+ES8311音频录制与播放电路资料
- 0.06 MB | 1次下载 | 5 积分
- 7SDM02 激光测距模块产品手册
- 0.43 MB | 1次下载 | 免费
- 8SDFM 激光测距模块模组手册
- 0.54 MB | 1次下载 | 免费
本月
- 1CH341编程器软件NeoProgrammer_2.2.0.10
- 20.47 MB | 170次下载 | 1 积分
- 22025智能家居传感器市场分析及创新应用
- 3.11 MB | 43次下载 | 免费
- 3RV1126B系列开发板产品资料
- 4.19 MB | 18次下载 | 免费
- 4CH341编程软件下载
- 2.50 MB | 16次下载 | 5 积分
- 5全志系列-米尔基于T153核心板开发板 四核异构、3路千兆网,赋能多元化工业场景
- 3.05 MB | 12次下载 | 免费
- 6【开源】60余套STM32单片机、嵌入式Linux、物联网、人工智能项目案例及入门学习资源包
- 10.55 MB | 8次下载 | 免费
- 7冷柜-电气控制系统讲解
- 13.68 MB | 4次下载 | 10 积分
- 8特斯拉MODEL S车载充电机主电路回路原理图
- 0.81 MB | 4次下载 | 3 积分
总榜
- 1matlab软件下载入口
- 未知 | 935137次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420064次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233094次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191448次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183356次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81604次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73824次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65991次下载 | 10 积分
电子发烧友App





创作
发文章
发帖
提问
发资料
发视频
上传资料赚积分
评论