子模块不一致问题
PX4不同版本使用不同版本的子模块,在切换分子的时候如果子模块没有对应更改会出现,子模块不一致问题。如下所示
*******************************************************************************
* IF YOU DID NOT CHANGE THIS FILE (OR YOU DON'T KNOW WHAT A SUBMODULE IS): *
* Hit 'u' and <ENTER> to update ALL submodules and resolve this. *
* (performs git submodule sync --recursive *
* and git submodule update --init --recursive ) *
*******************************************************************************
更新子模块即可,根据提示输入以下命令:
git submodule sync --recursive
git submodule update --init --recursive
GCC版本不一致问题
编译过程中会出现源代码语法错误提示,刚刚clone的代码是不会有问题的,每次代码更新都会有人审核,编译错误这种情况时通过不了的,那就是自己的环境出问题了。应该时arm-gcc的版本不符合要求,查看arm-gcc版本:
arm-none-eabi-gcc --version
卸载原来的arm-gcc
sudo apt-get remove gcc-arm-none-eabi gdb-arm-none-eabi binutils-arm-none-eabi gcc-arm-embedded
sudo add-apt-repository --remove ppa:team-gcc-arm-embedded/ppa
安装高版本的gcc:
pushd .
cd ~
wget https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-rm/7-2017q4/gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
tar -jxf gcc-arm-none-eabi-7-2017-q4-major-linux.tar.bz2
exportline="export PATH=$HOME/gcc-arm-none-eabi-7-2017-q4-major/bin:\$PATH"
if grep -Fxq "$exportline" ~/.profile; then echo nothing to do ; else echo $exportline >> ~/.profile; fi
popd