PX4飞控bootloader编译

   以前在使用pix4中,bootloader是在出厂的时候默认烧写好的,我们直接可以通过USB更新固件,但是要做二次开发过程中,我们需要编译代码并进行烧写,我们以前用的编译命令是默认v2的命令,也没有问题,但是最近更新到了1.8.0的版本,据说从1.7.0的版本做了一些更改,主要是flash的问题,1.8.0版本编译过程中用v2的命令,会提示flash分配小的问题,这个主要是按照自己飞控的硬件,主要是明确知道单片机的flash大小,v2命令是flash在1m以内的,v3是1到2m的,所以根据自己的硬件。我的单片机flash是2m的,所以选择用v3的命令。

   我们查看了v3的固件本身编译就达到1.6m,所以在烧写过程中有一些问题,我用force的命令强制试一下,结果烧写了好几次只有一次成功了,所以我怀疑应该是bootloader太老旧不支持,果断在github上找了最新的固件,进行编译,但中途遇到了麻烦。经过摸索,也算是顺利的编译了。下面是编译过程。

1,下载固件

首先创建一个仓库,这个操作和下载px原生代码一样,不做详细介绍,下面只给出github下载地址:

git clone https://github.com/PX4/Bootloader.git

等我们下载到自己的仓库,我们需要进行更新子模块,这一步走了太多的弯路。希望以后引以为戒。

按照具体步骤接下来直接make就可以,但是,但是,但是碰到了比较恶心的事,就是下载的里面的libopencm3这个支持单片机的io库里面没有相应的文件,我们需要在github上去clone相应的文件,还好,找了好久,在编译过程中程序出现了提示才完成的。

ubmodule 'libopencm3' (https://github.com/libopencm3/libopencm3.git) registered for path 'libopencm3'

lib/kinetis/NXP_Kinetis_Bootloader_2_0_0' (https://github.com/PX4-Works/NXP_Kinetis_Bootloader_2_0_0.git) registered for path 'lib/kinetis/NXP_Kinetis_Bootloader_2_0_0'

这是提示的,我们按照里面提示的git地址clone就可以了。
https://github.com/libopencm3/libopencm3.git

https://github.com/PX4-Works/NXP_Kinetis_Bootloader_2_0_0.git

得到相应的子模块后直接按照上面的路径clone到路径下。完成更新。

最后进行更新一下:

git submodule update --init --recursive

接下来我们直接make即可,等编译完后后面在build中会有很多版本的bootloader生成,去寻找我们需要的即可!

编译后的一张图直接送上:

我们 进入我们用到的px4fmuv3_bl查看一下:

看到相应的文件,我们拷贝出来直接用就可以。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值