项目简介
本项目基于Modelica语言,可在OpenModelica环境中对嵌入式系统进行建模与仿真。通过结合Arduino硬件平台,实现嵌入式系统的模型驱动开发,能模拟和控制多种硬件设备。
项目的主要特性和功能
- 采用Modelica语言构建模型,支持嵌入式系统的模型驱动开发。
- 与Arduino硬件平台结合,实现模型的实时仿真与硬件控制。
- 支持多种硬件模拟,包括LED灯、直流电机、电位器、推动器、蜂鸣器等。
- 可通过Modelica模型进行实时仿真,支持模型驱动的开发过程。
- 项目开源,提供源代码和文档,便于用户自定义和扩展。
安装使用步骤
前提条件
安装OpenModelica(版本 >= v1.11.0),下载地址:https://www.openmodelica.org/download/download-windows
编译
进入资源下的库目录,若要编译名为filename.c
的源文件,执行命令:
sh
gcc –c –Wall –fPIC ../src/filename.c
若要生成名为libSerialComm.so
的共享对象文件,执行命令:
sh
gcc –shared –fPIC *.o -o libSerialComm.so
安装和运行
- 启动OMEdit,加载
Modelica_DeviceDrivers
包。 - 加载
Arduino.mo
文件中的OpenModelica - Arduino
包。 - 将
arduino_firmware.ino
代码加载到Arduino平台。 - 使用该包创建任意模型并进行仿真。
运行测试固件
- 将
arduino_firmware.ino
代码加载到Arduino平台。 - 在OpenModelica中,将
testfirmware.mo
文件和Arduino.mo
文件一起加载测试模型。 - 对模型进行仿真,若没有错误,则说明包可以正常使用。
运行MDD模型
在运行MDD示例之前,请查看OMEdit中Modelica_DeviceDrivers -> EmbeddedTargets -> AVR
下的AVR包文档。
若要运行Modelica_DeviceDrivers
的Blink示例,进入MDD_build/Blink
目录,手动运行的命令如下:
sh
omc --simCodeTarget=ExperimentalEmbeddedC runMDDAvr.mos
avr-gcc -Os -std=c11 -ffunction-sections -fdata-sections -mmcu=atmega328p -DF_CPU=16000000UL -Wl,--gc-sections Blink_main.c -o Blink -I /path_to_MDD/Modelica_DeviceDrivers/Resources/Include -I /usr/include/omc/c
avr-objcopy -O ihex -R .eeprom Blink Blink.hex
avrdude -F -V -c arduino -p ATMEGA328P -P /dev/ttyACM0 -b 115200 -U flash:w:Blink.hex
更多信息请访问:https://build.openmodelica.org/Documentation/Modelica_DeviceDrivers.html 。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】