Simulink生成嵌入式代码的学习笔记(一)

时隔多个月,某懒癌晚期者终于复工了,然后在结束上一个项目之后,因项目需要基于模型开发,由于某些原因,下面用较为常见的STM32作为例子记录一下学习心得。

1.工具

MATLAB,在这里主要用到的工具就是Simulink,这次笔记不涉及S-Function以及Stateflow,详情见更新

2.建模

学习嘛,当然是从最简单的开始啦!(主要是好懒)
Simulink生成嵌入式代码的学习笔记(一)_第1张图片
最简单的PWM咯,(重点不是这个,重点是生成代码)
Simulink生成嵌入式代码的学习笔记(一)_第2张图片
快看,是PWM耶~
好了, 进入正题吧~

3.硬件选型

Simulink生成嵌入式代码的学习笔记(一)_第3张图片
呐呐呐,就是这个小螺丝这里,点一哈~
Simulink生成嵌入式代码的学习笔记(一)_第4张图片
先选这里啦,在Hardware Implementation 里面选项,在这里选择所要生成的一些固件Simulink生成嵌入式代码的学习笔记(一)_第5张图片
这个呀,我就选None啦,
Simulink生成嵌入式代码的学习笔记(一)_第6张图片
然后选STM公司,如果在下拉选项中没有这么一个,那么就要回到上一步
Simulink生成嵌入式代码的学习笔记(一)_第7张图片
在Mathworks上下载相关的支持包啦。
然后就是选Simulink生成嵌入式代码的学习笔记(一)_第8张图片
到这里就是硬件的选择完成啦

4.生成配置

(好像好多都是图?)
Simulink生成嵌入式代码的学习笔记(一)_第9张图片
在左边同一列的选项里面找到Code Generation
Simulink生成嵌入式代码的学习笔记(一)_第10张图片
在这在这,这里是生成TLC文件,TLC文件是Simulink生成嵌入书代码的文件,主要是通过这个才能将S-Function、Stateflow生成能在嵌入式跑的程序。(Emmmm,详细具体的请自行查阅相关资料~)
Simulink生成嵌入式代码的学习笔记(一)_第11张图片
这里面的TLC文件可以适用各种不同的板子,比如说TI的就不是用ert.tlc啦,这里咱们用到的是STM32的,所以就用的是ert.tlc文件,有各种不同的标准,需要用到就可以问下度娘~
在这里插入图片描述
在下面是生成的代码语言,这里显然只有2种语言,不会就选C~
Simulink生成嵌入式代码的学习笔记(一)_第12张图片
在同一个页面的这里,找到Set Objectives,点击进去,
Simulink生成嵌入式代码的学习笔记(一)_第13张图片
这里可以添加你所需要的一些,比如说RAM,Debugging之类的,但是其实吧,不用PIL的话应该不用很多功能,这些emmmm,记着吧啊
Simulink生成嵌入式代码的学习笔记(一)_第14张图片
因为是刚开始搞,菜得很,所以需要用到这个功能,Check Model ,就是自带的检查你的模型的正确性的,基本上逻辑上好像不能检测出来吧?应该是一些基本的错误,没深入研究,只知道贼好用、
Simulink生成嵌入式代码的学习笔记(一)_第15张图片如果有问题的话,就可点击进去看,一般黄色感叹号的就是有问题,然后点击下面这个Modify Parameter.点一下就会自动修复啦~
Simulink生成嵌入式代码的学习笔记(一)_第16张图片
在这一步选择Inlined,这个其实目前用不到,不过以后会用到,先记着吧~
Simulink生成嵌入式代码的学习笔记(一)_第17张图片
这里是生成代码之后生成相应的报告文件,方便查阅的
Simulink生成嵌入式代码的学习笔记(一)_第18张图片
这里是以后测试仪ongoing,可以是SIL测试的,不过这里不用,先记下来
Simulink生成嵌入式代码的学习笔记(一)_第19张图片
那么就在选项卡里面找Code>C/C++ Code >Embedded Coder Quick Start,点进去
Simulink生成嵌入式代码的学习笔记(一)_第20张图片
出来的就是这个,基本上在这里是不用修改是的,采用默认值就可以,如果不行再改吧~
Simulink生成嵌入式代码的学习笔记(一)_第21张图片
这里是之前配置的~
Simulink生成嵌入式代码的学习笔记(一)_第22张图片
一直NEXT之后就是Finish啦
Simulink生成嵌入式代码的学习笔记(一)_第23张图片
然后就是这个界面,如果有什么输入输出的配置就可以在这里修改,没有的话可以直接点击右上角这个按键,也可以Ctrl+B直接生成~Simulink生成嵌入式代码的学习笔记(一)_第24张图片
然后这里就是刚刚选择生成的报告,这里就是界面,然后左下角的文件就是我们所需要的文件啦,这个就是 比较符合嵌入式需要的工程,比较精炼,而且运行速度也不会比较快
Simulink生成嵌入式代码的学习笔记(一)_第25张图片
这是里面生成的代码~
好的,今天就先记录到这里吧(毕竟是笔记嘛,肯定图片多好理解啦

由于本人刚涉及这个领域,如有不对的,请各路大神不吝赐教~~

你可能感兴趣的:(Matlab/Simulink)