1.軟件版本 matlab R2018a
2.步驟
(1).編寫特定功能的matlab代碼,以及其測試文件
(2).檢查matlab代碼的兼容性,確保matlab代碼都能轉換成C/C++代碼(並不是所有的matlab代碼都能生成C/C++代碼)
(3).生成 .c 文件和mex文件
(4).在C語言編譯器中驗證生成的 .c 文件
3.詳細步驟
3.1 編寫matlab代碼及其測試文件
1.編寫matlab代碼
function [c,d] = add(a,b) for i =1:1:10 c = a + i; d = b * i; end end
2.編寫測試文件。類似於Verilog語言里面的testbench,給出輸入信號,然后調用matlab的功能函數
clear all; clc; close all; x = 8; y = 17; [m,n] = add(x,y);
3.2 生成步驟
1.在APP菜單欄里面找到matlab coder ,雙擊打開
2.Entry-Point Function 里面選擇matlab的功能函數文件。如果是一個大型工程,只需要把最頂層的文件添加進來。它會自動的添加下面的子文件。下一步
3.這里添加測試文件tb_add。然后點擊autodefine input types.系統會自動的為輸入變量分配類型,默認是double。也可以手動為輸入變量分配類型。需要注意的是需要將matlab的工作路徑設置在測試文件所在的路徑,不然這一步會提示沒定義測試文件。下一步
4.點擊check for issues,系統會生成MEX函數。如果功能函數和測試文件有錯誤或者哪些matlab語句不能轉換成C語言,在這一步都會報出來。如果在開始編寫matlab功能函數的時候不知道哪些語句無法生成C語言,就先不用管。然后在這一步根據提示進行修改。下一步
5.這一步是配置生成C語言的參數。
1.build type是配置要生成文件的類型,這里選擇source code.
2.hardware Board 這一欄選擇None select device below.然后根據自己的硬件板,在device 那一欄選擇相應的器件。如果沒有硬件板,就選擇默認的matlab host computer
3.ToolChain,根據自己的C語言編譯器進行選擇相應的編譯器(貌似是這樣,不確定)
4.more setting 里面根據自己的需要進行配置,一般可以選擇默認配置
5.點擊generate
6.下面是生成代碼后的界面,至此就算生成成功了