1. 请问DSP程序的堆栈深度如何测试?有没有相关文档?我的思路是使用LOG_printf函数记录SP的数值,但不清楚怎样在程序中访问SP寄存器,需要包含什么头文件?
2.请提供一些DSP汇编的文档链接地址,我想了解一下DSP对stack的具体操作规则。
noaming:
针对DSP 6455的汇编指令集,你可以看下面文档的第三章
http://www.ti.com/lit/ug/spru732j/spru732j.pdf
Leon Teung:
回复 noaming:
您好,麻烦您解答下我的第一个问题——堆栈深度怎么测试?在程序中如何访问SP寄存器?
noaming:
回复 Leon Teung:
您好,可能不同的处理器架构不一样,首先你需要确定你使用的某款芯片,然后找到该芯片中你所指的寄存器,之后再讨论如何访问该寄存器,这样会有比较具体一点。
Leon Teung:
回复 noaming:
您好,我采用的芯片是TMS320C6748。我想请教的是在C程序中访问SP(在6748中对应B15),需要如何声明?
我试过extern cregister SP;,但是编译报错。
noaming:
回复 Leon Teung:
您好,B15并不是特殊寄存器,请在这里面找一下您所指的寄存器:
http://www.ti.com/lit/ug/sprufe8b/sprufe8b.pdf
Leon Teung:
回复 noaming:
您好,我想问的就是如何在C程序中访问B15寄存器,需要加什么声明?
noaming:
回复 Leon Teung:
您好,B15需要在汇编语句访问。
C中可以访问特殊寄存器,
如 IER和IFR,可在头文件中如此定义:
extern cregister volatile unsigned int IFR;extern cregister volatile unsigned int IER;