DSP中 堆栈具体详细的使用方法

DSP中 堆栈具体详细的使用方法,第1张

不知道你说得是那个厂商的那款DSP。我现在用的德州仪器的TMS320F2812的软件堆栈的SP是从低地址变化到高地址的。把在堆栈为空时,SP指向的低地址称为栈顶top。

例如:

MOV *SP++,AL 把16位的AL寄存器的内容压入栈顶,并且SP自加1。

MOVL *SP++,P 把32位的P寄存器的内容压入栈,并且SP自加2。

以上的例子是从TI的2812芯片的DATASHEET里找到的,如果你使用的不是TMS320F2812,建议下载你所使用的芯片的DATASHEET来查阅。因为各个芯片系统的定义不一样。

新建工程:

1.路径,文件名不得包含中文。

2.拷贝文件夹:common,headers.

3.添加cmd文件:common/cmd/28335_RAM_link.cmd headers/cmd/DSP28335_Headers_nonBIOS.cmd

4.必须添加的8个Source文件: common/source/ADC_cal.asm /CodeStartBranch.asm

/Defaultisr.c /PieCtrl.c /PieVect.c /SysCtrl.c /usDelay.asm headers/source/GlobalVariadleDefs.c

5.其他的文件在common/source里按需添加

6.添加自己写的 .c 文件:放置在工程里

7.右击工程文件,点击Build options

设置两个地方:

1.在Compiler下点击Advanced->将浮点型库支持选上(fpu32

点击Preprocesso填写头文件路径:在Path(-i)下写:

..\..\DSP2833x_headers\include..\..\DSP2833x_common\include

2.在link的basic下将Suppress Banner(-q)的复选框勾起设置堆栈的大小:Stack Size(-heap)

设置为0x200 的Libraries 下设置Search path(-i):..\..\DSP2833x_common\include

Inic Libraries: rts2800_fpu32.lib


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/8093474.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存