1

Linuxカーネルを新しいプラットフォームに移植していますが、デバッグに少し問題があります。

Uncompressing Linux... done, booting the kernel.UARTに出力された後、カーネルがハングしているようです。初期のprintkを有効にしましたが、それでも新しいものは何も印刷されないため、起動プロセスの非常に早い段階でハングしていると思います。

私が移植しているプラ​​ットフォームには、実際にぶら下がっている場所を特定するために使用できるLEDがあります。これに伴う問題は、それが乱雑であり、MMUがいつオンになるかわからないため、ポートに確実にアクセスできないことです。

カーネルがぶら下がっている場所を特定する他の方法はありますか?

4

3 に答える 3

2

MMU はカーネル ブートストラップ ( head.S ) でオンになっているため、そこに LED の突っ込みを追加するだけです。ARM Linux でのブート シーケンスの概要については、この少し古いファイルを参照してください。

于 2012-10-01T10:55:57.993 に答える
1

ここでの唯一の現実的なオプションは、JTAG デバッグ プローブであるかのように思えます。市場には比較的安価なデバイスがいくつかあります。

使用している SoC のファミリは不明ですが、1 つの TI である場合は、 Code Composer StudioXDS560システム トレーサーを試してみる価値があるかもしれません。

Pandaboard コミュニティも参考になる可能性があります。ここでは、低コストのソリューションに重点が置かれています。

これらは両方とも TI に焦点を当てていますが、プローブは多くの場合、異なるベンダーのデバイスをサポートしています。

于 2012-10-01T08:51:26.693 に答える
0

カーネルには EARLY_PRINTK 構成があります。このオプションを有効にすると、標準コンソールが開始される前にデバッグ メッセージが出力されます。

このオプションは DEBUG_LL オプションに依存することに注意してください。

于 2017-09-16T11:05:28.433 に答える