1 模型到汽车控制器
汽车控制器应用软件开发通常采用基于模型设计的方法来实现,多数的应用软件开发人员基本只关注Simulink模型层面的内容,而不会去关注模型生成的代码是怎样的以及代码又是如何在控制器运行等问题。实际上,作为应用软件开发人员,弄清楚这些问题十分必要,会对其职业发展有很大的促进作用。因此,本文试图来基础科普一下。
1.1 模型如何在汽车控制器上运行
- 模型创建:用户根据确定的逻辑或算法需求,使用Simulink拖拽和连接图形块,创建模型,并配置数据字典。随后,用户可以使用Simulink模型规范工具检查是否满足,若有违背则进行更新优化;再利用simulink仿真环境进行测试,确认所建立的模型的正确性,实现目标的需求。
- 代码生成:进行Simulink代码生成配置,然后自动生成 C 代码,并保存为 .c 和.h 文件。
- 代码编译:在代码生成好之后,接下来是编译代码的过程,即将 C 代码转换为机器代码。可以使用编译器(如 GCC)进行编译,以生成 .o 文件。
- 链接:在编译过程中,需要进行链接。链接是将各个 .o 文件连接到一起,以生成可执行文件的过程,比如汽车控制器常用hex 格式或者s19 格式的可执行文件。
- 烧写:在生成可执行文件之后,接下来是烧写过程。烧写是将可执行文件刷写到控制器的内存中,以便控制器可以读取并执行这些代码。
- 控制器运行:在烧写完成之后,控制器就可以读取并执行代码。控制器读取内存中的代码,并对其进行解释,以执行相应的操作。
以上是simulink模型最终如何到汽车控制器运行的整个过程。若想详细了解整个过程,又愿意亲自写代码实践的话,推荐这个课程及这门课程对应的教材: