DSP系统中C语言和汇编语言的混合编程

DSP系统中C语言和汇编语言的混合编程

ID:43445505

大小:47.52 KB

页数:11页

时间:2019-10-02

DSP系统中C语言和汇编语言的混合编程_第1页
DSP系统中C语言和汇编语言的混合编程_第2页
DSP系统中C语言和汇编语言的混合编程_第3页
DSP系统中C语言和汇编语言的混合编程_第4页
DSP系统中C语言和汇编语言的混合编程_第5页
资源描述:

《DSP系统中C语言和汇编语言的混合编程》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、C语言和汇编语言的混合编程•汇编语言编程优点:可以充分地控制处理器的功能,为人匸映射算法构成最有效的程序•缺点:编码效率低、可维护性和移植能力差•C/C++语言编程优点:编码效率高、可维护性和移植性好缺点:速度慢、存储器利用效率低•混合编程以TMS320C2X/C2XX/C5X的C编译器为例•!c讲雷的心储器「:•to言的審菇规则■3Ci?f冷的函数调用规则•4C9A编诰占的接L」C卅舌⑺匚匕"“今•1C语言的存储器模型•C编译器产生的段段名称段内容"储器类型已初始化段.text可执行代砒和浮点常数ROM或RAM0cinit已

2、初始化的全局变st和祁态变就的列衣ROM或RAM0switch用『多开关说的的跳转列衣ROM或RAM0.const已初始化的7符申、全和ROM戒RAM1聽段.bss谢和矗态变量RAM1.stack软件堆栈RAM1.system动态存储空何RAM1•C系统堆栈(软件堆栈)•堆栈的作用::•分配対部变駁•向除数传通參数•保〃隋数的更何地川•保〃处艸;B的状态•保总•保仔啊时储处•堆栈的大小•戲认人小为1X7・6H&时呵用-etackseeA4大小•'器.ttICS没fHWMUt港出的用4册出会矶H厅环境・甘致程序失败•因此・箋鋼保

3、存足够大的空间用ffflK的m•堆栈的管理•廉段从低地址向岛地址堆长•ari:mnmtt

4、如何保护寄存器值用处被调除数保护AR0结构折什YesAR1堆栈指针YesAR2対部变斌指针NoAR2*AR5农达式分析NoAR6-AR7寄"器变《ftYesACC累加器表达式分析鹿回值NoP表达式分析NoT表达式分析No:旳"jt•状态位域保留值是在进入一个曲数或从一个曲数返回时译器期望的该位域的值•短横线表示编译器不期型一个待定的值被修改栏农明编详器代码产住器是否曾修改该位域域名称保割值被修改ARP辅助寄“器指针1YesC进位位—YesDP数据页—Yes0V溢出位一YesOVM溢出模式0NoPM乘枳移位模式0NoSXM符号扩

5、展模式—YesTC测试位—Yes号亡畚汇今WT绘“"JM;;;?•••••堆栈指针.结构指针和局部变量指针•••堆栈指针SP•AR1—堆战折针SP・指向堆栈的F-个可访问单尤•堆栈从低地址向岛地址増长•结构(frame)指针FP•为个幣敌耍求财部“储时(如隔解费岳暂存单尤)•它将加I栈中的様作空何(局郁结恂).该HlV^i构在函B[进入时在H栈中建工分配・任腐数返何时样放分配・ARO—结构1HIFP•折向绍构的”处处•fp指向的前部结构的第一个单尤被用作和时“储m兀.以允许寄存器Z何的8UK传输・H对JC函数的匝入足必须的•局

6、冊变鼠指针LVP•AR2—局部变量折针LVP・所冇存储在耐部纠构中的对象.包括参数・都通过LVP进行间接访网•寄存IB变量寄存器变试是局部变比位『寄存器中(不足存詁器中)的编译器的临时变最编译器使用这些寄存器变駅的方式取决于是否使用了优化器•表达式分析寄存器表达式分析寄存器用F计算表达式的值并保存临时的结果&达式分析寄存器的内•样在被调旳数小不被保护任何用F临时”储的衣达式分析寄“器任换数调用询被保存在局部结构中•返回值函数返冋值放在累加器中•3C语言的函数调用规则•如何产生函数调用个用数(父曲数)在调用英它曲数(犷函数)执行

7、以下任务注意,ARP必须设为11)父沽数将参数以倾倒的顺序压入堆栈•g右边声期的参数第-个压入堆检最左边的參数最后•个爪入堆栈•即垠左边的参数庄栈顶2)父函数调用f负数3)父因数假定从/曲数返冋时.ARP将被况为14)完成调用后.父叭数以SBRKn(n是压入堆栈的参数个数)将参数弹出堆栈C诒善如汇墙诒龙的混合场士->浴才的禺釵调用出址;;;••••被调函数如何相应响应被调函数(f函数)需要完成以下任务"在函数的入口,ARP假定已经设置为41)将返冋地址从硬件堆栈中弹出,并压入软件堆栈中2)将原FP压入软件堆栈3)分配局部结构4

8、)如果/函数中修改了AR6和/或AR7,则将它们压入堆栈,其它的任何寄存器可能被无保存地修改5)执行该函数的代码6)将返回值放入累加器7)设花ARP为AR18)如果AR6和/或AR7被保存,则恢复它们9)释放局部结构分配10)恢奴原FP11)从软件堆栈中复制返回地址•并压入硬

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。