1、如下图所示,提示“Could not find the program [‘arm-none-eabi-ar’] :”
解决方法:
(1)、重启电脑
(2)、把 arm-none-eabi-ar下的bin文件夹添加到电脑的环境变量中,然后重启。
2、仿真时提示需要3D校准,无法解锁
首先是查看一下地图上是否有飞机的图标,如果没有,查看在初始设置下的必要硬件中的飞控的类型是否选择上了你编译的类型。
其次输入help,可以看到MAVProxy上的所有命令,其中accelcalsimple命令即为3D校准,输入此命令还不能解锁建议重新编译。
2、仿真时提示“MAV -> link 1 down”
如下图所示,仿真时可能遇到卡住一段时间后提示“MAV -> link 1 down”的情况。我发现在仿真时,将参数“RCx_OPTION”修改为一个非默认值后(比如将RC7_OPTION改为自定义的值102),下一次仿真时就会出现这种问题。
解决方法如下:
1、如果在某次正常仿真时修改过“RCx_OPTION”之类的参数,那么在关闭仿真环境之前将这个参数改为默认值,这样下次仿真时就没有问题(特别注意,RC7_OPTION的默认值不是0,而是7);
2、如果已经不小心关闭了仿真环境,就将“C:\cygwin64\home\计算机用户名\sim”文件夹下的“eeprom.bin”文件删除,这样等效于将实物飞控的FRAM存储器芯片全片擦除,下次重新开始仿真时系统会自动新建这个文件并将各个参数恢复默认值(之前修改的参数都没有了,因此即使是仿真系统,也请经常及时备份参数,好的习惯将使你受益无穷);
3、有时候,偶发这个link 1 down的问题,这时候重启一下电脑可能解决问题;
4、有时候,也可能是你按照第一节课中的方法建立的编译环境不完整(网络不稳定导致的),导致仿真出问题,这时候使用第一节课中的脚本文件重新建立编译环境,可能就解决问题了。
3、利用override重载函数时报错,可查看源函数是否使用了final禁止继承重载,把final删掉即可。
4、引用头文件提示No such file or directory。
原因1:真的没有这个文件
原因2:自定义的头文件引用需要用 “ ” ,用< > 会报错
原因3:编译器问题,把工程下的build文件夹删除重新编译即可
原因4:引用方式出错,#include 相当于cd 命令,即利用cd命令来查找你所引用的头文件
5、将A类赋值给B类报错
解决方法:A类定义时继承B类