當前位置:編程學習大全網 - 源碼下載 - ubuntu 環境下怎樣編譯pixhawk px4源碼

ubuntu 環境下怎樣編譯pixhawk px4源碼

Ubuntu環境下Pixhawk原生固件PX4的編譯

分類:無人機ubuntu代碼編譯Pixhawk

(3946) (6)

Ubuntu下Pixhawk原生固件PX4的編譯這個問題困擾了兩天時間,可能是博主腦力不夠,主要是環境搭建不起來,主要原因應該是路徑的原因,最後在大師傅的幫助下還好成功將路徑搭建好,成功編譯。

下面就跟大家分享壹下環境搭建的過程。

1.操作環境

每次寫文章,環境壹定要介紹的,不同的環境總會出現不同的問題

我的環境是Windows下面安裝虛擬機,虛擬機跑Ubuntu

Windows:win10 64位

虛擬機:VMware Workstation 12 Pro 12.1.0 build-3272444

Ubuntu:Ubuntu15.10

2.編譯環境搭建

(1)權限設置

官方提示:

Warning Never ever fix permission problems by using 'sudo'. It will create more permission problems in the process and require a system reinstallation to fix them.

意思是妳會遇到權限問題,不要用sudo解決,那樣會帶來更多問題,但是我沒聽他的,我沒用,最後也是實現了

官方提供指令

[plain] view plain copy

然後註銷,重新登錄生效

(2)安裝

更新包列表,安裝下面編譯PX4的依賴包。PX4主要支持的系列:

NuttX based hardware: Pixhawk, Pixfalcon

Snapdragon Flight hardware: Snapdragon

Raspberry Pi hardware: Raspberry Pi 2

Host simulation: jMAVSim SITL and Gazebo SITL

註意:安裝Ninja Build System可以比make更快進行編譯。如果安裝了它就會自動選擇使用它進行編譯。

[plain] view plain copy

卸載模式管理器

[plain] view plain copy

更新包列表和安裝下面的依賴包。務必安裝指定的版本的包

[plain] view plain copy

上面代碼中紅色部分大家需要壹高警惕,gcc-arm-none-eabi版本導致PX4/Firmware編譯錯誤,現在apt-get安裝的gcc-arm-none-eabi基本上是4.9的版本,但是這個固件需要gcc-arm-none-eabi 4.8de 版本,所以最後安裝好以後,查看妳的gcc-arm-none-eabi版本,如果是4.9需要手動安裝4.8的版本,安裝gcc-arm-none-eabi 4.8的版本的方法如下:

[plain] view plain copy

Warning上面紅色的路徑壹定要添加正確,不然問題很多,我第壹次就輸入錯誤,結果結果開不了機了,反復輸入密碼。博主裝的是Ubuntu 64位系統,而上述arm-none-eabi是直接下載的編譯好的32位,還需要安裝壹個東西

[plain] view plain copy

可以檢查arm-none-eabi 4.8.4是否安裝成功,輸入以下指令:

[plain] view plain copy

如果出現如上信息,交叉編譯環境搭建就搭建成功了

(3)代碼編譯

根據PX4中文維基官網教程。

安裝Git

[plain] view plain copy

下載代碼

[plain] view plain copy

初始化

先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……

[plain] view plain copy

權限

編譯時會遇到權限問題,執行指令

[plain] view plain copy

-R 是對文件下面包含的子文件權限問題,* 是對所有文件的權限問題

編譯

[plain] view plain copy

註意到“make”是壹個字符命令編譯工具,“px4fmu-v2”是硬件版本,“default”是默認配置,所有的PX4編譯目標遵循這個規則。

最後附壹張編譯成功的代碼,如果這樣妳還有問題,請給我留言。

[plain] view plain copy

-- nuttx-px4fmu-v2-default

-- The ASM compiler identification is GNU

-- Found assembler: /opt/gcc-arm-none-eabi-4_8-2014q3/bin/arm-none-eabi-gcc

-- Found PythonInterp: /usr/bin/python (found version "2.7.10")

-- Using C++03

-- Release build type: RelWithDebInfo

-- Adding UAVCAN STM32 platform driver

-- Configuring done

-- Generating done

-- Build files have been written to: /home/lihongwei/Documents/Firmware/build_px4fmu-v2_default

#+@Tools/check_submodules.sh

PX4 CONFIG: px4fmu-v2_default

Scanning dependencies of target git_mavlink

Scanning dependencies of target git_uavcan

Scanning dependencies of target git_gencpp

Scanning dependencies of target git_genmsg

[ 0%] Generating git_init_mavlink_include_mavlink_v1.0.stamp

[ 0%] Generating git_init_src_modules_uavcan_libuavcan.stamp

[ 0%] Generating git_init_Tools_genmsg.stamp

[ 0%] Generating git_init_Tools_gencpp.stamp

[ 0%] Built target git_uavcan

[ 0%] Built target git_mavlink

[ 0%] Built target git_genmsg

[ 0%] Built target git_gencpp

  • 上一篇:茅臺防偽標誌有幾種
  • 下一篇:咖啡源站
  • copyright 2024編程學習大全網