小弟初学DSP,请问各位大侠:用C语言对DSP进行编程需要做些什么大神们帮帮忙

Python021

小弟初学DSP,请问各位大侠:用C语言对DSP进行编程需要做些什么大神们帮帮忙,第1张

1.需要知道DSP的代码编译及执行的基本原理,工程文件基本包括的内容。一般跟着hellodsp的视频教程学,再在例程上边改边学比较快。DSP和单片机有很多相似的地方。初学的话一般从流水灯开始学起。2.Matlab的代码执行原理和语法完全不同于DSP的。用执行matlab的语句直接复制到DSP是肯定不行的。但是两者的语句又十分相似,稍加改动的话,代码移植比较容易,特别是算法部分(外设接口部分就很难)。 查看原帖>>

求采纳

移植:

1)如果你的算法是基本opencv这样的基本上开发的,你需要脱离opencv的环境。

2)如果你的算法是C++语言,请你改成标准的C语言。虽然DSP的开发环境是支持C++的,但是不建议你这么做。

3)修改你算法的内存分配,尽量内存一次分配好,DSP在算法不断的申请和释放时会有隐患。优先使用静态数组,会减轻很多工作量。

4)在CCS下建立工程,来调试你的算法,内存分配函数需要使用TI提供的函数。如果你的算法能够长期稳定的运行,那么恭喜你,你的算法移植就完成了。

优化:

算法优化,需要你能懂算法,也懂DSP。如果你只会写DSP程序,而不会算法,这对整个产品来说,是不能达到最优的。有些公司怕算法泄密,给优化人员一段或几段程序让其优化。我觉得这样做是很不合理的。除非你自己能控制大局,精通优化,这样才可行。

1)你需要对算法原理做一个深刻苦的理解,阅读相关的文章。

2)对你拿到的算法做全方位的熟悉。

3)做好上面的准备工作后,你要对算法的结构做重新的整理。依据DSP的特点,比如内存的分布。算法结构调整完成后,你的算法在DSP上速度应该有一个明显的提高了。

4)结构调整完成后,找到算法中比较费时的部分。确定我们需要优化的重点,这部分内容多是每张图像都要处理一次或多次的部分。对于算法启动时初始化部分的内容,一般不需要优化。

5)确定优化内容后,你首先考虑从语言结构上去做优化,这个时候应该还是C语言的。我不建议大家用TI提供的在C语言中使用优化嵌入的C库函数。

6)你把需要优化的函数改写为线性汇编或汇编函数。不断的调整软件流水,提高速率。