MATLAB自動代碼生成過程中報錯問題
基于RflySim平臺,MATLAB/Simulink在進(jìn)行代碼自動生成時,有時會出現(xiàn)如下報錯
若出現(xiàn)編譯錯誤,可能的編譯問題可以分為:MATLAB模型問題、PX4固件問題、MATLAB模型與PX4固件鏈接問題。
處理MATLAB模型問題。MATLAB自動代碼生成會在編譯的初始階段檢查模型,所以這類問題往往在點(diǎn)擊編譯按鈕幾秒鐘就會顯示出來。最為常見的MATLAB問題是各個接口的數(shù)據(jù)不匹配,點(diǎn)擊提示錯誤的模塊可跳轉(zhuǎn)到有問題的地方。

2. 處理PX4固件問題。若PX4源碼有編譯問題,那么一般會在MATLAB的編譯日志提示中顯示出來,下圖顯示了問題代碼出現(xiàn)的位置,根據(jù)提示去修改。平臺中PX4的固件位于PX4PSP\Firmware。

3.?處理MATLAB模型與PX4固件鏈接問題。這類問題往往是PX4固件由于版本的升級而導(dǎo)致一些接口發(fā)生變化,而MATLAB自動代碼生成的接口可能不匹配,所以在最終的鏈接階段會發(fā)生錯誤。這類問題在MATLAB中看不到具體的錯誤,需要打開Win10WSL(選用其它編譯工具的參考其它工具),重新執(zhí)行下編譯命令make px4_fmu-v6c_default(其它版本換成其對應(yīng)的命令)方可看到具體的問題。


注意:在定位飛控編譯問題時,應(yīng)該保證平臺是正確安裝的,代碼版本和編譯命令能夠相匹配。
標(biāo)簽: