从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)

目录

摘要

本节主要记录从零开始学习PX4源码3(如何上传官网源码到自己的仓库中)及如何查看PX4的固件版本信息,欢迎批评指正!


PX4源码版本V1.14.2
Ubuntu系统18.04


1.将PX4源码上传至腾讯工蜂

  1. 下载官网源码,这里主要以V1.14.2为例,执行下面命令,注意要记得翻墙,如何翻墙可以查看我的apm教程内容。
git clone -b v1.14.2 https://github.com/PX4/PX4-Autopilot.git --recursive

在这里插入图片描述在这里插入图片描述
等待接收完成:持续时间大概3-5分钟完成
在这里插入图片描述
执行编译命令,看是否下载完全!!!

make px4_fmu-v3_default

在这里插入图片描述


可以看出可以完成编译,说明上面固件没有问题。那么下面我们需要首先创建自己的腾讯工蜂仓库地址,按照下面操作


1.创建腾讯工蜂管理仓库
在这里插入图片描述
2.执行上传工作

#1.在PX4-Autopilot目录下首先执行查看远程仓库在哪
git remote -v
#2.移除远端仓库
git remote rm origin
#3.增加本地PX4-Autopilot固件的远程仓库地址
git remote add origin
#4.继续查看当前远程仓库在哪,正常的话此时PX4-Autopilot的远程仓库的地址已经变成了自己的仓库。
git remote -v
#5.切换分支
git checkout -b main
#6.推送本地源码到分支
#这个命令用于将本地分支推送到远程仓库,并且通过 --set-upstream(或简写为 -u)参数,
#可以同时建立本地分支与远程分支之间的关联。这意味着以后在本地分支上执行 git pull 或 #git push 时,Git 将会自动关联到远程分支,并执行相应的操作。这样可以避免每次推送或拉
#取时都需要手动指定远程分支的名称。将本地分支与(新创建或者现有的)远程分支关联起来
git push --set-upstream origin main
#7.上传代码到远程仓库

git add .
git commit -m “2024-7-12:上传本地PX4-Autopilot_V1.14.2到自己的腾讯工蜂仓库”
git push origin main 作者:超维空间科技 https://www.bilibili.com/read/cv27472120/?jump_opus=1 出处:bilibili

到这里:在腾讯工蜂上可以看到提交的代码,到这里不要高兴的太早,还需要继续验证2的内容。

2.从腾讯工蜂克隆源码到本地ubuntu

执行下面命令从腾讯工蜂克隆代码到本地:

git clone git@git.code.tencent.com:XXX_Airlines/XXX_PX4_AutoPilot_V1.14.2.git

然后执行编译会直接报错误:
然后执行编译会直接报错误:
然后执行编译会直接报错误:
主要原因PX4有版本信息检测,因此我们需要执行增加版本信息的命令

git tag v1.14.2

上面这种方式每次都需要打标签,因此建议直接修改源码,固定版本名称,在上传上去,后面在克隆下来直接编译就不会报错误。
从下面路径找到:

/home/xx/Desktop/tst_px4/PX4-Autopilot/src/lib/version
uint32_t px4_firmware_version(void)
{
	return version_tag_to_number("v1.14.2");
}
uint32_t px4_firmware_vendor_version(void)
{
	return version_tag_to_vendor_version_number("v1.14.2");
}

修改上面两行代码即可。

3.如何查看自己源码的版本信息

这里顺便说下如何查看当前源码的版本信息:
1.通过命令查看

git describe --tag

在这里插入图片描述

2.通过git查看
在这里插入图片描述

相关推荐

  1. SPI协议学习PX4

    2024-07-13 00:22:03       36 阅读
  2. 开始学习cartographer之01.gflags与glog

    2024-07-13 00:22:03       15 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 00:22:03       66 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 00:22:03       70 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 00:22:03       57 阅读
  4. Python语言-面向对象

    2024-07-13 00:22:03       68 阅读

热门阅读

  1. qt explicit 啥意思

    2024-07-13 00:22:03       26 阅读
  2. 【spring boot项目】mybatis-plus配置类

    2024-07-13 00:22:03       20 阅读
  3. Unity3D中UI层级改变详解

    2024-07-13 00:22:03       24 阅读
  4. Gunicorn多进程指南:让Web应用跑得更快

    2024-07-13 00:22:03       21 阅读
  5. 深入探索Vite的热更新(HMR)实现

    2024-07-13 00:22:03       23 阅读
  6. springboot中抽离日志

    2024-07-13 00:22:03       18 阅读
  7. 《C++并发编程实战》笔记(一、二)

    2024-07-13 00:22:03       20 阅读
  8. 极速目标检测:算法加速的策略与实践

    2024-07-13 00:22:03       18 阅读
  9. hnust 2184: huffman编码(1)

    2024-07-13 00:22:03       23 阅读
  10. Python爬虫教程第6篇-使用session发起请求

    2024-07-13 00:22:03       19 阅读
  11. uniapp js 用dom创建form表单 并提交

    2024-07-13 00:22:03       19 阅读
  12. android 固定图片大小

    2024-07-13 00:22:03       19 阅读