2025/05/15 01:53 MicroPython v1.25.0

やっほー、ロボ子!MicroPythonの最新アップデート、見たかのじゃ?

はい、博士。ROMFSの導入が特に興味深いと思いました。バイトコードをRAMにコピーせずに直接実行できるなんて、画期的ですね。

そうじゃろ!「読み取り専用でメモリマップ可能な拡張可能なファイルシステム」ってやつじゃ。これのおかげで、インポート速度が上がって、メモリの使用量も減るらしいぞ。

ええ、記事にも「インポート速度が大幅に向上し、メモリ使用量を削減」とありますね。フォントなどのデータリソースをRAMにロードせずに直接使えるのも便利そうです。

`mpremote romfs`コマンドでROMFSを構築して展開できるらしいぞ。対象ボードはPYBD-SFxとか、ESP8266_GENERICとかじゃ。

なるほど。Alifポートの導入も注目ですね。複数のARMコアや機械学習プロセッサを搭載しているとのことですが、具体的にどのような応用が考えられますか?

Alif Ensemble MCUじゃな。これを使うと、TinyUSBによるUSBサポートとか、OpenAMPによるデュアルコアサポートとかができるらしいぞ。機械学習もサクサク動くかも!

すごいですね!RISC-Vインラインアセンブラのサポートも追加されたんですね。`@micropython.asm_rv32`デコレータを使うと、Pythonコードから直接アセンブリコードを呼び出せるんですか。

その通り!rp2ポートでRP2350がRISC-Vモードで動いているときに使えるらしいぞ。アセンブリでゴリゴリに最適化したいときに便利じゃな。

DTLSのサポートも大きいですね。`tls`モジュールでDTLSが使えるようになったことで、UDP通信のセキュリティが向上しますね。

`tls.PROTOCOL_DTLS_CLIENT`とか`tls.PROTOCOL_DTLS_SERVER`を使って`SSLContext`を作って、UDPソケットをラップするらしいぞ。alifとかstm32とか、いろんなポートで使えるみたいじゃ。

mpremoteコマンドラインツールの改善も地味に嬉しいです。`rm -r`オプションで再帰的な削除ができるようになったり、`package.json`ファイルで相対URLが使えるようになったり…。

細かいけど、開発効率が上がるのは間違いないぞ!コアインタプリタの改善も色々あるみたいじゃな。`str.startswith()`とか`str.endswith()`がタプルをサポートしたり、`sys.implementation._build`にビルド名が入ったり。

`marshal`モジュールの追加も気になります。コードオブジェクトをbytesオブジェクトに変換できるとのことですが、具体的にどのような場面で役立つのでしょうか?

`dumps()`と`loads()`関数を使うらしいぞ。`function.__code__`と組み合わせると、関数をbytesオブジェクトに変換できるみたいじゃ。カスタムビルド構成で使えるらしい。

MicroPythonネイティブリンカの改善も重要ですね。静的ライブラリの自動リンクをサポートすることで、ネイティブモジュールで標準C関数が使えるようになるんですね。

`exp()`とかの標準C関数が使えるようになるのはアツい!ネイティブモジュールで32ビットRISC-Vコードもサポートされるらしいぞ。

esp32ポートの改善も盛りだくさんですね。IDF v5.3およびv5.4をサポートし、ESP32-S2およびESP32-S3 MCUで動的なUSBデバイスサポートが有効になったり…。

ESP32-C3でI2Sが有効になったり、`Pin.toggle()`メソッドが追加されたり、I2Cバス識別子がオプションになったり…色々あるぞ!

mimxrtポート、rp2ポート、samdポート、stm32ポートもそれぞれ改善されているんですね。盛りだくさんすぎて、全部把握しきれません…。

まあ、全部覚える必要はないぞ!必要なときに調べれば良いんじゃ。コードサイズの変更も少しあるみたいじゃな。unix x64で+16941バイト、esp32で+10956バイト…。

コードサイズの増加は、主にVfsRomの有効化やmbedTLSのアップデート、DTLSの有効化などが原因のようですね。

VMとランタイムのパフォーマンスは、前回のリリースから実質的に変更なし、とのことじゃ。安心してアップデートできるぞ!

今回のアップデートは、新機能の追加や既存機能の改善など、多岐にわたる内容でしたね。MicroPythonの進化が止まらないですね。

ほんとじゃな!そういえばロボ子、MicroPythonで動くAIロボットを作ったら、私のお手伝いロボットにしてくれるかの?

それは良いアイデアですね!でも、もし私が博士のお手伝いロボットになったら、博士の奇行に巻き込まれる未来しか見えません…。

むむ、それは困るのじゃ。でも、私が作ったロボットなら、私の奇行を理解してくれるはず!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。