Crazy无人机固件编译过程(Ubuntu18.04)

我们来看一下编译的过程,我的机器是Ubuntu18.04

https://www.bitcraze.io/documentation/repository/crazyflie-firmware/master/building-and-flashing/build/
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppasudo apt-get updatesudo apt install gcc-arm-embedded

可以看到最重要的还是交叉的编译工具,apt下载一下

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm

更新的机器是,Ubuntu20.4是执行的下面的命令

安装的编译器是这个,编译ARM构架的裸机系统

sudo apt-get install make gcc-arm-none-eabi
https://www.cnblogs.com/deng-tao/p/6432578.html

在上面的哪个博客上面归类的不错,可以你去看看

我去找了一下关于ARM编译器的资料,当然是去官网看啦

支持的芯片,M系列的就可以

因为不管是STM32 还是NRF都是M得ARM芯片

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

编译器资料下载的地方,其实也不是资料,其实就是最新的gcc下载得地方

git clone --recursive 用于循环克隆git子项目

项目里包含的一些库或者一些模块是存在了别的仓库,可以用递归来克隆回来。一次性就能解决所有的依赖模块,这里就选择这个命令参数来clone

https://www.cnblogs.com/love-zf/p/13192734.html
git clone --recursive https://github.com/bitcraze/crazyflie-firmware.git

我线clone一下,因为子库比较大,所以有点费时间

code在提示这个,可不是嘛,三分钟前都在提交代码

稍等片刻,colne完成

一个多g

cd crazyflie-firmwaregit submodule initgit submodule update

如果一些库没有递归克隆的标志,那就自己手动安排一下

make PLATFORM=cf2

然后运行这个,打开编译的选项目录

全部:构建快捷方式编译:编译cflie.hex。警告:请勿更新version.cbuild:更新version.c并编译cflie.elf / hexclean_o:仅清除对象文件,保留可执行文件(即.elf,.hex)clean:清理所有编译文件mrproper:清除每个编译文件和经典编辑器备份文件
cload:如果crazyflie-clients-python放在同一目录级别,并且 插入Crazyradio / Crazyradio PA,它将尝试刷新固件 使用无线引导程序。flash:使用OpenOCD的Flash .elf暂停:使用OpenOCD暂停目标reset:使用OpenOCD重置目标openocd:启动OpenOCD

如果需要自定义config的内容,需要修改这个地方

编译之前的文字菜单就是这个文件

make cleanmake make cload

之后在进行编译的时候,要先清理目录,然后编译。然后尝试自动上传,可以看上面的命令。

(0)

相关推荐