|
Simulink轉C代碼
一、Simulink 轉代碼設置
1. 首先建立模型。
2. 為每根信號線取名字(與輸入輸出口的名字相同)。
3. 為表格、常量等數據賦值(可通過變量)。檢驗模型是否能夠運行,能夠正常運行時轉代碼的前提。
4. 通過data object wizard的find,check all,mpt,package,create命令封裝數據。
5. 通過model explorer修改輸入輸出數據的類型(單片機中運行時,設定為(u)int8,(u)int16類型,可以采用繼承屬性Inherit: auto。)。注意包含Base workspace和自己模型下面的數據都要設定類型。
6. 第一次配置好configuration parameters后,不需要再次配置,至此即可generate code。
關于configuration parameters:
Solver:
Data Import/Export
Optimization:
Hardware Implementation:
Code generation:
Report:
Comments:
Interface:
Templates:
(圖中的code templates是來自錫柴的,用simulink自帶的templates也可以)
Memory Section:
二、Model configuration 說明-20170624
這里階段模型配置的3種方法:
第1種是第一章里面介紹的方法,手動逐條修改;
第2種是在原有配置基礎上,export出m文件,修改后再inport;
第3種則是利用simulink中自帶的模塊Configuration Wizard,調用rtwsampleconfig函數,函數中的具體設置可以手動更改。
實際使用中,推薦第二種方法!
二、集成到目標代碼里(針對codewarrior編譯器)。
1.在sources文件下新建文件RTW,將生成的xxx_ert_rtw和slprj\ert\_sharedutils文件下的.c和.h文件全部放進RTW中。
2.在codewarrior中添加RTW文件。
3.在初始化中定義輸入輸出數據并外部聲明(BP_Var_Initial.h,BP_Var_Extern.h中)。
4.為實現標定功能,將標定數據(表格等)放在RAM和Flash中。
將生成的數據定義和聲明屏蔽掉。
在Cal_Ram.h和Cal_Flash.h中分別定義變量,在Cal_Ram_Extern.h和Cal_Flash_Extern.h中進行外部聲明。放在Flash中的數據可為變量添加后綴_Flash。
在FlashReadToRam()函數中將Flash中的變量值讀到對應的Ram變量中。
5.在正確的位置調用生成的.c文件下的函數。
|
評分
-
查看全部評分
|