需要解决以下问题
1. 模型集成
一个算法由多个mdl 模块组成,搭好算法框架后,如何以文件链接的方式把不同mdl文件的算法模块集成到一起。
2. 代码生成
选择代码生成工具,makefile模板,调用外部驱动的情况下,如何把.c,.h的接口文件集成到mdl中。还要处理不同数据类型的问题。
3. 同源仿真
一般希望用于仿真的模型不经修改可以直接用于代码生成,这样就可以对模型文件进行版本的控制,这就需要处理如何隔绝仿真输入和实际硬件输入的问题。
4. 脚本配置
如何用脚本控制上述过程,实现自动化处理,为hudson/CruiseControl持续集成打好基础。
5. 变型控制
软件模块化之后,功能的组成需要在构建阶段通过宏来进行切换,RTW对此支持不是很好,目前只能通过版本管理来解决。
6. 标定管理
标定数据在模型中的初始化目前只能通过m文件来解决,实际情况下标定数据的管理异常复杂,如INCA、EASEE,matlab后期可能会有好的工具接口出来。
如果希望开发通用的硬件,让mdl仿真验证过的模型所生成的代码可以直接编译下载到特定硬件,那么除了为该设备/板办卡开发matlab/simulink下的驱动库外,还需要做更多的事情。
除了dSPACE等商业化的产品外,Matworks的Hardware Resource已经列出了不少正在从事这方面开发的团体,其中Arduino电子积木作为开源的硬件产品为其中一块板卡提供了IO驱动,可用于电机控制。
解决了一个Matlab启动慢的问题。
之前自动生成代码的过程很快的,最近不知道为什么特别慢,大概需要10多分钟,最后发现是LM_LICENSE_FILE的问题。原来在装了其他一些软件后,License端口冲突或重复,导致获取License的过程很慢,需要在当前用户环境中添加指向matlab的License文件的环境变量值。