px4源碼
『壹』 怎樣用eclipse編譯 pixhawk px4飛控源碼
在window->proferences的設置對 project不起作用需要在 project-> properties 中對 c/c++ make project 的 binary parse 進行設置到 win 下。
『貳』 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
然後注銷,重新登錄生效
(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
卸載模式管理器
[plain] view plain
更新包列表和安裝下面的依賴包。務必安裝指定的版本的包
[plain] view plain
上面代碼中紅色部分大家需要一高警惕,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
【Warning】上面紅色的路徑一定要添加正確,不然問題很多,我第一次就輸入錯誤,結果結果開不了機了,反復輸入密碼。博主裝的是Ubuntu 64位系統,而上述arm-none-eabi是直接下載的編譯好的32位,還需要安裝一個東西
[plain] view plain
可以檢查arm-none-eabi 4.8.4是否安裝成功,輸入以下指令:
[plain] view plain
如果出現如上信息,交叉編譯環境搭建就搭建成功了
(3)代碼編譯
根據PX4中文維基官網教程。
安裝Git
[plain] view plain
下載代碼
[plain] view plain
初始化
先進入Firmware文件夾,進而進行初始化、更新子模塊操作,耐心的等待……
[plain] view plain
許可權
編譯時會遇到許可權問題,執行指令
[plain] view plain
-R 是對文件下麵包含的子文件許可權問題,* 是對所有文件的許可權問題
編譯
[plain] view plain
注意到「make」是一個字元命令編譯工具,「px4fmu-v2」是硬體版本,「default」是默認配置,所有的PX4編譯目標遵循這個規則。
最後附一張編譯成功的代碼,如果這樣你還有問題,請給我留言。
[plain] view plain
-- 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_submoles.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_moles_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
『叄』 pixhawk 開發環境要安裝ubuntu嗎
1.首先安裝Ubuntu 14.04 LTS,一路默認安裝就可以了,具體的過程可以自己上網查詢,64位與32位沒有區別。linux下是區分大小寫的,在使用過程中一定注意大小寫字母,安裝過程中分多次要求輸入密碼!
安裝可選軟體:(終端啟用鍵Ctrl+Alt+T)
安裝五筆輸入法軟體
sudo apt-get install ibus-table-wubi
安裝NotePad++,查看源碼工具,我是在Linux下查看代碼用的,你可以自己選擇其它的
sudo add-apt-repository ppa:notepadqq-team/notepadqq
sudo apt-get update
sudo apt-get install notepadqq
NotePad++的卸載方法:
sudo apt-get remove notepadqq
sudo add-apt-repository --removeppa:notepadqq-team/notepadqq
其它軟體根據自己的情況自己安裝。
2.將當前用戶添加進dialout組中,應該是獲取一定的許可權
sudo usermod -a -G dialout $USER
3.git源碼到本地
首先安裝git軟體
sudo apt-get install git
創建源碼目錄
mkdir -p~/src
cd ~/src
git軟體源碼
cd Firmware
git submole update --init--recursive
cd ..
4.安裝cmake,這個很重要,安裝完成後可以使用cmake -v來查看是否成功!
sudo add-apt-repository ppa:george-edison55/cmake-3.x -y
sudo apt-get update
sudo apt-get install cmake
5.安裝python相關,注意「\」是續行符號,與下一行是一個命令
sudo apt-get install python-argparse git-core wget zip \
python-empy qtcreator cmake build-essential -y
6.刪除串口模式管理器
sudo apt-get remove modemmanager
7.更新軟體包
sudo add-apt-repository ppa:terry.guo/gcc-arm-embedded -y
sudo apt-get update
注意:下在這些是一個命令,「\」是續行符號,與下一行是一個命令,千萬不能分開,復制命令時可以不復制 \,自己手工加上\
sudo apt-get install python-serial openocd \
flex bison libncurses5-dev autoconf texinfobuild-essential \
libftdi-dev libtool zlib1g-dev genromfs \
python-empy
8.安裝對應的GCC
Ubuntu 14.04 (Trusty) and 14.10,執行以下命令,其它版本暫時不了解,自己Bai吧
sudo apt-get install gcc-arm-none-eabi -y
編譯源碼,V2是指的Pixhawk
cdFirmware
makepx4fmu-v2_default
首先編譯需要時間20分鍾,網速決定!
顯示以下為編譯成功:
LinkingCXX executable firmware_nuttx
[100%]Built target firmware_nuttx
Scanningdependencies of target build_firmware_px4fmu-v2
[100%]Generating nuttx-px4fmu-v2-default.px4
[100%]Built target build_firmware_px4fmu-v2
執行make px4fmu-v2_default 進行編譯,過程中會自動git需要的文件。
備注,下面命令與此編譯無關
安裝交叉編譯環境
sudo apt-get install rpm
sudo apt-get install gdb
sudo apt-get install genromfs
『肆』 自己畫的px4需要刷bootloader嗎
在這里我不特別區分 APM, ArCopter, pixhawk, PX4, PIX。
實際上 pixhawk可以在 Windows, Linux, MAC上編譯。這里選擇 xubuntu作為開發環境為個人意願,個人比較鍾情與 Linux中簡單而高效的命令行。有人做過測試,MAC編譯代碼只需幾分鍾,但是我畢竟沒有 MAC也就只好退而求其次。
但其實我編譯源碼使用的也只是虛擬機而已。但即便是虛擬機也比在 Windows編譯要高效得多。
『伍』 php如何解密zend我把源碼貼上來了
你好,你這段顯然不是zend加密,而有點像base64加密。但是試了下base64_decode不成功,可能其中有誤。
這樣的加密方式是可以破解的。
『陸』 px4 linux下用什麼編輯代碼
你好;最方便的就是使用vi也可使用其它任何第三方的編輯器,網路上下載安裝就可以了.
『柒』 生化危機5物品代碼
......用修改器不就好le?遊民星空上有啊,不過你要是想什麼主角拿電鋸什麼的,當我沒說0.0
『捌』 奧的斯noR燈不亮故障代碼233-222-501是什麼出問題了
nor是正常的指示燈,如果只有NOR不亮,其它正常,那是主板保護了,用TT調下故障代碼就好了。
『玖』 px4flow源代碼用什麼軟體查看
opencv都帶有這個函數的代碼,你在用的時候,選擇函數,然後右鍵選擇」go to denifition of cvCalOpticalFlowHS"--->然後就會跳 到定義cvCalOpticalFlowHS的定義文件,就會跳到cv.h頭文件來(說明cvCalOpticalFlowHS在cv.h文件中定義的),然後你去cv.cpp文件,按"Ctrl+F" 輸入函數名進行搜索,就能找到cvCalOpticalFlowHS函數的源文件了。1、首先要熟悉openCV安裝目錄,例如我的安裝目錄是F:\program files\opencv2.3.1。在這個目錄下面還有很多子目錄:3rdparty、android、build,data、doc、include、moles、samples和很多cmake文件。對於編程來說,僅僅需要build這一個文件夾就可以了,因為編程環境的配置只與這一個目錄有關,如:包含目錄配置、庫目錄配置build目錄是編譯生成的目錄,就是用openCV源代碼編譯生成的2進制庫文件集(dll、lib和入口頭文件include)。 2、那其他文件夾下的文件都是幹嘛用的呢?其實源代碼就包含在這些文件夾下面,因為build文件夾就是在其他文件夾的基礎上CMake編譯生成的例如,core文件夾下就包含了基本數據類型的定義,imgproc文件夾下包含了常用的數字圖像處理函數源代碼:如cvCanny()、cvSobel()。3、用...
『拾』 自己修改的px4代碼怎麼在qgc上面
pix有兩個平台,一個是apm移植過來的固件,一個是px4原生固件,一般apm用得比較多,px4似乎是linux環境下開發的。有c基礎,最好還要有數學基礎,和控制理論基礎,才能看懂裡面的演算法。