問題タブ [bare-metal]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - ARM Cortex-A で MMU を有効にする際の問題
ARM Cortex-A9 (QEMU) で MMU を有効にしようとしています。すべてのコードとデータはメモリの最初の MB 内にあるため、必要なすべてのメモリをカバーする ID マッピングを設定するには、単一の L1「セクション」エントリで十分であると考えています。手順は次のとおりです。
0x16000値を持つアドレスで L1 エントリを作成します0x00000c02(L1 エントリ形式のドキュメントは、ARM アーキテクチャ リファレンス マニュアルのセクション B3.5 にあります。PDF としてのみ入手できるため、直接リンクすることはできません)。L1 テーブルの他のすべてのエントリはゼロになります。
TTRB0 を次のように設定し0x16000ます (TTBCR.N が 0 であることを確認しました)。
I および D キャッシュを無効にし、TLB を無効にし、ドメイン アクセス制御レジスタ (DACR) をすべて 1 に設定します (これにより、すべてのドメインのアクセス許可チェックが無効になります)。
MMU を有効にします。
しかし、MMU を有効にした直後に、プリフェッチ アボートが発生し、デバッガーがメモリにアクセスできなくなります。誰が私が欠けているものを見ることができますか?
c - 2 つの LED を動作させることができません。【ラズベリーパイ、ベアメタル】
2 つの LED が交互に、または同時に点灯するという問題に直面しています。ただし、それらは一度に 1 つだけ別々に機能します。同じプログラムでこれを達成しようとすると問題が発生します。最初の LED だけがちらつき始めます。他の LED ではありません。以下は私のコードです:
functional-programming - 関数プログラミング言語とベアメタル コード?
現代の関数型プログラミング言語とパラダイム全般は非常に興味深いと思います。関数型プログラミング言語の多くは、C を中間言語として使用するか、独自のコード ジェネレーターを使用して、効率的なネイティブ コードを生成できます。Haskell、OCaml、LISP、Scheme (SBCL、Chiken、Gambit など) などの言語について話しています。しかし、関数型プログラミング言語には、通常は C で実装される大きなランタイム ライブラリが必要であることを知っているため (ガベージ コレクションなど)、そのような言語でベア メタル コードを作成し、 C に戻る必要がありますか (たとえば、OS 開発のため、またはオペレーティング システムなしで組み込みデバイスでネイティブ コードを実行するため)? ない関数型プログラミング言語はありますか? ランタイムに依存しませんか (言語サブセットであっても)? 必要なランタイムを再実装できる関数型言語はありますか (たとえば、Ada、D、Nimrod、Pascal などの言語には、言語自体で記述されたランタイムがあります)。最近、ベアメタル開発用にどのような代替関数型言語がありますか?
ada - Ada on STM32F4 (Cortex-M4)
Cortex-M4 マイクロプロセッサへの Ada 言語の移植版が存在するというこの記事をたまたま見つけました。これはエキサイティングなようですが、残念ながらAdaCoreでそのような兆候は見つかりませんでした。
私たちのターゲットは、STM32F407 または STMF417 ベアメタルです。Ada のリアルタイム拡張は、私たちにとって最も重要です。
ツールの GPL バージョンを使用することをお勧めします。ただし、大学であるため、それぞれの大学バージョンの開発スイートにアクセスできる場合があります。
Cortex-M4 または STM32 で Ada の経験を共有できる人はいますか?
最終的に、STM32F4 のサンプル プロジェクトを含む正しいダウンロードを見つけました。涼しい。