Browse Source

更新文档

master
Lizongdi 5 days ago
parent
commit
5665b77448
  1. 96
      README.md

96
README.md

@ -2,9 +2,94 @@
## 写在前面
新代码架构使用cmake配合cubeide编译,使用cubemx修改ioc配置的方式进行维护。需要将cubeide升级至v2版本,由于v2起cubeide与cubemx分成了两个独立软件,因此如果要修改ioc配置的话还需要额外安装cubemx。安装包在部门共享文件夹内的`/vol1/@team/SW_Group/STM32相关文件及安装包等`有安装包。
新代码架构使用cmake配合cubeide编译,使用cubemx修改ioc配置的方式进行维护。需要将cubeide升级至v2版本,由于v2起cubeide与cubemx分成了两个独立软件,因此如果要修改ioc配置的话还需要额外安装cubemx。安装包在部门共享文件夹内的`/vol1/@team/SW_Group/STM32相关文件及安装包等`有安装包。考虑到易维护性以及代码授权问题,该工程采用了Git submodule的方式来确保公共部分代码不会被随意修改,所以需要先引入git的部分知识。
### 使用cubeide导入工程
## Git使用
在软件开发过程中经常会遇到迭代修改问题:即在一个项目中反复修改或优化某一个功能,代码变动很大,然后最后甲方的一句”我觉得还是用最开始那一版吧”经常把我们搞得焦头烂额。而业界一般常用git或svn来进行代码维度的版本管理,我们目前内部在用的是郭大佬搭建的[git平台](http://123.207.52.103:3000/),但是据我调研,大家目前都在把git当作一个云盘来使用而忽略了它的很多高级功能,此文章目的在于带大家了解一些git的基础操作和进阶操作。这里优先讲解我用到过的,其他的待大家完善。
### 安装Git(Windows下)
在[飞牛](http://192.168.18.234:5666/)的`/vol1/@team/SW_Group/提效软件`目录下(也就是主界面进去后依次点击**文件管理->团队文件->SW_Group->提效软件**)找到`Git-2.34.1-64-bit.exe`安装包并进行安装,安装选项较多无脑点下一步即可,当然也可以问一下AI那些选项都是什么意思让它给提提建议但一般都无伤大雅。
然后由于git默认的图形化界面很蠢,这里建议大家使用vscode的图形化界面进行日常代码提交。不过由于vscode插件不支持submodule命令,所以首次拉取工程时还是需要用到git命令行,大家继续往下看就知道了。
### 使用vscode的git插件拉取工程
vscode是自带git插件的,可以很方便地进行git基础操作,接下来演示如何从git远程仓库拉取本工程代码。
1. 新建一个文件夹用vscode打开。
2. vscode切换到git视图点击初始化按钮,如下图所示:
![image-20261012104010595](typora/image-20261012104010595.png)
3. 然后依次点击这里的三个点,`Remote`和`Add Remote`,如下图所示:
![image-20261012104115587](typora/image-20261012104115587.png)
4. 顶部会有一个位置让你输入git链接,我们输入`http://123.207.52.103:3000/LiZongdi/robot_h743.git`**按回车**,然后又会有一个文本框,这是给我们的本地仓库取名字的,一般习惯输入`origin`**按回车**
5. 本地仓库与远程仓库建立完联系之后,然后还是按下图所示顺序点击按钮进行拉取操作(也就是下载代码)
![image-20261012104614719](typora/image-20261012104614719.png)
6. 到这里就拉取完成了,然后大家会发现直接编译是不行的,因为robot文件夹下没有内容,这就是前文说到的submodule。简单来说就是git支持将另一个仓库作为子模块链接,这样再配合给不同的子模块不同的读写权限,就实现了代码的分层管理。vscode插件不支持git的submodule系列命令,所以大家要借助命令行操作(可以直接跳转到下一节第三步)。
### 使用git命令行拉取工程
除了使用插件之外,笔者还是更习惯使用命令行拉取仓库,这里重新讲解一下。
1. 还是新建文件夹,然后在文件夹内部右键**Git Bash Here**,安装完git后一般就会默认有这个选项了。随后会打开一个命令行交互界面。
![image-20261012110045631](typora/image-20261012110045631.png)
2. 依次输出如下命令(#号及其后汉字是注释不用输入):
```shell
git init #对应上一节的第二步初始化
git remote add origin http://123.207.52.103:3000/LiZongdi/robot_h743.git #对应上一节的第三四步关联仓库
git pull origin master #对应上一节的第五步拉取仓库
```
随后会看到类似如下输出(拉取需要时间可能需要几秒钟)
```shell
remote: Counting objects: 1043, done.
remote: Compressing objects: 100% (923/923), done.
remote: Total 1043 (delta 341), reused 636 (delta 95)
Receiving objects: 100% (1043/1043), 4.12 MiB | 929.00 KiB/s, done.
Resolving deltas: 100% (341/341), done.
From http://123.207.52.103:3000/LiZongdi/robot_h743
* branch master -> FETCH_HEAD
* [new branch] master -> origin/master
```
这就表示拉取完成了
3. 接下来拉取子库,输入如下命令:
```shell
git submodule update --init --recursive #update命令表示根据分支信息更新子库,init表示初始化子库(即首次拉取),recursive表示递归处理子库中包含的子子库。
```
这次需要的时间可能更长,输出类似:
```shell
Submodule 'robot' (http://123.207.52.103:3000/LiZongdi/robot.git) registered for path 'robot'
Cloning into 'D:/vedio/robot_old/robot'...
Submodule path 'robot': checked out 'ce5f7173b646b2fe0685798ef177f181b2dcca23'
Submodule 'project' (http://123.207.52.103:3000/LiZongdi/project.git) registered for path 'robot/project'
Submodule 'project_old' (http://123.207.52.103:3000/LiZongdi/project_old.git) registered for path 'robot/project_old'
Cloning into 'D:/vedio/robot_old/robot/project'...
Cloning into 'D:/vedio/robot_old/robot/project_old'...
Submodule path 'robot/project': checked out '86e867c5d8efd261ce78e0ee480771e8b6e8a7f7'
Submodule path 'robot/project_old': checked out '63e4150140333db80803088c1c56b01be5a9b994'
```
到这里大家就可以继续回去用vscode插件进行提交等操作了。vscode图形化插件在这方面的优势还是很大的。
## 使用cubeide导入工程
1. 打开cubeidev2版本
2. 依次点击顶部面板的File-->Import打开导入界面
@ -22,13 +107,6 @@
![image-20260930093413357](/typora/image-20260930093413357.png)
## Git使用
### 写在前面
在软件开发过程中经常会遇到迭代修改问题:即在一个项目中反复修改或优化某一个功能,代码变动很大,然后最后甲方的一句”我觉得还是用最开始那一版吧”经常把我们搞得焦头烂额。而业界一般常用git或svn来进行代码维度的版本管理,我们目前内部在用的是郭大佬搭建的[git平台](http://123.207.52.103:3000/),但是据我调研,大家目前都在把git当作一个云盘来使用而忽略了它的很多高级功能,此文章目的在于带大家了解一些git的基础操作和进阶操作。这里优先讲解我用到过的,其他的待大家完善。
### 安装Git(Windows下)
在[飞牛](http://192.168.18.234:5666/)的`/vol1/@team/SW_Group/提效软件`目录下(也就是主界面进去后依次点击**文件管理->团队文件->SW_Group->提效软件**)找到`Git-2.34.1-64-bit.exe`安装包并进行安装,安装选项较多无脑点下一步即可,当然也可以问一下AI那些选项都是什么意思让它给提提建议但一般都无伤大雅。
## 关于cmake与CMakePresets.json
大家一定注意到了根文件夹下的CMakePresets.json文件,这个文件就是cmake实现可裁剪模块化配置的关键文件。其中描述了开启哪些编译选项。CMakePresets.json文件的工作原理实际上就是代替命令行cmake中的裁剪配置命令参数,cmake会在每次预构建时读取CMakePresets.json文件内容并在build下生成编译中间文件。因此**每次修改完CMakePresets.json内容后如果需要其生效需要手动删除build文件夹重新触发cmake预编译**。

Loading…
Cancel
Save