Skip to content

LV020-工程管理实例

一、概述

我们都是将所有的源码文件放到工程的根目录下,如果工程文件比较少的话这样做无可厚非,但是如果工程源文件达到几十、甚至数百个的时候,这样全部放到根目录下就会使工程显得混乱不堪。比如前边 SDK 开发的时候,就有很多的文件:

image-20230729094531808

所以我们必须对工程文件做管理,将不同功能的源码文件放到不同的目录中。另外我们也需要将源码文件中,所有完成同一个功能的代码提取出来放到一个单独的文件中,也就是对程序分功能管理。我们可以仿照以前开发 STM32 的时候的开发模式,将上边的工程修改成如下左侧的形式。

image-20230729095239615

二、工程管理

这里没什么写的,无非就是将前边的代码重新封装一下,可以直接看 Gitee 仓库 01_GPIO_LED/06_led_c_bsp,工程目录如下所示:

shell
hk@ubuntu2204:~/1sharedfiles/4I.MX6U/imx6ull-bare-prj$ tree
.
├── 1.sh
├── bsp
│   ├── clk
│   │   ├── bsp_clk.c
│   │   └── bsp_clk.h
│   ├── delay
│   │   ├── bsp_delay.c
│   │   └── bsp_delay.h
│   └── led
│       ├── bsp_led.c
│       └── bsp_led.h
├── demo.bin
├── demo.dis
├── demo.elf
├── imx6ull
│   ├── cc.h
│   ├── fsl_common.h
│   ├── fsl_iomuxc.h
│   ├── imx6ull.h
│   └── MCIMX6Y2.h
├── imx6ull.lds
├── load.imx
├── Makefile
├── obj
│   ├── bsp_clk.o
│   ├── bsp_delay.o
│   ├── bsp_led.o
│   ├── main.o
│   └── start.o
├── project
│   ├── main.c
│   └── start.S
└── tools
    ├── imxdownload
    │   ├── imxdownload
    │   ├── imxdownload.c
    │   ├── imxdownload.h
    │   └── Makefile
    └── mkimage
        ├── imximage.cfg.cfgtmp
        └── mkimage