問題タブ [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.
arm - コマンド定義を追加するときの u-boot テキスト領域のオーバーフロー
私のmx53_loco
ボードには問題があります。ボード固有のヘッダーにコマンド ライン ヘルプ定義 ( CONFIG_SYS_LONGHELP
) を追加すると、ビルドは正常に完了しますが、ボードを起動すると、環境が破損していることがわかります (すべてのコマンドが認識されません)。
定義のサイズを大きくしても、この問題がありCONFIG_EXTRA_ENV_SETTINGS
ます。
u-boot
なのでどこかでオーバーフローするのはコードのサイズに関係する問題のようです。( memory map re-definition?
)
u-boot
内部レイアウトのサイズを正しく変更できるようになります。
何が起こるか説明したり、役立つリンクを提案したりできますか?
memory - uboot 環境変数の保存が機能していないようです
環境変数を uBoot に保存して、再起動後も保持しようとして問題が発生しています。以下のトレースを参照してください。これは U-Boot 2009.08-00000-g19b0e8d-dirty (2012 年 5 月 29 日 - 16:09:40) です。何が間違っている可能性があるかについてのアイデアはありますか? 「Flash に書き込み中... Flash が消去されていません」というメッセージは意味がありますか?
flinfo の出力は次のとおりです。
android - Android のブート ロゴ (u-boot-logo.data) を変更するには?
Android デバイスの起動後に表示される Android マスコット ブート スプラッシュ イメージを変更しようとしています。このイメージの元のファイルは u-boot-logo.data という名前で、FirmwareInstall フォルダー内のファームウェア インストール ファイルの中にあります。編集して別の画像に変更するにはどうすればよいですか? そのファイル形式は何ですか?
embedded - TI OMAPL137 U-Boot エラー: 「イーサネットが見つかりません。」
Linux なしでロードされた U-Boot で出荷された DA830 REV A ボードを起動しようとしています。DaVinci Linux とルート ファイル システムをビルドできたので、tftp を使用して Linux をロードしたいと考えています。ボードを起動しましたが、「イーサネットが見つかりませんでした」というエラーが表示されます。以下は、ボードが起動するものです。
イーサネットアドレスが設定されていないことを示唆するフォーラムを見つけたので、以下で確認しました。
そして実際には設定されていません。次のように設定しようとしましたが、エラーが発生しました。
また、次のように設定しようとしましたが、まだ設定されていません。
次に何を試せばいいのかわからない。私のスイッチが正しく設定されていないのでしょうか??
linux-kernel - カーネルのロード中に U-Boot がハングしますか?
私は Freescale ボード imx50evk に取り組んでいます。LTIB (Linux ターゲット イメージ ビルダー) を使用して uboot.bin と uImage をビルドしました。U-Boot プロンプトでbootm addr
コマンドを入力すると、「Loading Kernel...」というメッセージが表示された後にハングします。
embedded-linux - カーネルは、u-boot によってマークされた NAND 不良ブロックを認識しません
ARM ベースのボード (DM368) の u-boot で、一部のカーネル パーティション ブロックを手動で不良としてマークします。U-boot はそれがマークされていることを示しており、たとえば、カーネル イメージの書き込み/読み取り中に、この不良ブロックをスキップしていることがわかります。
しかし、(NFS 経由でロードされた) Linux 内から同じパーティションを書き込もうとすると、Linux の nandwrite コマンドがこの不良ブロックを使用していることがわかります! これをいくつかの方法で確認しました。Linux は不良ブロック マークを 100% 無視します。しかし、インターネットのいたるところで、BBT は u-boot と Linux の両方に対応していると言われています。
それで、キャッチはどこですか?
embedded - U-Boot 内で低電力モードに入り、割り込みでウェイクアップする
ボタンを押すと、低電力の「ディープスリープ」機能をubootに実装しようとしています。ボタンの押下は Linux によって処理され、u-boot がスリープ状態を認識して再起動しないようにするためのマジック コードが設定されています」
残念ながら、ホットスピニングが使用されているかどうかに関係なく、消費電力はまったく変化しません (消費電力の測定値がチップに関連付けられています)。さらに、Wait-For-Interrupt CP15 命令を使用すると、起動しません。ボタンは、GPIO の 1 つに接続されています。プラットフォームは Marvell Kirkwood ARM9EJ-S ベースです。
CONFIG_IRQ_*
私はいくつかを手動で有効にし、arch_init_irq()
同様に の実装を作成しましdo_irq()
た。私の問題があると思います。
CP15命令ドキュメントによると、割り込みがトリガーされるだけで十分なはずです(マスクされているかどうかに関係なく!)。
私が間違っていること、または上記のコード以外に何をする必要があるかを誰か教えてもらえますか?
よろしくお願いします!
c++ - cyanoboot のコンパイル: ターゲットにするルールがありません
hereにある cyanoboot プロジェクトをコンパイルしようとしています。私は C++ コンパイルの経験はありませんが、read-me に従いましたが、レンガの壁にぶつかったようです。ダウンロードしたソース ファイルを抽出し、cygwin でそれらに移動してから、次のコマンドを実行します。
成功しているように見えます。その後、私は走ります
これも機能しているようですが、ファイルを作成しません(そうすべきかどうかわかりませんか?)。次に、最後の make コマンドを実行すると、次のエラーが表示されます。
この config.mk ファイルは確かに存在します。上記の git ハブ リンクで確認できますが、ファイルは変更していません。私はこれに数時間苦労してきましたが、理解できません。どんな助けでも大歓迎です。ありがとう。
debugging - Jtag を使用した Linux のデバッグ - [ARM9][AT91SAM9G25] - Amontec、openocd、gdb、eclipse
このシステムでカーネルのデバッグを開始しようとしています: Amontec JTAGkey2、openocd、gdb、eclipse。
最後に、実行中のカーネルとアプリケーションをデバッグしたいと思います。問題はほとんどなく、順次解決する必要があるようです。現在、CPU の一時停止/再開、RAM の読み取り/書き込みがあります。不足しているもの: ステップ イン、ステップ オーバー、C/C++ レベルのデバッグ。
私は次のことを行います: - JTAG を接続し、ボードの電源を入れ、Uboot を介してデバッグ メッセージで uImage を起動します - openocd を起動します:
出力:
そして問題はここから始まります:
openocd:
日食:
JTAG がコードを 0x0 にロードしようとしているようにも見えますが、これは間違っていると思います:
更新 1 :
ARM のいくつかのオンライン チュートリアルを分析した後:
Eclipse のリセットおよび停止コマンドは完全には機能しません。それらのチェックを外して、コマンド ウィンドウに書き込むことをお勧めします。また、ロードアドレスを追加することもできます:
使わない
Uboot を起動して、RAM やその他の周辺機器を初期化します。次に、シェルに入って Uboot を停止します。次に、Eclipse に Linux を RAM に書き込んで起動させます。非常に時間がかかりますが、少しはうまくいきます。カーネルは、コンソールを返さずに RPC 初期化で開始および停止します。
- Uboot コンソール内でカーネルを RAM にロードし、その後 JTAG セッションを開始することはできますか?
- [load ...] コマンドと [monitor load...] コマンドの違いは何ですか
- uImage の代わりに /compressed/vmlinux をロードする必要があるのはなぜですか?
- Eclipseウィンドウには、2つのロードフィールドがあります。イメージをロードし、シンボルをロードします。両方のオプションを無効にしますが、load arch/arm/boot/compressed/vmlinux 0x22000000 のみを書き込みます。それはおそらく次の問題の理由ですか?
更新 2 : わかりました。ヒントをありがとう。
私はいくつかの進歩を遂げました。何かアドバイスをいただけないでしょうか。おそらく私はまだ何か間違ったことをしているのかもしれません。
現在、カーネルは JTAG 制御下で実行されていますが、ソース コード レベルでデバッグすることはできません。
私は次のようにします:
- ボードの電源を入れ、uboot シェルに入ります。
- openOCD セッションを開始する
theKernel 呼び出しで bootm.c に Uboot ブレークポイントを設定します。
/li>Eclipse デバッグ セッションを開始します。
- 監視停止
オフセットなしで uboot-a をロードする
/li>uboot を起動して実行します
- 「theKernel」呼び出しで uboot が停止する
カーネルがアドレス 0x20008000 にあることはわかっています。
- openOCD セッションを再起動します
カーネル構成で ecipse デバッガーをもう一度起動します。
- 監視停止
アドレス 0x20008000 にカーネルをロードします
/li>- デバッグセッションを開始
すべてが正常に動作し、カーネルが起動しますが、ソース コード レベルでデバッグすることはまだできません。
「symbol is not available」
カーネルの DEBUG と DEBUG_INFO がオンになっています。
vmlinux スクリーンショット
このファイルに約 50 個の関数シンボルがあることは、私にとって驚くべきことです。
linux - ubootコマンドプロンプトに入る方法は?
UBOOTを使用してLinuxを起動するシステムがあります。シリアルポート経由で接続すると起動していることがわかります。UBOOTの起動を停止してUBOOTコマンドプロンプトを表示するにはどうすればよいですか?
起動中に、接続されているシリアル端末に次のメッセージが表示されます。