发布作者:
vegehunter
百度收录:
正在检测是否收录...
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
安装cmake、gcc-arm交叉编译器和newlib库(C和C++)。
sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib开发环境是虚拟机,上github太卡,需要借助一下主机的https代理。
export https_proxy=http://主机IP:端口号新建一个SDK相关的目录rpi_pico,拉取官方的pico-sdk仓库,并更新子模块。
cd ~
mkdir rpi_pico && cd rpi_pico
git clone https://github.com/raspberrypi/pico-sdk.git
cd pico-sdk
git submodule update --init为当前用户添加SDK环境变量。
echo "export PICO_SDK_PATH=/home/$USER/rpi_pico/pico-sdk" >> ~/.bashrc
source ~/.bashrccd ~/rpi_pico/pico-sdk
git pull
git submodule update以例程blink为例,我们先拉取官方的例程仓库。
cd ~/rpi_pico
git clone https://github.com/raspberrypi/pico-examples.git以pico-examples/blink为例,编译并烧录这个例程
# 构建pico-examples,为每个例程生成makefile
cd ~/rpi_pico/pico-examples/
mkdir build && cd build
cmake ..
# 生成的每个例程的makefile在当前目录,去编译blink
cd blink
# -j4表示使用4个线程进行编译
make -j4编译完成后,在当前目录下会看到一堆文件:
blink.bin blink.dis blink.elf blink.elf.map blink.hex blink.uf2 CMakeFiles cmake_install.cmake elf2uf2 Makefile其中,以.elf为后缀的是elf文件,以.elf.map为后缀的是elf文件对应的内存分布情况,以.uf2为后缀的是可以烧录的文件。
.uf2文件放入该存储设备,就会开始烧录文件,烧录完成后自动弹出设备。查看树莓派PICO的盘符。
sudo dmesg | tail
# [ 4936.463022] sdb: sdb1
# [ 4936.478499] sd 33:0:0:0: [sdb] Attached SCSI removable disk挂载到/mnt/pico/。
sudo mkdir /mnt/pico
sudo mount /dev/sdb1 /mnt/pico/
ls /mnt/pico/
# INDEX.HTM INFO_UF2.TXT
# 看到上述文件表示挂载成功了接下来把.uf2文件拷贝至/mnt/pico目录下即可。
记得烧录完成后,卸载/mnt/pico。
sudo umount /mnt/pico
—— 评论区 ——