Raspberry-Pi-PICO系列--第二篇 开发环境搭建-Mac系统
一、目的
在上一篇《Raspberry-Pi-PICO系列--第一篇 初识RP2040》中我们简单介绍了一下Raspberry_Pi_PICO开发板以及RP2040的基本信息,那么本篇我们就开始搭建开发环境。
Raspberry-Pi-PICO支持两种开发模式,一种是基于C/C++ SDK开发,一种是基于python开发,各有优劣。
参考资料地址Raspberry Pi Documentation - Raspberry Pi Pico
https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html 本人平时的工作基本上都是嵌入式linux C开发以及MCU RTOS开发,那么本篇就先介绍一下在Mac OS上C/C++ SDK开发环境的搭建过程,参考的资料地址如下
注意:上述文档最开始讲解的是在raspberry pi上通过一个自动化脚本直接搭建环境(前提是你需要有个raspberry pi开发板)。
二、准备
首先我们在Mac电脑上打开一个terminal,然后创建一个目录,专门存放跟raspberry_pi_pico有关的内容,如下
1、创建工作目录
$ cd
$ mkdir -p ~/workspace/third/raspberry_pi_pico
$ cd ~/workspace/third/raspberry_pi_pico
2、下载pico相关的代码仓库
$ git clone -b master https://github.com/raspberrypi/pico-sdk.git
$ cd pico-sdk
$ git submodule update --init
$ cd ..
$ git clone -b master https://github.com/raspberrypi/pico-examples.git
除了上面两个仓库,raspberry_pi_pico还有一些仓库存放高级应用的工程代码,例如
$ git clone -b master https://github.com/raspberrypi/pico-extras.git
安装brew工具
$ /bin/bash -c "$(curl -fsSL
https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
下面我们需要安装一下tinyUSB这个依赖库,可以直接通过以下命令安装
$ brew install libusb
3、安装CMake
$ brew install cmake
$ cmake --version
如果cmake版本低于3.12.0则需要更新,直接从官网下载安装包即可
Download | CMakehttps://cmake.org/download/
4、下载工具链
下载完成后,解压到~/workspace/third/raspberry_pi_pico/toolchain目录下
$ cd ~/workspace/third/raspberry_pi_pico
$ mkdir toolchain
$ cd toolchain
$ mv ~/Downloads/gcc-arm-none-eabi-10.3-2021.10-mac.tar.bz2 .
$ tar -jxvf gcc-arm-none-eabi-10.3-2021.10-mac.tar.bz2
验证一下工具链可用,我们可以执行一下命令
$ cd ~/workspace/third/raspberry_pi_pico/toolchain/gcc-arm-none-eabi-10.3-2021.10/bin
$ ./arm-none-eabi-gcc -v
屏幕输出以下内容
5、设置环境变量PICO_SDK_PATH/PICO_TOOLCHAIN_PATH
为了避免每次都要重新设置,我们将这两个环境变量设置到profile文件中,这样每当我们开启一个新的terminal的时候这些环境变量就已经设置好了。
$ vim ~/.bash_profile
在其末尾添加如下两行
export PICO_SDK_PATH="/Users/你的用户名/workspace/third/raspberry_pi_pico/pico-sdk"
export PICO_TOOLCHAIN_PATH="/Users/你的用户名/workspace/third/raspberry_pi_pico/toolchain/gcc-arm-none-eabi-10.3-2021.10"
设置完成后重新打开一个terminal,输入
$ env | grep PICO
如果能看到如下内容说明操作成功
PICO_TOOLCHAIN_PATH=/Users/你的用户名/workspace/third/raspberry_pi_pico/toolchain/gcc-arm-none-eabi-10.3-2021.10
PICO_SDK_PATH=/Users/你的用户名/workspace/third/raspberry_pi_pico/pico-sdk
三、实战
如果上面的操作都没有问题,下面就让我们编译一个最简单的程序。
$ cd ~/workspace/third/raspberry_pi_pico/pico-examples
$ mkdir build
$ cd build
$ cmake ..
如果之前都正确配置的话,你应该可以看到如下结果
编译blink工程
$ cd ~/workspace/third/raspberry_pi_pico/pico-examples/build/blink
$ make
编译成功时屏幕输出
Performing build step for 'ELF2UF2Build'
Scanning dependencies of target elf2uf2
[ 50%] Building CXX object CMakeFiles/elf2uf2.dir/main.cpp.o
[100%] Linking CXX executable elf2uf2
[100%] Built target elf2uf2
No install step for 'ELF2UF2Build'
Completed 'ELF2UF2Build'
Built target ELF2UF2Build
Scanning dependencies of target bs2_default
Building ASM object pico-sdk/src/rp2_common/boot_stage2/CMakeFiles/bs2_default.dir/compile_time_choice.S.obj
Linking ASM executable bs2_default.elf
Built target bs2_default
Scanning dependencies of target bs2_default_padded_checksummed_asm
Generating bs2_default.bin
Generating bs2_default_padded_checksummed.S
Built target bs2_default_padded_checksummed_asm
Scanning dependencies of target blink
Building C object blink/CMakeFiles/blink.dir/blink.c.obj
...
Linking CXX executable blink.elf
Built target blink
并且在目录下有文件blink.uf2、blink.elf、blink.bin,分别对应不同烧写方式用的文件。
.uf2格式可以直接通过板载USB下载
.elf格式可以通过SWD接口下载
.bin格式可以直接flash烧写器烧写到flash中
烧写程序
本篇只介绍烧写.uf2格式的固件,后面博文中会介绍通过SWD下载.elf格式的文件以及调试代码
将开发板上的白色按钮按住,然后将USB线接在开发板上,此时PC上会识别出U盘(PICO开发板会被识别成USB大容量存储设备),如图
将blink.uf2文件拷贝到此目录下,设备就会自动重启,并且板载LED开始闪烁。
至此,我们完成了Mac上开发环境的搭建。
下篇我们介绍如何在Ubuntu上面搭建开发环境。
相关文章
- Mac系统配置gradle的系统环境变量
- 虚拟机安装苹果系统 VMware 12安装Mac OS X 10.10
- 在Mac开发环境Laravel Valet中配置运行Flarum论坛系统的方法详解
- 说说大型高并发高负载网站的系统架构
- 基于Web的制造追溯系统
- 解决Windows时间同步失败问题!系统时间同步设置!
- django框架进阶-auth认证系统-长期维护
- 【JAVA SERVLET 开发系列之一】在MAC系统安装APACHE TOMCAT的详细步骤
- linux 查看系统编码和修改系统 编码方法
- MAC OSX系统Eclipse使用gdb编译程序时的报错处理
- Mac操作:Mac系统移动鼠标显示桌面(移动鼠标到角落)
- flutter mac系统安装flutter
- 基于多目标粒子群优化算法的冷热电联供型综合能源系统运行优化(Matlab代码实现)
- 服务商系统集中高频交易CPU飙升问题解决优化过程
- MAC系统下Sublime Text3 配置Python3详细教程
- mac系统charles无法抓包如何解决
- mac系统安装nvm后,nvm命令找不到
- 72.第十六章 域名系统DNS服务 -- 实现智能DNS(四)
- LINUX系统安装MYSQL命令
- Appium----基于Windows系统安装Appium Inspector
- 【Mac系统】Vscode使用LeetCode插件报错‘leetcode.toggleLeetCodeCn‘ not found
- 【科研技巧】Mac系统如何给Endnote 20安装GB/T中文文献格式以及利用Endnote在Word中插入参考文献
- 基于Java+SpringBoot+Vue在线培训考试系统设计与实现
- 实战OpenPose项目4:实时准确的全身多人姿态估计和跟踪系统
- 部署ELK+Kafka+Filebeat日志收集分析系统
- iMac2021 在重新安装mac os系统后,电脑账户创建失败
- Mac mini7.1 2014年末 安装单windows 10系统
- 系统编程(三)文件IO之常用API dup dup2