基于模型设计(Model-Based Design, MBD)是一种先进的软件开发理念,它将算法建模和设计作为软件开发的主要方式,特别适用于嵌入式软件的开发。MBD能够通过图形化的模型设计,便于理解和减少歧义,同时自动生成代码的过程,可大量减少人为错误,提高代码的稳定性和可靠性。自动代码生成技术是MBD中的核心部分,它使得开发者能够将更多精力集中在控制算法的研究上,而不是编写底层代码,大大缩短了开发周期并降低了开发成本。V型开发流程是当前行业内公认的现代汽车电控系统开发模式,它是一种快速原型开发模式,可以有效提升软件开发的效率。 TSP-Target Support Package是专门针对某一特定MCU/DSP芯片而设计的,它能够为基于模型设计的嵌入式开发者提供快速算法验证环境。TSP的主要优点包括:不需要手动编写驱动代码,通过简单的对话框设置即可生成驱动代码;生成的代码是有效的,不合理的配置会通过错误提示进行纠正;整个开发流程高度自动化,从模型代码生成到编译下载一键完成。TSP的功能主要包括定制系统目标、底层驱动开发等。 定制系统目标主要包含三个文件:系统目标文件、钩子文件和脚本文件。系统目标文件是代码生成过程的核心,决定了代码生成的整体框架;钩子文件的功能设计贯穿整个RTW代码生成过程,在各阶段中添加自定义代码,实现对RTW代码过程的控制;脚本文件用于配置生成代码的类型及与硬件相关的设置,后台自动调用编译器。 底层驱动开发分为三个步骤:S-Function编写、TLC脚本编写和模块封装。S-Function是Simulink引擎运行的机理体现,它由定义与包含、回调函数和Simulink引擎的交互三部分组成。S-Function的编写有固定的格式,通过使用MATLAB官方提供的模版文件sfuntmpl_doc.c进行修改来实现。TLC脚本编写则是将Simulink模型中间描述文件(model.rtw)转换成C语言的过程。模块封装涉及定制个性化的图标和对话框,以适应不同开发者的使用需求。 在自动代码生成过程中,使用ert.tlc作为系统目标文件,它负责启动代码生成过程,并将模型转化为C代码。未经过优化的代码可读性不强,但通过增加模型信号名和配置信号线属性的数据类型,可以提高生成代码的可读性。 传统汽车电控系统开发存在手动编写驱动程序困难、调试和测试困难以及研发周期长等问题。而基于模型设计的MBD开发模式在航空、汽车、轨交、国防等领域的嵌入式软件开发中已广泛应用,并且我国汽车行业在电控系统开发方面也逐渐采用基于模型的设计。在MBD开发优势中,图形化模型设计、代码自动生成、稳定的代码质量、持续性的测试与验证等,都使得开发者可以尽可能早地发现设计中的错误和缺陷,降低排错与修改的成本。 一些知名的MBD工具提供商包括dSPACE公司的TargetLink、Woodward公司的MotoTron、恒润的ControlBase和意昂的D2P等。这些工具都为嵌入式开发者提供了从模型设计、仿真到代码生成的全套解决方案,极大地提高了嵌入式软件开发的效率和质量。
剩余20页未读,继续阅读
- 粉丝: 3
- 资源: 5
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助