基于模型的嵌入式C代码的实现与验证
模型连接Lightflow model如图2所示。 模型连接好后,调整模型配置选项卡参数。处理器选择8051系列,ERT.TLC生成代码选C,生成SIL,生成代码报告打勾,其他默认。 除经典51系列外,该方法适用于8051、DSP、ARM、FPGA等各种嵌入式芯片应用实现。Matlab支持第三方工具,可与ccs/MPLab进行无缝链接,用户可以利用Matlab脚本和Simulink模型在芯片上调试,验证自动生成的嵌入式C代码,并自动下载到目标板执行。
保存模型,单击幽按钮,Matlab将自动生成模型代码。
代码生成后还需要对其硬件接口进行修改,添加头文件和输入/输出端口等。
利用软件在环技术,工程师们能够在设计流程中尽早发现并清除错误,而非在VHDL行为测试阶段。借助基于模型设计,工程师们再也不用在流程最后阶段来测试并验证与需求的一致性。取而代之的是,他们在整个设计流程中都能进行测试和验证,既节省时间也节约了成本。
2.4 虚拟硬件在环仿真
Proteus是英国Labcenter Electronics公司研发的多功能EDA软件,是一款集单片机和SPICE分析于一身的电路设计和仿真软件,能方便地完成单片机系统的硬件设计、软件设计、单片机源代码级调试与仿真,功能极其强大。
修改前面生成的代码端口,在Proteus下搭建电路并利用生成的代码在Keil-C中编译,跑马灯运行正常。如图3所示,逻辑分析仪显示波形仿真结果满足设计要求。经硬件开发板验证,实验结果验证了基于模型设计的仿真系统的有效性。
代码生成后,用户可以利用Matlab中提供的工具在Model Advisor中进行模型的检查,在System Test中对模型进行测试,在Design Veri tier中进行模型覆盖度等分析,通过模型覆盖分析法确保设计缺陷尽早地被发现。MathWorks公司收购的PolySpace已集成到Matlab平台专门用作C代码验证,进一步提高了代码的稳健性。此外还可以进行处理器在环测试验证(PIL)、代码执行追综、代码优化等,在此不作详述。
3 结论
大量事实表明,RTW生成的代码在效率和代码可读性等方面足以与优秀的手写代码媲美。MDB代码的生成有效地减少了人为引入错误的可能,将产品的代码生成和验证过程留给计算机去自动完成,软件的一致性好,软硬件整合简单,可靠性高,大大降低解决问题的成本,代表了嵌入式代码开发的发展方向,具有很好的应用推广价值。
- 3DES算法的FPGA高速实现(06-21)
- 基于DSP的Max-Log-MAP算法实现与优化(05-27)
- DSP中DMA操作的无阻塞请求实现(06-18)
- 二维DCT编码的DSP实现与优化(09-08)
- 基于DSP处理器上并行实现ATR算法(01-29)
- 基于DSP的H.324终端设计(05-27)