赞
踩
新手上路一文中我们编译的应用是官方提供的example,官方一次性将所有的example全部编译出来了。
那我们自己应该如何来创建自己的工程项目呢?getting-started-with-pico.pdf文档“Chapter 8. Creating your own Project”中详细介绍了相关流程。本文按照该流程完成项目创建,并成功完成从串口输出“Hello world!”
1、创建项目目录,如pico_user_project
2、创建源文件hello_world.c并编辑输入:
- #include <stdio.h>
- #include "pico/stdlib.h"
-
- int main()
- {
- setup_default_uart();
- while(1) {
- printf("Hello World!\r\n");
- sleep_ms(1000);
- }
- return 0;
- }
3、从pico-sdk/external目录下复制pico_sdk_import.cmake文件至pico_user_project根目录下
4、创建CMakeLists.txt文件并编辑输入:
- cmake_minimum_required(VERSION 3.13)
-
- include(pico_sdk_import.cmake)
-
- project(hello_world C CXX ASM)
-
- set(CMAKE_C_STANDARD 11)
- set(CMAKE_CXX_STANDARD 17)
-
- pico_sdk_init()
-
- add_executable(hello_world
- hello_world.c
- )
-
- pico_add_extra_outputs(hello_world)
- target_link_libraries(hello_world pico_stdlib)
5、按照新手上路一文,在命令行中依次输入:
一切正常的话,会在build目录下生成hello_world.uf2文件,按照新手上路一文对应步骤,将该文件下载到Pico中, 在UART0上每隔1000ms输出一串“Hello World!”
UART0默认管脚分布如下:
UART0_TX | GP0,Pin1 |
UART0_RX | GP1,Pin2 |
Pin3 |
7、CMakeLists.txt文件pico相关解析:
- include(pico_sdk_import.cmake) #导入pico_sdk_import.cmake
- pico_sdk_init() #定义在pico_sdk_import.cmake中的宏,等同于add_subdirectory(${PICO_SDK_PATH} pico-sdk)
- pico_add_extra_outputs(hello_world) #用于生成uf2文件,否则只会生成elf文件
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。