ESP32 用 Linux

2026/07/29 2:52

ESP32 用 Linux

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

Linux 6.12 環境が ESP32-S31 プロセッサに Sv32 仮想メモリを使用して成功裏に移植されました。これは、ESP-IDF などの独自でクローズドソースのツールチェーンからオープンソースエコシステムへの重要な転換を意味します。Buildroot を使用して ESP32-S31-WROOM-3 E1H16R16V ボード上で動作し、現在はハードウェアのブリングアップに焦点を当てたプロトタイプ段階に留まっており、生産利用にはまだ至っていません。ユーザーは

esptool
に特定のパラメータ(80MHz、サイズ 16MB)を指定してシステムを書き込むことができます。これによりブートローダー、ルートファイルシステム、ファームウェアをデプロイできます。安定した機能としては、電源管理、コンソール UART ドライバ(UART0)、Buildroot ルートファイルシステムが含まれますが、S31 チップの独自のアーキテクチャ上の特殊性のため、まだ解決すべき重要な課題が残っています。具体的には、標準的な RISC-V CSRs がハードワイヤリングされているか使用できないためカスタム割り込みハンドリングに OpenSBI によるパッチが必要であり、部分的なドキュメントからの推測に基づくスーパーバイザモードの使用方法などです。今後の開発では、デュアルハート SMP サポートの実装よりも、周辺機器および接続性ドライバ(未テストのコンポーネントとしてイーサネット、SDMMC、USB を含む)のテストを優先する予定です。デュアルハート SMP サポートは、クローズドソースのラジオファームウェア、ヘテロジェニアスなコア、メモリ制約によりブロックされています。これらの制限が産業的な広範な採用を妨げているにもかかわらず、この成就是嵌入式 RISC-V システムにおいて以前チップの小さなキャッシュや特殊な命令セットに依存していた制限を超え、高度なオープンソースソフトウェアスタックを実験するための機能性のあるフレームワークを開発者に提供することを意味します。

Text to translate:

A native Linux 6.12 environment has been successfully ported to the ESP32-S31 processor using Sv32 virtual memory, marking a significant shift from proprietary closed-source toolchains like ESP-IDF to an open-source ecosystem. Running on the ESP32-S31-WROOM-3 E1H16R16V board via Buildroot, the project is currently restricted to a proof-of-concept stage focused on hardware bring-up rather than production use; users can flash the system using

esptool
with specific parameters (80MHz, 16MB size) to deploy bootloaders, root filesystems, and firmware. While stable features include power management, console UART drivers (UART0), and a Buildroot rootfs, critical challenges remain due to unique architectural quirks in the S31 chip, such as custom interrupt handling requiring OpenSBI patches because standard RISC-V CSRs are hardwired or unusable, and supervisor mode usage that relies on guessing from partial documentation. Future development will prioritize testing peripheral and connectivity drivers—including untested components like Ethernet, SDMMC, and USB—rather than implementing Dual Hart SMP support, which is blocked by closed-source radio firmware, heterogeneous cores, and memory constraints. Despite these limitations preventing widespread industry adoption, this achievement provides developers with a functional framework to experiment with advanced open-source software stacks on embedded RISC-V systems, overcoming previous restrictions tied to the chip's tiny cache and specialized instruction sets.

本文

ESP32-S31 向けの Linux 6.12 ポート:Sv32 仮想記憶管理と XIP を含む実装

このプロジェクトは、ESP32-S31 マイクロコントローラー上で ネイティブに動作する Linux 6.12 ポートです。 機能としては、Sv32 仮想記憶管理スーパーバイザーモード、**XIP(実行時ロード)**のサポートを含み、Buildroot ベースのユーザースペースを実装しています。

  • テスト済みモジュール: ESP32-S31-WROOM-3 E1H16R16V(ESP32-S31 コアボード/Korvo)。
  • 開発方針: 実験的なハードウェア起動プロジェクトであり、製品向けには絶対にお使いいただけません

クイックスタート

まず、ESP32 ファームウェアフラッシュツールである

esptool
をインストールしてください。 次に、Release 領域からバイナリファイルをダウンロードし、ボードを USB-UART で接続します。

以下のコマンドを実行してファームウェアをフラッシュしてください。

注意: コマンド内の

/dev/ttyUSB0
は、実際のシリアルデバイスのパスに変更してください。

$ esptool -p /dev/ttyUSB0 -b 2000000 erase-flash

$ esptool -p /dev/ttyUSB0 -b 2000000 write-flash \
    --flash-mode dio --flash-freq 80m --flash-size 16MB \
    0x2000 bootloader.bin \
    0x8000 partition-table.bin \
    0x17000 ota_data_initial.bin \
    0x20000 hello_world.bin \
    0x220000 fw_payload.bin \
    0x2A0000 xipImage \
    0xA20000 rootfs.sqfs

ポート化の進行状況

全般機能

機能状態
Buildroot ベースのルートファイルシステム🟢 安定版
リブートおよびパワーオフ🟢 安定版
ワイヤレス (ESP-Hosted)🟡 未テスト
デュアルハート SMP⚫ 計画外(FreeRTOS で使用されるため)

パーフェリカルドライバー

機能状態
AXI GDMA / AHB GDMA / キャッシュドライバー🟡 未テスト
TRNG (真rnd) / eFuse / ウォッチドッグタイマー🟡 未テスト
PWM、カウンタ、アナログ周辺回路 / CLIC/CLINT インタラプト🟡 未テスト
Flash MTD ドライバー🟡 未テスト
タイマー / クロックツリー / セキュリティアクセラレータ🟠 開発中 (WIP)
LP サブシステムおよび IPC🔴 実装済みなし
PMP/APM (メモリ保護ユニット)🔴 適切には実装済みなし

コネクティビティドライバー

機能状態
UART0 コンソール🟢 安定版
UART1/2 / GMAC (Ethernet) / SDMMC / GPIO🟡 未テスト
pinctrl/GPIO マトリクス / USB🟠 開発中 (WIP)
I2C / I2S / SPI / RMT🔴 実装済みなし
USB シリアル/JTAG⚫ 計画外(FreeRTOS で使用されるため)

凡例:

  • 🟢 安定版: 完全にテストされ、動作確認済みの機能。
  • 🟡 未テスト: 動作する可能性が高いが、徹底的なテストは行われていない。
  • 🟠 開発中 (WIP): 機能が完全には実装されていない。
  • 🔴 実装済みなし: 実装が完了していない機能。
  • 計画外: 他のフレームワーク(FreeRTOS)で使用されるため、本プロジェクトでは採用されない機能。

ビルド/フラッシュ手順詳細

詳細なビルド手順については ビルド手順 をご参照ください。


S31 固有の特性・注意点

※TRM(Technical Reference Manual)が公開される前のため、推測に基づいた実装が含まれています。ハードウェアの詳細は

docs/
フォルダを参照してください。

  • CLIC v. PLIC v. CLINT: S31 は P4 に類似した CLIC と CLINT を使用していますが、Linux 標準では PLIC(Platform-Level Interrupt Controller)が期待されます。そのため、独自に開発された CLIC ドライバーが必要です。
    disdi
    氏の CLIC パッチを参考として採用しています。
  • 非標準的な RISC-V インタラプト CSR: 標準的な RISC-V インタラプト CSR は使用できません(CLINT インタラプトが CLIC へルーティングされており、
    mtvec.MODE
    がハードウェア上で
    0x3
    (CLIC モード) に固定されているため)。OpenSBI のインタラプト動作を正常化するためにパッチ適用が必要です。
  • 非標準的な S モード: S31 のスーパーバイザーモードは非標準であり、ESP-IDF 上での利用実績が皆無です。CSR(Command Status Register)の多くについて P4 の TRM や CSR プロブリングの結果に基づいた推測が行われています(例:
    sclicbase(?)
    の使用や、
    sie
    リジスタが存在しないことなど)。詳細は
    docs/
    を参照してください。
  • S31 が実装している SCLIC: ESP-IDF の基本原則によれば
    mcliccfg.NMBITS
    は書き込み不可能のはずですが、実際には書き込み可能です。これを記述することで
    clicintattr[i].MODE
    フィールドへの書き込みを有効にし、S モードインタラプトの利用が可能になります。
  • OpenSBI と Linux XIP: 貴重な 16MB PSRAM メモリを節約するために、OpenSBI をフラッシュと内部 SRAM から直接読み込んで動作する XIP モードに変更しました(バナーのファームウェアサイズが約 3915901 KB の原因)。
  • メインライン Linux と XIP サポート: メインラインの Linux では RISC-V 向けの XIP サポートが削除されているため、XIP サポートが正常に動作する Linux 6.12 を採用しました。

FAQ

なぜ SMP(対称マルチプロセッシング)を採用していないのか?

いくつかの理由があります:

  1. 無線ファームウェアの制限: Espressif の無線ファームウェアビlobs はクローズドソースであり、ESP-IDF の FreeRTOS フレームワーク内で動作する必要があります。リバースエンジニアリングは極めて困難です(法的リスクも)。
  2. 異種コアの問題: S31 の 2 コアはすでに異種コアになっています(SIMD パスはハート 1 にのみ限定)。SMP を採用すると、タスクを適切なコアにスケジュールするのが難しくなります。
  3. メモリの制約: PSRAM は SRAM と比較しても低速です。また、2 コアが共有するのは極めて小さな 32KiB の D キャッシュだけです。
  4. 複雑性の増加: キャッシュ保守、IPC、インタラプトルーティングなどの処理が増加します。
  5. RTOS の必要性: 他のタスクのために RTOS を持っておきたいという個人的な理由もあります。もし絶対的なパフォーマンスが必要であれば、低エンドの MPU(例:Allwinner T113-S3)を選ぶ方が賢明です。

このポートにおいては、S31 を**「転生した Bouffallo BL808.1」**と考えてください。


TODO

  • BL808 のドライバーを驚くほど不足しているのは現実的な悪夢であり、Espressif のソフトウェアサポートの重要性を再認識しました。

同じ日のほかのニュース

一覧に戻る →

2026/08/02 7:25

正しい質問さえすれば、AI ファイナンシャルアドバイスの精度は驚くほど高い

## Japanese Translation: 人工知能(AI)は、人間のアドバイザーに見られるコスト、偏見、利益相反を回避して利用者を支援する安価な財務指導を提供しますが、監督なしでその自動的なアドバイスに従うと、壊滅的な資産損失を引き起こす可能性があります。MIT スローン校およびスタンフォード大学の学者による最近の研究では、現在の AI モデルには失業のような急激な経済ショックに適応するためのニュアンスが欠けており、たとえ蓄積があるにもかかわらず、大規模な支出削減を誤って推奨する傾向にあることが明らかにされています。さらに、これらのモデルはアクティブなポートフォリオ再調整で困難に遭遇し、状況の変化に合わせて調整する代わりに漂う(ドリフトする)傾向があります。この制限はデータへのアクセス不足ではなく、プロンプトエンジニアリングの不備およびモデル自体の偏見に起因します。 22 歳から 89 歳までの個人を追跡する大規模なシミュレーションでは、構造化されていない AI との相互作用への依存により、60 歳までに格差が大幅に拡大しました。具体的には、女性や財務リテラシーが低い利用者は、プロンプトの作成方法においてもモデルによる解釈方法においても存在する性別偏見により、純資産が最大で 10 万ドル減少するという結果を示しました。専門家は、取引に基づく AI 指示のみを頼りにし、事前にリテラシー教育を受けていない場合に、最も脆弱なグループに対しては、予測される資産の約 6% に相当する複合的な損失が発生する可能性があるとして警告しています。したがって、本研究では AI を主に財務理解を構築するための手段として利用すること、および企業側が製品説明がますます独立した推奨事項を生み出し、従来のマーケティングの防護策を回避する可能性に留意しなくてはいけないことを提言しています。

2026/08/02 5:33

ダイタキシス

## Japanese Translation: Diátaxis は、ユーザーニーズ、コンテンツ、スタイルおよびアーキテクチャに対応しながら、堅固な実装制約を課さずに高品質な技術文書の作成を行うための体系的で軽量なフレームワークです。その核心的な強みは、チュートリアル、ハウツーガイド、技術リファレンス、説明という 4 つの異なる情報タイプを分類し、読者の意図と整合させるためにこの構造を中心にコンテンツを整理することにあります。この能動的品質原則は、情報アーキテクチャを簡素化し発見可能性を高めるシンプルなアプローチを提供することで、作成者とユーザーの双方に力を付与します。Diátaxis は数百プロジェクトで成功裏に採用されており、Cloudflare などの組織のリデザインにおいて「北極星」として機能しています。具体的な事例では、Vonage においては Greg Frileux が貢献者から愛されている内部ドキュメントの構築に役立ったことを指摘し、Gatsby においては Megan Sullivan がオープンソースリソースを再編成して発見しやすくしたことが挙げられます。結局のところ、Diátaxis はドキュメントが読者に直接的な価値を提供するとともに、明確で構造化されたコンテンツを通じて企業が貢献者を保持するのを支援します。

2026/08/02 5:45

シードダンス 2.5

## Japanese Translation: ByteDance が、長編ストーリーテリング、精密な編集、そして高度なマルチモーダル参照における画期的な進歩によりコンテンツ制作を革新することを目的とした次世代の動画生成モデル「Seedance 2.5」を正式にローンチしました。本モデルは、1 つのパスで高品質な 30 秒間のオーディオ・ビデオクリップを生成し、複数ラウンドの拡張をサポートして一貫性のある数分の長編ナラティブを作成できます。ユーザーはガイドとして最大 30 枚の画像、10 クリップ分の動画、または 10 クリップ分のオーディオを入力でき、テクスチャレスな 3D モデルを使用して複雑な空間構造を構築する際に役立つ粘土レンダリング参照も使用可能です。Seedance 2.5 はオーディオとビデオの精密な編集のためにタイムスタンプレベルの制御を導入し、グリーンスクリーンやカメラ視点変更などの機能を増強しつつ、カット間での対象物の安定性とビジュアル同期を保証します。システム最適化により、物体のテクスチャ、肌/目の特徴、物理法則に従う照明などといった視覚的な詳細が向上し、AI 動画に一般的な人工的な外見を大幅に軽減します。本技術は、歴史および科学的文脈向けの没入型教育シミュレーション、ロボットトレーニング用の合成データ生成、自動運転車両向けの極端な気象シナリオの安全なシミュレーションなど多様な用途への展開を可能にします。本日、Jimeng AI と Doubao Pro でお利用可能で、より広範な API アクセスは間もなく BytePlus ModelArk を介して提供されます。本モデルは、将来的な運動の妥当性と複雑なシーンにおける安定性の向上のための基盤を築きます。

ESP32 用 Linux | そっか~ニュース