资料介绍
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所列。
![ADSP-TS101S嵌入式系统的混合编程设计方案分析](/uploads/allimg/171021/2362486-1G021105120524.png)
如果在C/C 调用函数中作了正确的函数返回声明,则被调用的汇编函数可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整数或地址;xr9:8可提供双字结果返回。若返回值大于2个字长,则必须为它们分配存储空间,令j8为返回值,指向该空间的首地址即可。
②在C/C 中声明的全局变量及函数,汇编中加“一”前缀才能使用;在汇编中的对象必须用”一”前缀命名,并用.g10bal声明为全局变量,才可在C/C 中访问到。具体格式如表2所列。
![ADSP-TS101S嵌入式系统的混合编程设计方案分析](/uploads/allimg/171021/2362486-1G021105130T1.png)
1 混合编程的接口规范和标准
①在C/C 环境下,TigerSHARC定义了一套严格的寄存器规则,它分为三类:
第一类是保留寄存器,j16~j25、k16~k25、xr24~xr31、yr24~yr31,共40个,作为编译系统库函数专门使用的寄存器。编写程序时应避免使用这些寄存器,以免误改了系统库函数。若在子程序中使用到,必须在被调用时保存,调用完后释放。
第二类是堆栈专用寄存器,k26、27和j26、j27四个,这些寄存器在调用时都需要保护。
第三类是高速暂存寄存器,包括除了以上两类寄存器以外的所有寄存器。用法和汇编中的普通寄存器是一样的,使用前不需要保存寄存器内容。
在默认情况下,cjmp寄存器用作存放被调函数的返回地址,但在嵌套调用中,这个值会被修改。为了保证安全返回,一般把返回地址存放在堆栈顶偏移地址为0的地方。
函数调用有时需要参数传递,通常,若参数少于5个,则通过寄存器传递,如表1所列。
![ADSP-TS101S嵌入式系统的混合编程设计方案分析](/uploads/allimg/171021/2362486-1G021105120524.png)
如果在C/C 调用函数中作了正确的函数返回声明,则被调用的汇编函数可使用寄存器j8、xr8和xr9返回有效值。j8用于返回整数或地址;xr9:8可提供双字结果返回。若返回值大于2个字长,则必须为它们分配存储空间,令j8为返回值,指向该空间的首地址即可。
②在C/C 中声明的全局变量及函数,汇编中加“一”前缀才能使用;在汇编中的对象必须用”一”前缀命名,并用.g10bal声明为全局变量,才可在C/C 中访问到。具体格式如表2所列。
![ADSP-TS101S嵌入式系统的混合编程设计方案分析](/uploads/allimg/171021/2362486-1G021105130T1.png)
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 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嵌入式系统混合编程 0次下载
- 嵌入式可编程片上系统是什么 598次阅读
- fpga是嵌入式吗 2419次阅读
- 什么是嵌入式系统?嵌入式系统的具体应用 2562次阅读
- 怎么从PC编程转向嵌入式编程 851次阅读
- 混合编程中的模块命名与管理 992次阅读
- 如何实现嵌入式系统远程调试 5401次阅读
- LabView开发嵌入式系统的的挑战及应用解决方案 1905次阅读
- 基于SoPC的嵌入式系统设计方法阐述 1698次阅读
- 嵌入式系统C语言编程实战教程合集 9481次阅读
- 基于嵌入式环境的WiFi通信设计方案详解 5750次阅读
- 嵌入式行业发展状况_嵌入式行业人才需求_嵌入式系统就业前景分析 2.4w次阅读
- 基于SoPC的FPGA集成嵌入式系统设计 1511次阅读
- 深入了解嵌入式编程 3685次阅读
- 一种嵌入式Web服务器的设计方案 4306次阅读
- 基于ARM的嵌入式无线视频采集系统设计 1888次阅读
下载排行
本周
- 1DC电源插座图纸
- 0.67 MB | 2次下载 | 免费
- 2AN158 GD32VW553 Wi-Fi开发指南
- 1.51MB | 2次下载 | 免费
- 3AN148 GD32VW553射频硬件开发指南
- 2.07MB | 1次下载 | 免费
- 4AN111-LTC3219用户指南
- 84.32KB | 次下载 | 免费
- 5AN153-用于电源系统管理的Linduino
- 1.38MB | 次下载 | 免费
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下载 | 免费
- 7SM2018E 支持可控硅调光线性恒流控制芯片
- 402.24 KB | 次下载 | 免费
- 8AN-1308: 电流检测放大器共模阶跃响应
- 545.42KB | 次下载 | 免费
本月
- 1ADI高性能电源管理解决方案
- 2.43 MB | 450次下载 | 免费
- 2免费开源CC3D飞控资料(电路图&PCB源文件、BOM、
- 5.67 MB | 138次下载 | 1 积分
- 3基于STM32单片机智能手环心率计步器体温显示设计
- 0.10 MB | 130次下载 | 免费
- 4使用单片机实现七人表决器的程序和仿真资料免费下载
- 2.96 MB | 44次下载 | 免费
- 53314A函数发生器维修手册
- 16.30 MB | 31次下载 | 免费
- 6美的电磁炉维修手册大全
- 1.56 MB | 24次下载 | 5 积分
- 7如何正确测试电源的纹波
- 0.36 MB | 17次下载 | 免费
- 8感应笔电路图
- 0.06 MB | 10次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935121次下载 | 10 积分
- 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
- 1.48MB | 420062次下载 | 10 积分
- 3Altium DXP2002下载入口
- 未知 | 233088次下载 | 10 积分
- 4电路仿真软件multisim 10.0免费下载
- 340992 | 191367次下载 | 10 积分
- 5十天学会AVR单片机与C语言视频教程 下载
- 158M | 183335次下载 | 10 积分
- 6labview8.5下载
- 未知 | 81581次下载 | 10 积分
- 7Keil工具MDK-Arm免费下载
- 0.02 MB | 73810次下载 | 10 积分
- 8LabVIEW 8.6下载
- 未知 | 65988次下载 | 10 积分
评论