pico-sdkを最新版に更新
pico-sdkが2023年のバージョンなので、最新のものに更新したい。
pico-sdkのインストール方法は以下の資料の「Appendix C: Manual toolchain setup」に記載されている。
Getting started with Raspberry Pi Pico-series
code:sh
$ cd ~/pico/pico-sdk
$ git pull origin master
$ git submodule update
$ cd ../pico-examples
$ git pull origin master
適当にビルドしてみる
cmake を流して、
code:sh
$ cd pico-examples
$ mkdir build
$ cd build
$ cmake ..
blinkをビルドし、
code:sh
$ cd blink
$ make
(blink.elf と blink.uf2 ができる)
逆アセンブルしてみる。ちゃんとビルドできてそう。
code:sh
$ arm-none-eabi-objdump -D blink.elf | head -20
blink.elf: file format elf32-littlearm
Disassembly of section .boot2:
10000000 <__boot2_start__>:
10000000: 4b32b500 blmi 10cad408 <__flash_binary_end+0xcab9b4>
10000004: 60582021 subsvs r2, r8, r1, lsr #32 10000008: 21026898 ; <UNDEFINED> instruction: 0x21026898
1000000c: 60984388 addsvs r4, r8, r8, lsl #7 10000010: 611860d8 ldrsbvs r6, r8, -r8 10000014: 4b2e6158 blmi 10b9857c <__flash_binary_end+0xb96b28>
10000018: 60992100 addsvs r2, r9, r0, lsl #2 1000001c: 61592102 cmpvs r9, r2, lsl #2 10000020: 22f02101 rscscs r2, r0, #1073741824 ; 0x40000000 10000024: 492b5099 stmdbmi fp!, {r0, r3, r4, r7, ip, lr}
10000028: 21016019 tstcs r1, r9, lsl r0
1000002c: 20356099 mlascs r5, r9, r0, r6
10000030: f844f000 ; <UNDEFINED> instruction: 0xf844f000