TI中文支持网
TI专业的中文技术问题搜集分享网站

关于fft例程固化到28335flash问题

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

Seven Han:

RAM中运行正常,烧录flash中计算结果不正确,没有遇到过这样的问题,还是要检查下看是否存在非法计算,比如负数开偶次方,

http://www.cnblogs.com/dosrun/p/3908617.html

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

yinfei feng:

回复 Seven Han:

问题解决了,将fft计算过程中用到的数组通过#pragma DATA_SECTION(RFFToutBuff,"RFFTdata2");复制在固定的ram位置,就解决了,具体的原因现在还尚不清楚。总之谢谢你的解答

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

BO LIU18:

回复 yinfei feng:

原因一般是这段代码需要一个ram空间,默认代码和cmd的设置里是在ram里。当移植到flash时,除了需要把关键代码加载到指定的ram里,也需要在代码里指定那段应用函数的空间的位置,然后在cmd里分配。cmd里不指定的话,boot起来后,运行你的那段应用函数时就都不知道跑到哪儿了

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

yinfei feng:

回复 BO LIU18:

你好,你的意思是不是代码运行时并不会自动在芯片的RAM 中分配函数的空间,这个空间需要自己定义?可是我程序中除了FFT部分,其他定义的数组都是可以使用的。

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

yinfei feng:

回复 BO LIU18:

谢谢大神解答,明白了,这个是FFT的代码要求要有一个固定地址空间。

采用ti官方的fft代码来进行傅里叶计算,在ram中能够正常运行,但是移植到flash中后会出现和运算错误,所有的运算结果都是NaN,请问是不是哪里出了问题?应该如何解决呢?

user5196261:

回复 yinfei feng:

请问您是如何修改的?只是把cmd换成F28335.cmd并在cmd中定义段吗?

赞(0)
未经允许不得转载:TI中文支持网 » 关于fft例程固化到28335flash问题
分享到: 更多 (0)