



全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
TigeiShark系列DSP的混合编程问题研究 杜天有 (中国电子科技集团公司第二十研究所,陕西西安710068) 【摘要】介绍了在TS201上进行软件开发的几种方法,从工程实现的角度比较各自的优缺点,指出C/C+语言和汇编语言混合编程技术的优越性。之后详细阐述ts编译器的C/C+运行时模型对TigerShark系列DSP芯片的C/C+混合编程所规定的调用规则和接口规范,并给出程序设计实例。对工程实践有很大的参考价值。 关键词dsp;混合编程 1C/C+语言和汇编语言混合编程特点 TS201的软件开发平台VisualDSP+允许用户从汇编语言、C语言的任意一种进行编程或者两种结合使用。C语言程序和汇编程序各具特点,根据不同的场合选择不同的编程语言。C语言程序除了具备可移植性好、兼容性好、软件资源丰富等优点外,对于这种DSP处理器的开发而言,采用C语言编写还能免去熟悉DSP指令体系、硬件的内部结构等工作,简单方便。但是,虽然汇编语言写程序代码长,程序检查也很困难,汇编语言的算法执行效率远远高于C语言。在程序设计的时候,可根据系统计算量、时间资源等选择适合的编程语言,同时也可以选择两种编程语言结合使用。在实际的工程中,常常采用的都是两种结合使用的方式,程序的框架和控制部分采用C语言设计,算法和数据传输部分采用汇编语言设计,这样程序就可读性好,同时执行效率高。 2混合编程参数传递规则 如果在C语言中调用汇编子程序,则这些汇编子程序必须遵守DSP运行规则,这些运行规则称为C语言实时运行模式。 2.1堆栈管理 实时运行堆栈就是内部存储器中的一个缓冲区,通过堆栈指针(j/k27寄存器)和帧指针(j/k26寄存器)进行堆栈的维护。堆栈主要用于保存局部变量,在函数中可能被修改的专用和保留寄存器的值,函数的输入输出参数以及链接信息。 ts编译器目前使用两个堆栈。这两个堆栈位于不同的存储器块中,分别通过iALU寄存器J和K寻址。堆栈指针从存储器的高地址向低地址增长,且堆栈行4字为1组,帧指针指向当前堆栈帧的起始地址,而堆栈指针则指向下一个可用的存储器地址单元。 帧指针总是在实际帧基地址的基础上的,偏移量-0x40以便为局部变量提供较大的寻址范围,J帧指针可以保存到k24中。当在JALU中进行其他地址计算时,允许JFP相对寻址引用可以提高程序的执行效率。如果程序不使用k堆栈,就可以省去所有的操作,包括与k堆栈相关的链接信息等。在调用者的帧中,至少要为4个“参数字”分配空间,这样对于输入参数较少的叶子函数避免创建堆栈。 2.2参数传递规则 )指针和整数类型通过j寄存器传递。 )浮点数和双字变量通过XR寄存器来传递。 )如果输入参数超过2个字,则调用者通过为变量分配存储空间,并将地址以通过j寄存器传递到被调函数中。前4个参数字一般通过寄存器来传递,这样就可以提高程序执行的效率,也大大方便了程序的编写。 )如果函数原型有参数(“”),则紧跟着省略号之前的那个参数和省略号后的参数都将通过存储器传递。 2.3返回值规则 返回值总是通过寄存器j8和X8、X9来传递。返回值的类型决定使用j寄存器还是使用寄存器X,指针和整数通过j寄存器来传递,浮点和双字结果通过两个X寄存器来传递。如果返回值大于2个字,则调用者必须为被调用者的返回值分配空间,并将此空间的地址以隐含参数的方式传递到被调函数中。 3实例分析 子函数:Rx_pute(plusenumber,X,Rx) 该子函数实现了计算矩阵的协方差矩阵的功能。由于输入和输出矩阵的大小都超过了两个字,所以可以采取分配存储空间,通过地址来进行参数传递。 输入参数:plusenumber矩阵的大小 X输入矩阵的地址 输出参数:Rx输出矩阵的地址 则按照上面的顺序,子函数中三个参数分别在j4、j5、j6中存储。 4结束语 本文介绍了基于TS201平台的C/C+语言和汇编语言混合编程方法。由示例程序的比较结果可以看出,这种方法既可以极大提高程序的执行效率,也可以方便用户编程。 参考文献 VisualDSP+4.0C/C+CompilerandLibraryManualforTigerSHARCProcessorsZ.xx. 刘树明,苏涛,罗辉军.TigerSHARCDSP应用系统设计M.北京:电子工业出版社,xx. ADSP-TS201TigerSHARCProcessorProgrammingReferenceZ.xx. :邓丽丽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年圣诞节酒店宣传方案范文(9篇)
- 一般施工方案
- 路灯节能改造工程规划设计方案(参考范文)
- 跨境金融保障措施实施方案
- 精神卫生中心建设项目可行性研究报告(参考模板)
- 供水管道换新改造项目实施方案(模板)
- 湖北经济学院《微机保护及其测试技术》2023-2024学年第二学期期末试卷
- 辽宁职业学院《随机信号分析》2023-2024学年第二学期期末试卷
- 广州幼儿师范高等专科学校《新媒体编辑》2023-2024学年第二学期期末试卷
- 杭州医学院《微机与微控制器原理》2023-2024学年第二学期期末试卷
- 青海省鱼卡矿区鱼卡二号井矿山地质环境保护与土地复垦方案
- 提高大面积混凝土地面表面平整度课件
- 活动板房材料规格表大全
- 台区线损综合分析台区线损分类及计算方法
- 城市园林绿化养护方案
- 人民币收藏培训知识
- 籍贯对照表完整版
- 中兴基站设备故障处理指导书
- 公路工程地质试卷A
- 渤海大学在线自助缴费平台操作流程
- 2023年山东省大学生朋辈心理辅导技能大赛笔试题库
评论
0/150
提交评论