我正在嘗試BeagleBone Blue的Simulink代碼示例,名為 "使用BeagleBone Blue硬體計算步數"。網路方面是這樣的。
當我試圖將代碼發送到Beagle時,我得到了以下這個錯誤。
另外,我想用BeagleBone Blue來使用I2C總線,并用Matlab(2019b)和Simulink來控制Beagle。如果我在Simulink模型中添加任何I2C塊,并試圖將代碼發送到Beagle,我得到了同樣的錯誤。似乎創建的C代碼是錯誤的。有人知道如何解決這個問題嗎?
錯誤執行命令 "touch -c /home/debian/beagleboneblue_countstep_ert_rtw/*.*; make -f beagleboneblue_countstep.mk all -C /home/debian/beagleboneblue_countstep_ert_rtw" 。細節。
STDERR: MW_I2C.c: 在函式'EXT_I2C_writeH'中。
MW_I2C.c:140:20: 錯誤: 'msg'的存盤大小不知道
struct i2c_msg msg;
^~~
MW_I2C.c: 在函式'EXT_I2C_readH'中。
MW_I2C.c:177:20: 錯誤: 'msg'的存盤大小不知道
struct i2c_msg msg;
^~~
MW_I2C.c:183:21: error: 'I2C_M_RD' undeclared(首次使用in this function)
msg.flags = I2C_M_RD;
^~~~~~~~
MW_I2C.c:183:21: 注意:每個未宣告的識別符號是只報告一次對于它出現的每個函式在。
MW_I2C.c: 在函式'MW_I2C_MasterRead'中。
MW_I2C.c:261:28: 警告:傳遞'EXT_I2C_readH'的引數1使得整數從指標沒有投遞[-Wint-conversion]
status = EXT_I2C_readH(I2CModuleHandle, SlaveAddress, data, DataLength)。
^~~~~~~~~~~~~~~
MW_I2C。 c:169:5: note: 預期是'int',但引數是型別'MW_Handle_Type {aka void *}'
int EXT_I2C_readH()
^~~~~~~~~~~~~
MW_I2C.c: 在函式'MW_I2C_MasterWrite'中。
MW_I2C.c:273:29: 警告:傳遞'EXT_I2C_writeH'的引數1使得整數from指標沒有投遞[-Wint-conversion]
status = EXT_I2C_writeH(I2CModuleHandle, SlaveAddress, data, DataLength) 。
^~~~~~~~~~~~~~~
MW_I2C。 c:132:5: note: 預期是'int',但引數是型別'MW_Handle_Type {aka void *}'
int EXT_I2C_writeH()
^~~~~~~~~~~~~~
MW_I2C.c: 在函式'MW_I2C_Close'中。
MW_I2C.c:302:24: 警告:傳遞'EXT_I2C_terminateH'的引數1使得整數從指標沒有投遞[-Wint-conversion]
EXT_I2C_terminateH(I2CModuleHandle)。
^~~~~~~~~~~~~~~
MW_I2C. c:221:5: note: 預期是'int',但引數是'MW_Handle_Type {aka void *}'
int EXT_I2C_terminateH(int fd)
^~~~~~~~~~~~~~~~~~
制作。*** [MW_I2C.c.o] 錯誤1
STDOUT: make: 進入目錄 '/home/debian/beagleboneblue_countstep_ert_rtw' 。
gcc -c -MMD -MP -MF "MW_I2C.c.dep" -MT "MW_I2C.c。 o" -O0 -D_roboticscape_in_use_ -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DEXT_MODE=1 - DONESTEPFCN=1 -DTERMFCN=1 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DON_TARGET_WAIT_FOR_START=1 -DTID01EQ=0 -DARM_PROJECT -D_USE_TARGET_UDP_ -D_RUNONTARGETHARDWARE_BUILD_ -DSTACK_SIZE=64 -DRT -DMODEL=beagleboneblue_countstep -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -I. / -o "MW_I2C.c.o"/span> "MW_I2C.c"/span>。
beagleboneblue_countstep.mk:446: recipe for target 'MW_I2C.c.o' failed.
make。離開目錄 '/home/debian/beagleboneblue_countstep_ert_rtw'。
預先感謝
uj5u.com熱心網友回復:
感謝@ryyker在評論中的回答。
我使用了這個修復方法,但用于BeagleBone Blue。區別僅僅在于這個命令。
edit(fullfile)
edit(fullfile(codertarget.bbblue.internal.getSpPkgRootDir,'src','MW_I2C.c))
檔案的變化與Raspi的相同。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/326926.html
標籤:
