电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>DSP>DSP编程技巧之链接汇编代码与C_C++代码

DSP编程技巧之链接汇编代码与C_C++代码

2017-10-18 | rar | 0.2 MB | 次下载 | 免费

资料介绍

  在DSP的开发中,常用的算法都可以用C/C++代码来高效实现。但是对一些特殊寄存器的读写,例如某些CPU寄存器的读写,因为C/C++代码无法直接对其访问,仍然需要使用汇编代码进行操作。此外,在一些对代码执行时间要求很严格的算法,例如很多个点的FFT、IFFT中,汇编代码的高效仍然是C/C++所不能替代的。这些就涉及到了C/C++代码与汇编代码的接口问题,在此我们就来了解一下它们是如何交互的。首先要遵循以下的九大原则:

  1. 所有的函数(不管是C/C++的还是汇编的)都要遵循特定的寄存器约定

  寄存器约定用来规定编译器如何使用寄存器,主要指的CPU/FPU的寄存器(因为它们在程序运行中是反复使用的),并且在函数调用前后如何保存寄存器的值。保存寄存器值的方法分为在函数入口处保存和在调用时保存,前者是由被调用的函数来完成的,后者则是由调用别的函数的函数来完成的。在TMS320C28x编译器中,使用如下的规则,如表1、表2所示。通过表1、2,我们还可以对CPU/FPU的寄存器有进一步的理解,这样以后再看到寄存器的名字时就不至于一头雾水了。

  DSP编程技巧之链接汇编代码与C_C++代码

  表1 CPU寄存器使用和保留的约定

  DSP编程技巧之链接汇编代码与C_C++代码

  表2 FPU寄存器使用和保留的约定

  编译器对CPU的状态寄存器ST中的某些位也有一定的约定,如表3、表4所示;没有列在表中的状态寄存器的位则不受编译器的影响。对其中的某些位,编译器会假设它们在函数调用或者返回时具有特定的假想值;在系统初始化建立C语言的实时运行环境时,这些位也会被初始化为特定的假象值。

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1电子电路原理第七版PDF电子教材免费下载
  2. 0.00 MB  |  1489次下载  |  免费
  3. 2单片机典型实例介绍
  4. 18.19 MB  |  91次下载  |  1 积分
  5. 3S7-200PLC编程实例详细资料
  6. 1.17 MB  |  27次下载  |  1 积分
  7. 4笔记本电脑主板的元件识别和讲解说明
  8. 4.28 MB  |  18次下载  |  4 积分
  9. 5开关电源原理及各功能电路详解
  10. 0.38 MB  |  9次下载  |  免费
  11. 6基于AT89C2051/4051单片机编程器的实验
  12. 0.11 MB  |  4次下载  |  免费
  13. 7基于单片机和 SG3525的程控开关电源设计
  14. 0.23 MB  |  3次下载  |  免费
  15. 8基于单片机的红外风扇遥控
  16. 0.23 MB  |  3次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234313次下载  |  免费
  3. 2PADS 9.0 2009最新版 -下载
  4. 0.00 MB  |  66304次下载  |  免费
  5. 3protel99下载protel99软件下载(中文版)
  6. 0.00 MB  |  51209次下载  |  免费
  7. 4LabView 8.0 专业版下载 (3CD完整版)
  8. 0.00 MB  |  51043次下载  |  免费
  9. 5555集成电路应用800例(新编版)
  10. 0.00 MB  |  33562次下载  |  免费
  11. 6接口电路图大全
  12. 未知  |  30319次下载  |  免费
  13. 7Multisim 10下载Multisim 10 中文版
  14. 0.00 MB  |  28588次下载  |  免费
  15. 8开关电源设计实例指南
  16. 未知  |  21539次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935053次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537791次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420026次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234313次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233045次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191183次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183277次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138039次下载  |  免费