StarryPilot编译配置初体验

2018-8-1 23:44 [复制链接] 4 970

本帖最后由 水清沙白 于 2018-8-1 23:44 编辑   f3 ?. L! [3 B1 ]; t6 D" R% l

; Q/ k3 m5 {- b) ^: C1. 介绍0 H' d! ~# r9 j9 u
StarryPilot是网友JzZou开发的一套多旋翼无人机工程,目前相关代码已经发布在Github:https://github.com/JcZou/StarryPilot,RT-Thread官方微信号专门出文进行推广。该工程硬件基于Pixhawk,国外知名的开源飞控;软件部分系统使用的RT-Thread操作系统,支持Mavlink协议和qgroundcontrol通信,以及很多的飞行控制算法,有不少值得借鉴的地方。(姑且这么介绍,在下也是首次编译通过,下载到硬件,还未深入研究)。  ( L* z+ Q& S" H  X. U8 B% C
, F1 R$ H) ?9 Q1 M: T6 c, g
2. 编译) Y* l. x/ ~7 D5 j7 N
& E) m! j1 g6 [* u1 Y3 W1 R
StarryPilot基于Keil5开发,这算是不少国内飞控发烧友的福音了,至少不会在门槛阶段就卡主。我下载编译了一番,发现整个过程仍然有很多需要注意的地方,因此记录一下。  
6 S, _) {, }8 {4 m/ _% ]: X7 Q1 n6 Y1 X( [3 U5 s
2.1 安装环境准备  ) w0 d% Y7 @, V5 O
2.1.1 硬件:" _2 g" T) K( I! f& f
PX4硬件平台:最基础的飞控平台。
- ?, @4 W* B) V
) P% f! F, ~( a& D& Z: o2.1.2 软件
' X$ a" f* P- [1 M2 amdk: MDK-523,这个非常重要,keil4编译会产生很多错误;我用keil 5.29,因为ArmCC版本的原因,仍然失败,折腾一番还是按照说明来;  9 J) W7 w4 A+ w0 S# U2 Q! Q3 T& e
stm32f4的package: Keil.STM32F4xx_DFP.2.11.0.pack,从keill5之后都需要自己安装相应的包# o/ n8 x8 y* ?1 c! _
QGroundControl地面站:国外的镜像下载会很慢,耐心。用来更新固件以及查看信息。  
% f5 g+ {( a3 I; M  e( V" f  x6 [; V' U
2.2 编译& ]: u+ ~' `1 ]( Z( A4 g8 I
从Github上clone源代码,打开StarryPilot\starry_fmu\Project\stm32f40x路径下的project.uvprojx工程,在MDK版本安装正确的情况下,是可以一次性直接编译通过的。  1 m! c( j& \: b+ ~: g
- ?. x# Q* `( E6 w" c
2.3 下载. L7 z! _8 L. R, m0 J5 o5 [$ {! Z
安装QGroundControl地面站并打开,找到小齿轮图标,然后点击Firmware,拔下飞控的USB接口,如图:& U0 a5 p0 n" o0 l# k
. L& q7 h5 C% n/ Q" o( F& r5 ?

, e3 U) E. {! i" f重新插上USB,这是会提示升级固件,选择Advanced setting-->Custom firmware,然后点击右上角的OK,会提示选择文件,此时定位到刚才编译产生的starry_fmu.bin文件,确定之后即可完成升级) C( S9 e% ~5 A# Y* B
微信截图_20180801233921111.png
! p% Z* H5 p# K1 W. J! `/ c" p$ }/ ~0 K: d
3. 后记# s; F* C% s7 n* \; k
StarryPilot软件部分基于RT-Thread实时操作系统开发,用了RT-Thread的设备框架及提供的组件,且代码为C语言编写,控制算法支持ADRC 和 PID,感兴趣的朋友可以深入了解一下。  
; @5 X: `- Q( d0 u/ V- O4 o# m9 Y; N

3 I+ J/ s. _0 ~0 b4 h$ d! ^: y3 w: }) C3 n8 W7 y& o8 ]- [" v0 o
9 A! k" E8 v. r4 s7 g
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 2018-8-2 08:19:00 | 显示全部楼层
玩的很高端
使用道具 举报 回复
发表于 2018-9-1 14:38:59 | 显示全部楼层
.\build\starry_fmu.axf: Warning: L6319W: Ignoring --keep command. Cannot find section *.o(VSymTab).* [# ^' t, G9 `
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_set_value_by_index (referred from calibration.o).
) m9 {' H4 `: `1 H+ i.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_get_status_content (referred from mavproxy.o).
: Y$ y3 P$ L  m$ G( \6 j2 h, ].\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_by_info (referred from mavproxy.o).; ~, ~! o5 F- E$ W  o
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_by_name (referred from mavproxy.o).) c; w. ]5 [- _1 d& J
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_by_index (referred from mavproxy.o).7 u& [9 O8 T; ]# }3 {
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_count (referred from mavproxy.o).+ G; I& w$ h) l* @4 h
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_index (referred from mavproxy.o).1 z9 U) e3 }9 [2 Z- A
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_init (referred from mavproxy.o).
& @$ R& {" p; \9 J.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_set_value (referred from mavproxy.o).
# z- r4 i- ]  n3 t% i7 H4 h. GNot enough information to list image symbols.7 a5 g& \* ~% l) s( Z6 s
Finished: 1 information, 1 warning and 9 error messages.
  k" j1 Q6 k/ g; G".\build\starry_fmu.axf" - 9 Error(s), 1 Warning(s).
使用道具 举报 回复
发表于 2018-9-1 14:39:41 | 显示全部楼层
编译出差, 无MAVLINK函数
0 o5 u8 }' I0 t  l- m" y
使用道具 举报 回复
发表于 2018-9-20 14:22:38 | 显示全部楼层
hdt.ai 发表于 2018-9-1 14:38
: R/ E! l6 H* [4 @* k7 n% O3 a.\build\starry_fmu.axf: Warning: L6319W: Ignoring --keep command. Cannot find section *.o(VSymTab).  l; z! S- ^0 H  W9 Z4 x, j1 ^
...
9 F$ ]: a4 g# l% U& Q2 d
你好,你的问题解决了吗,我也遇见了同样问题
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|RT-Thread开发者社区  

© 2013-2017 上海睿赛德电子科技有限公司 沪ICP备13014002号-1

Powered by RT-Thread

快速回复 返回顶部 返回列表