問題タブ [u-boot]
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.
usb - DM9601 ビーグルボードの u-boot 用ドライバー
Beagleboard から nfs ブートを実行しようとしています。Davicom Dm9601 が U-Boot から検出されなかったため、「0 イーサネット デバイスが見つかりました」および「リモート デバイスが応答しませんでした」というエラーで失敗しました。
同じデバイスドライバーの作成を開始しました。
- dm9601_eth_before_probe
- dm9601_eth_プローブ
上記の 2 つの関数を使用すると、「1 つのイーサネット デバイスが見つかりました」と表示されます。
- dm9601_init
上記の関数を記述しようとすると、最初のアクションは MAC アドレスを取得することです。以下のasix.cを参考にしています。read_cmd および write_cmd 関数を作成しました。しかし、私の現在の問題は、MACアドレスを読み取るために「物理アドレスレジスタ」レジスタを使用しようとしていることです。Linux ドライバーの動作と asix.c の動作について少し混乱しています。
同じことを理解し、u-boot の dm9601 で同様のロジックを実装する方法を教えてください。
参考文献:
u-boot - BDI2000PowerPC4xxを使用したu-bootデバッグ
U-bootポートをデバッグしようとしているときに何が起こっているのかを理解しようとしています。ボードにU-bootをロードし、デバッグ用にBDI2000をセットアップしました。start.SIをステップスルーすると、次のエラーが発生し続けます。
これは私の最初のボードですので、あなたが持っているかもしれないどんなポインタも非常に役に立ちます。
ありがとう!
embedded - ブートローダーの動作
Ubootブートローダーに取り組んでいます。ブートローダーの機能とそれが処理するアプリケーションについて、いくつかの基本的な質問があります。
Q1:私の知る限り、ブートローダーはアプリケーションをメモリにダウンロードするために使用されます。インターネットを介して、ブートローダーがアプリケーションをRAMにコピーし、アプリケーションがRAMから実行されることもわかりました。ブートローダーの動作と混同しています...アプリケーションがシリアルまたはTFTPを介してブートローダーに提供された場合、次に何が起こりますか、ブートローダーが最初にRAMにコピーするか、フラッシュに直接書き込むか。
Q2:ブートローダーがアプリケーションをRAMにコピーしてから、RAMからアプリケーションを実行する必要があるのはなぜですか?アプリケーションをFLASHから実行すると、どのような問題が発生しますか?
Q3:「アプリケーションはRAM / FLASHから実行されています」というステートメントの意味は何ですか?アプリケーションの.textセグメントまたは.codeセグメントがRAM/FLASHにあるということですか?また、RAM内にあるように設計されているため、.bssセクションについては気にしません。
ありがとうPhogat
embedded - Initrd、Ramdisk、Initramfs、uclinux
私は、coldfire ボード M5272C3 での uclinux の移植に取り組んでいます。現在、rootfile システムとして romfs を使用して RAM からカーネルを実行しています。いくつかの用語について、それらが何を意味し、いつ使用するのかが明確ではありません....
できるだけ簡単に説明してください:
Q1: initrd とは何ですか? なぜそれが必要なのですか?
Q2: RAM ディスクとは何ですか? なぜ、どこでこれが必要なのですか?
Q3: initramfs とは何ですか? なぜ、どこでこれを使用するのですか?
Q4: ramfs とは何ですか? なぜ、どこでこれを使用するのですか?
また、これらの用語の詳細については、ドキュメント/参考書を参照してください....
ありがとうフォガット
linux-kernel - Linux カーネルを起動するために必要なすべての引数
私はLinuxカーネルを初めて使用し、RAMにロードされた時点からLinuxカーネルの起動を理解しようとしています.LinuxイメージがRAMにロードされた後、制御がこのイメージにどのように渡されるか、必要なパラメータは何を渡す必要があるかを知りたいです.パラメータを渡さずに Linux イメージに制御を渡すことはできますか?
「bootm.c」を使用して UBOOT コードを調べていますが、制御が Linux イメージに渡される場所を理解できず、どの関数がそれを担当しているかを理解できません。
load_zimage() は、コントロールを渡す責任があります/
誰かが私を正しい方向に導いたり、x86 アーキテクチャから起動する Linux のこの特定の部分に関するいくつかの優れたチュートリアルを提案したりできますか?
linux-kernel - マルチステージブート
u-boot がフラッシュされたボードが 1 枚あります。ここで、(ハードウェアの一部を初期化するための) ブートローダーにいくつかの機能を追加したいと考えています。以下のようにマルチ ステージ ブートを実行することは可能ですか? 3) 私のバイナリは linux-kernel をロードして起動します。
可能であれば、いくつかの指針をいただければ幸いです。ありがとう。
linux-kernel - 柔軟な MTD パーティションを作成する
コンテンツに応じてパーティションを設定したいと思います。システムの起動中に、フラッシュ領域にデータが含まれているかどうかを確認したいと思います。true の場合 - 読み取り専用または再書き込み可能にします。
U-boot シェルなしで自動的に作成したい...
Linux カーネル レベルでは、パーティション テーブルで静的にしか作成できません。U-bootでそれを行うことは可能ですか?
ヒントをありがとう。
更新: CmdLine と mtd_partition がチェックされました
2 つの可能性を確認しました: U-boot mtd-parts
パーティションがいっぱいになった後は、パーティションは許可されません
残念ながら、テーブルにパーティションを追加することはできません。データがエリアに存在する場合、mtd4 を別のパーティションとして使用したいと考えています0x100000
。
カーネル mtd_partition テーブルで可能です。ただし、このテーブルは arch/arm... board ファイルで宣言されています (初期の起動段階)。このスタートアップ段階では、nand を読み取ることができません。nand ドライバーが提供する nand 読み取りインターフェースにアクセスできません。
更新: 解決策
すべてのヒントをありがとう。「芸術のないノイズ」のヒントに従って、u-boot の nand 領域を読み取り、さまざまなカーネル コマンド ライン引数を介して有用なパラメーターを送信することにしました。これは非常に柔軟です。他の一部のハードウェア構成はフラッシュに保存して、カーネルの初期化に使用できます。
カーネル パラメーターのキャッチは、次の方法で実行できますearly_param()
。
embedded - u-boot - 正しい Linux イメージを選択します
基準に基づいて、u-boot が 2 つの Linux カーネル イメージから選択できるようにしたいと考えています。たとえば、SPI に uImage1 と uImage2 があり、u-boot は uImage1 の CRC をチェックし、OK であれば uImage1 を起動し、そうでなければ uImage2 を起動します。U-Boot に使用できるオプションはありますか?
ありがとう、マニ