🚲 🚗 ✈️ 🚀

🚀 工程文件目录组成

以创建一个 blink 工程为例

首先新建一个 blink 目录,该目录结构如下所示:

1
2
3
4
5
6
7
.
└── blink
├── build
├── CMakeLists.txt
├── main
│ └── blink.c
└── pico_sdk_import.cmake

build 和 main 是目录,build 用于存放编译后的文件,main 目录则用于存放工程相关的 .c 和 .h 文件。

pico_sdk_import.cmake 这个文件是从 pico-sdk 中拷贝过来的,拷贝命令如下:

1
cp $PICO_SDK_PATH/external/pico_sdk_import.cmake .

CMakeLists.txt 是 CMake 的配置文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# 指定最低的cmake版本
cmake_minimum_required(VERSION 3.12)

# 指定依赖文件
include(pico_sdk_import.cmake)

# 指定工程名以及涉及到的编程语言
project(blink C CXX ASM)

# 初始化pico sdk
pico_sdk_init()

# 指定要编译的源码文件
add_executable(blink
main/blink.c
)

# 需要链接的库文件
target_link_libraries(blink pico_stdlib)

# 需要生成的额外文件
# create map/bin/hex file etc.
pico_add_extra_outputs(blink)

🚀 编译工程

进入 build 目录,按照下面的命令开始编译:

1
2
cmake ..
make

编译后会生成 blink.elf、blink.uf2、blink.bin 这三个固件文件。

.uf2格式可以直接通过板载USB下载

.elf格式可以通过SWD接口下载

.bin格式可以直接flash烧写器烧写到flash中

🚀 参考资料

Raspberry-Pi-PICO系列—第七篇 创建自己的工程