之前一段时间一直在进行PX4固件环境的搭建,期间遇到过各种各样的问题,这里对之前所作的工作进行一个总结,也好方便日后再次搭建开发环境。
1.网络环境
一定要在良好的网络环境下进行环境的配置,能够为我们节省非常多的时间,也会避免许多莫名奇妙的错误。
2.换源
建议在进行配置之前为自己的Ubuntu系统换一下源,具体操作为找到自带的软件更新器,在Ubuntu软件一栏进行换源(这一步似乎可以解决更新子模块的“路径未注册错误”)。
3.卸载模式管理器
这一步也是很多博主建议进行操作的一步,如果没进行这一步可能会对之后程序的烧写产生影响。
sudo apt-get remove modemmanager
这一行可以在
sudo usermod -a -G dialout $USER
之后进行。
我是按照这篇博客来进行搭建的,但是照抄下来仍然会出现许多错误,这里做一些补充。
(1)编译器版本问题
编译器建议安装2017-q4版本,可以在官网进行下载,这里贴出官网地址。
https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads。
关于编译器安装的路径可以选择安装在/usr/bin下,如果编译器的安装这一步出现了问题,建议参考下面这篇博客。
https://blog.csdn.net/al86866365/article/details/47424727
(2)内存溢出问题
编译过程中可能会出现内存溢出问题,解决办法为,在下图所示的路径中打开第一个文件,将
flash (rx) : ORIGIN = 0x08004000, LENGTH = 1008K
修改为flash (rx) : ORIGIN = 0x08004000, LENGTH = 2032K
(3)固件版本
如果你使用最新版的固件编译总是出错,建议下载1.8.2版本的固件。
只需进行如下操作
git clone -b v1.8.2 https://github.com/PX4/Firmware.git
cd Firmware
git submodule update --init --recursive
(4)权限问题
如果遇到权限问题导致编译不通过可以切换到ROOT超级用户下进行
su root
最后环境的搭建确实令人头疼,我相信没有一个小白可以一次就通过,总会出现各种各样的问题,只能遇到什么问题解决什么问题,去网上多找多看才是正道。
如果文章中有什么错误或者不足欢迎您在评论中指出。