(4) 循环缓冲区地址分配问题。循环缓冲区的地址分配必须对齐,长度为R的缓冲区必须从N位地址的边界开始(即循环缓冲区基地址的N个最低有效位必须为0),N 是满足2N>R的最小的整数。例如,长度R=31的循环缓冲区必须从地址XXXX XXXX XXX0 00002(N=5,25>>31,该地址的最低5位为0)。
(5) 内存泄漏问题。因为DSP使用的是哈佛结构,数据空间和程序空间是分开的,一般数据的操作不会影响到程序。但是DSP芯片上都带有RAM,而这些空间数据和程序是共享的,所以对该部分的数据进行操作,如果有泄漏的话会改写程序,导致程序跑飞。因此程序跑飞的话,就要考虑是否有内存泄漏。
www.55dianzi.com
4 结论
以上经验和技巧均是笔者在实际的 DSP 工程中总结得出,实践证明对实际开发非常有帮助。以笔者对G.729算法 优化 为例,在优化之前,G.729的运算量为1000MIPS,优化后的运算量为30MIPS,提高了30多倍,可见优化的效果很明显。以上这些经验主要是针对TI公司的 54系列,但对于别的型号的DSP也有借鉴作用。
参考文献
1 彭启琮.TMS320C54X实用教程.电子科技大学出版社,2000
2 戴明桢.TMS320C54X数字信号处理器结构、原理及应用.TI DSPS UNIVERSITY,2000
本文关键字:手工 DSP/FPGA技术,单片机-工控设备 - DSP/FPGA技术