MinCamlでRP2350のアセンブリコードを出力したい
MinCamlからRP2350(ラズピコ2に搭載されているチップ)のアセンブリコードを出力したい
CPUアーキテクチャ
チップ
RP2350
CPUコア
Cortex-M33
CPUアーキテクチャ
Armv8-Mアーキテクチャ
開発環境
開発環境の準備はこちらを参照
以下の手順で最新版に更新
参考
Appendix C: Manual toolchain setup(Getting started with Raspberry Pi Pico-series)
Raspberry Pi Pico 2 C/C++ SDK
QEMUの対応状況を確認
RP2350の「cortex-m33」はサポートしているみたい。
code:sh
$ qemu-system-arm -cpu help
Available CPUs:
...
cortex-m0
cortex-m3
cortex-m33
cortex-m4
cortex-m55
cortex-m7
cortex-r5
cortex-r52
cortex-r5f
...
対応ボードにラズピコ系は無さげ。virt で良いかな?
code:sh
$ qemu-system-arm -machine help
Supported machines are:
...
raspi0 Raspberry Pi Zero (revision 1.2)
raspi1ap Raspberry Pi A+ (revision 1.1)
raspi2b Raspberry Pi 2B (revision 1.1)
...
virt-8.0 QEMU 8.0 ARM Virtual Machine
virt-8.1 QEMU 8.1 ARM Virtual Machine
virt QEMU 8.2 ARM Virtual Machine (alias of virt-8.2)
virt-8.2 QEMU 8.2 ARM Virtual Machine
...
シミュレータの動かし方
MinCamlが出力したアセンブリコードをQEMU上で実行したい。
以下が参考になりそう。
libmincaml.S と stub.c 以下が参考になるかも
(1) PowerPC のコード
作業ログ
code:sh
参考
ラズピコ2本家
Raspberry Pi Pico 2 C/C++ SDK
Raspberry Pi Pico 2 series product brief