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

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

二、工程管理
这里没什么写的,无非就是将前边的代码重新封装一下,可以直接看 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
└── mkimage1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43