StarryPilot编译配置初体验

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

本帖最后由 水清沙白 于 2018-8-1 23:44 编辑 6 @9 j$ X7 E" ]! @

/ \8 f* q& Y, \1. 介绍
6 X2 i  ]( e+ H" y; SStarryPilot是网友JzZou开发的一套多旋翼无人机工程,目前相关代码已经发布在Github:https://github.com/JcZou/StarryPilot,RT-Thread官方微信号专门出文进行推广。该工程硬件基于Pixhawk,国外知名的开源飞控;软件部分系统使用的RT-Thread操作系统,支持Mavlink协议和qgroundcontrol通信,以及很多的飞行控制算法,有不少值得借鉴的地方。(姑且这么介绍,在下也是首次编译通过,下载到硬件,还未深入研究)。  
* N/ g. |2 n# |8 ]0 B, X3 s' L0 J
2. 编译, |5 H3 ^4 Y0 J
* [+ M3 _1 Q# c+ p
StarryPilot基于Keil5开发,这算是不少国内飞控发烧友的福音了,至少不会在门槛阶段就卡主。我下载编译了一番,发现整个过程仍然有很多需要注意的地方,因此记录一下。  
! F  t& b1 z- n  N! y9 }3 }$ T; `' A+ S+ g: I* c8 P
2.1 安装环境准备  / @; \# ]# e1 I% _# N
2.1.1 硬件:7 \# |  i! ^, p$ q! c0 W/ ~
PX4硬件平台:最基础的飞控平台。9 F$ B% W$ E0 W

6 E/ w& j) V, ^. g% d7 w0 x/ Q8 C5 F2.1.2 软件# E! K. [; d# a$ J) r4 c
mdk: MDK-523,这个非常重要,keil4编译会产生很多错误;我用keil 5.29,因为ArmCC版本的原因,仍然失败,折腾一番还是按照说明来;  
+ p5 g4 K+ Y4 P2 ^& }stm32f4的package: Keil.STM32F4xx_DFP.2.11.0.pack,从keill5之后都需要自己安装相应的包
4 Z+ Y! ]7 H& W. UQGroundControl地面站:国外的镜像下载会很慢,耐心。用来更新固件以及查看信息。  
4 i% E3 q& b( p3 }0 ~' B* f4 K& h- a: A$ A& W2 b. D, G
2.2 编译0 H7 Q1 w, ^$ F' v
从Github上clone源代码,打开StarryPilot\starry_fmu\Project\stm32f40x路径下的project.uvprojx工程,在MDK版本安装正确的情况下,是可以一次性直接编译通过的。  2 N/ X4 F7 \% e2 @2 Q

- k; O5 N) S9 @2.3 下载2 w7 \4 n8 d$ S8 h" b9 b# _' r
安装QGroundControl地面站并打开,找到小齿轮图标,然后点击Firmware,拔下飞控的USB接口,如图:' s: \5 j8 J* ?/ \4 v! n
( ~" }) O& O( V1 _8 Y3 t" K

6 }5 X0 w! H; Y0 ?3 H( k重新插上USB,这是会提示升级固件,选择Advanced setting-->Custom firmware,然后点击右上角的OK,会提示选择文件,此时定位到刚才编译产生的starry_fmu.bin文件,确定之后即可完成升级: q8 d$ m, t8 X0 x
微信截图_20180801233921111.png ) G6 Z9 t0 t) r9 q2 e! ]
9 |* n+ a% Q* q: y- C: Y
3. 后记
8 R/ c# W; A5 j* F( G- {: _StarryPilot软件部分基于RT-Thread实时操作系统开发,用了RT-Thread的设备框架及提供的组件,且代码为C语言编写,控制算法支持ADRC 和 PID,感兴趣的朋友可以深入了解一下。  
# e5 d+ r7 F' p8 D) l- w3 W% `* B$ e  A* H* \' f
- T  o2 g, n" M# u

! R  }* c! _- E* _4 r( M$ M: b6 C: J6 y. [/ R$ C
使用道具 举报 显示全部楼层 回复
最新评论 | 正序浏览
显示全部楼层 |楼层直达:
发表于 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).
9 }# e3 o8 }; x9 o6 K- H; `.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_set_value_by_index (referred from calibration.o).
4 O; q( q, @+ g. {/ O.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_get_status_content (referred from mavproxy.o).
. Z9 q) |: T2 Z9 S! H/ E" u.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_by_info (referred from mavproxy.o).
9 f) G' |! A; Y* s* `  y) J5 ].\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_by_name (referred from mavproxy.o).
+ D/ t$ v) e" ?/ ?# z2 J( ^.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_by_index (referred from mavproxy.o).) j' b; R6 v7 _! T2 V6 g
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_count (referred from mavproxy.o).! G7 Y  J' K( i8 r. }0 x% s
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_get_info_index (referred from mavproxy.o).% i7 y0 F9 w: f- A0 m' Q% q% Q
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_init (referred from mavproxy.o).- ^! I$ a+ h; h* W) U) F
.\build\starry_fmu.axf: Error: L6218E: Undefined symbol mavlink_param_set_value (referred from mavproxy.o).8 }& ?$ ~5 A, g- M2 ~$ |) i( X  _
Not enough information to list image symbols.1 s% C  }- g( V: K. O) o
Finished: 1 information, 1 warning and 9 error messages.
! P' p; I  x# d; S6 j".\build\starry_fmu.axf" - 9 Error(s), 1 Warning(s).
使用道具 举报 回复
发表于 2018-9-1 14:39:41 | 显示全部楼层
编译出差, 无MAVLINK函数' \0 q: M* l" a& S
使用道具 举报 回复
发表于 2018-9-20 14:22:38 | 显示全部楼层
hdt.ai 发表于 2018-9-1 14:38
) i4 g, O$ f4 C& ^! Z" ?& G* Z.\build\starry_fmu.axf: Warning: L6319W: Ignoring --keep command. Cannot find section *.o(VSymTab).8 h# X9 a3 T3 s& W3 S
...

% |0 E- m7 _- f- m4 g. M. c& }你好,你的问题解决了吗,我也遇见了同样问题
使用道具 举报 回复
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by RT-Thread

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