c语言随机生成int64_t类型的数据_手把手教你代码生成(上):MATLAB代码生成
本文主要參照書《SIMULINK仿真與代碼生成技術入門到精通》
MATLAB?Coder?從MATLAB代碼生成可讀和可移植的C和C ++代碼。 它支持大多數MATLAB語言和廣泛的工具箱。可以將生成的代碼集成到項目中作為源代碼,靜態庫或動態庫。還可以使用MATLAB環境中生成的代碼,以加快MATLAB代碼計算密集型部分。
命令窗口輸入“coder”,會彈出圖1界面:
圖1 Coder界面點擊圖1中紅色方框可以加載.M文件,但是只能加載函數類文件,即文件中要有明確的輸入輸出,若一個文件中包含另一個文件,則要將其文檔也一起加載。
加載完畢后點擊右下角的 “NEXT”,進行下一步操作。
若在給出方程的一種引用方式,如圖2中的Quater_to_Euler([1;0;0;0]),之后點擊 “ Autodefine Input Types”,則系統可自動定義其為4*1的double矩陣。
同樣也可以手動定義。點擊圖3中的紅色方框,可以設置函數輸入變量的類型。變量類型滿足C語言的全部要求,也可以設置為矩陣形式,可以設置為結構體,結構體聲明中可以直接輸入結構體名字及變量名字。具體信息可詳見藍色的“learn more”。定義前最好知道函數輸入的維數,若定義為不定維數的矩陣,影響其執行效率,增多代碼數量。
圖2 自動定義輸入類型圖3 手動定義輸入類型設計輸出后點擊右下角的“NEXT”,進行下一步操作。
圖4 程序檢測界面本步為源程序檢測,給出函數的數值輸入就可以在對話框顯示出具體結果,點擊圖4中的“ Check For Issues”可以檢測程序是否有錯誤不可以生成C文件,若有錯誤則根據提示進行修改。若無錯誤則會彈出圖5的界面。界面下方彈出的是計算結果,程序界面顯示的為調用次數。
圖5 程序檢測執行界面M語言轉化成C語言要在使用前聲明變量,在上圖中已經將pitch等變量聲明為結構體形式,若按照M語言的矩陣聲明格式,則會報錯(如圖6),若先將矩陣定義為m*n的零矩陣,則可避免錯誤
圖6錯誤聲明矩陣的形式設計輸出后點擊右下角的“NEXT”,進行下一步操作
圖6 代碼生成設置點擊其中的”Build type“,其中有以下幾種類型可選,通常我們 選擇第一項。
圖7 build type其中的”Hardware Board“選項點擊后可根據實際硬件需求來選擇。舉例如圖8:
圖8 硬件選擇點擊圖中的”more settings“,可進入代碼生成選項窗口。
圖9 代碼生成窗口選項”Paths“是選擇代碼生成的位置
如圖10中,第二選項”Speed”則包含數據溢出等保護函數,建議不勾選。
圖10 Speed圖11中, 其中”Memory“選項與處理器的能力相關,其中第一個選項框與不定長的數組有關,嵌入式開發最好不選,第二個選項則與處理器的堆棧有關,要根據處理器的堆棧大小來設置。
圖11 Memory圖12中,選項“Code Appearance”與代碼生成的風格有關,其中的“comments”部分建議勾選”MATLAB source code as comments“,方便代碼的可讀性。其他保持默認設置。
圖12 Code appearance圖13中,在”Custom Code“的設置中,“Standard math library” 其中的選擇C89/C90,在“Code replace library”中可以選擇ARM Cortex-M3,實際上我們用的STM32F7系列的內核已經為ARM Cortex-M7,但是并沒有此選項。
圖13 硬件選擇最后設置完成后,點擊“GENERATE”,無錯誤成功后為如下界面,其中的主函數為測試函數,并不執行具體的計算,其中的 initialize 函數為參數初始化函數,為空函數,可以自行添加相關初始化程序。
圖14 代碼生成成功后預覽圖歡迎指正討論,轉載請注明,認同請點贊。
總結
以上是生活随笔為你收集整理的c语言随机生成int64_t类型的数据_手把手教你代码生成(上):MATLAB代码生成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 高频内存时序挑战:3招经验帮你轻松应对
- 下一篇: iapp启动图代码_代码神器:拒绝重复编