在Simulink (图形块图工具)中对音频算法库进行了建模、测试和验证。它需要从现有的Simulink模型到多个嵌入式平台(浮点和定点DSP处理器:高通、Ten硅胶、ARM等)。
考虑了几个工作流程:
1) Simulink diagram -> Matlab code -> generic C floating point -> C embedded platform 1
-> C embedded platform 2
-> C embedded platform 3
2) Simulink diagram -> generic C floating point -> C embedded platform 1
-> C embedded platform 2
-> C embedded platform 3
3) Simulink diagram -> C embedded platform 1
C embedded platform 2
C embedded platform 3
Simulink模型不断变化,因此需要考虑版本控制和易于维护。
哪个工作流应该是首选的?
注意: Simulink有C代码生成特性。它既可以生成通用的C代码,也可以生成嵌入式C代码(支持一些所需的嵌入式平台(ARM),而不支持某些嵌入式平台(Ten硅胶))。不确定C代码的质量和可用性!?
发布于 2020-04-25 11:06:14
首选的工作流将是一个完全自动化的工作流,您很有信心生成的C代码与Simulink模型相匹配,并且具有所需的性能特征。
其次是一个工作流,在这个工作流中,Simulink中的一个操作生成一个中间文件(甚至C代码),可以输入到一个自动化的过程中。
有了自动化的过程,构建服务器就可以采用最新的Simulink模型并创建可以放在嵌入式处理器上的二进制文件。中间的任何手动步骤都意味着需要存档的一组额外文件,并且在更改模型时可能会忘记更新这些文件。
我不能推荐特定的工作流,因为我不太了解涉及的工具,但是您应该能够自己进行评估。使用一个足够简单的模型,既可以手动验证生成的C代码,也可以轻松地验证测试设置中的特性,然后只需尝试每个工作流。如果你想要更多的自信,重复一些其他的模型,或者引入一些会在测试结果中清晰显示的变化。由于这些是演示/测试模型,这样的更改不需要只显示生产所需的效果。
https://softwareengineering.stackexchange.com/questions/409242
复制相似问题