s3c44b0xはフラッシュブレークポイントをサポートしていません(オンチップフラッシュを備えたlpc1758などの他のプロセッサとは異なります)、それではまだフラッシュで実行されているときにブートローダーをデバッグする方法は?
1 に答える
ロジック アナライザー、printf、ICE、および EPROM/フラッシュ メモリ エミュレーターは昔ながらの方法です。
Samsung S3C44b0x (ARM7TDMI)は、オンチップの ICE ブレーカー デバッグ サポートを備えていると主張しているため、インサーキット エミュレーターを入手することがあなたのやりたいことかもしれません。
追加した:
十分な RAM がある場合は、フラッシュからの起動中にログ メッセージを RAM のメモリ内バッファーに出力し、後で UART が初期化されたら、printf を使用してシリアルに出力できます。
2回目の追加:
ブートストラップ プロセスのどの部分を分離するには、クラッシュを分離することだけを目的として、モジュールまたはステップを空のスタブに置き換えることができます。アプローチは、失敗の可能性を狭めることです。システムのメモリなど、最初の基本的なステップのみを初期化するファームウェア イメージを作成します。それが機能する場合は、タスクまたはプロセス ハウスキーパー モジュール / ステップを追加し、後で UART の初期化などを行います。
出力ピンがある場合は、いくつかの LED を追加してセクションをバイナリでカウントし、コードのどのセクションが現在実行されているかを確認できるようにします。
本Debugging Rulesをチェックして、無料の Rules of Debuggingポスターを印刷してください。これは短い本であり、革新的なものは何もありませんが、デバッグ プロセスを強化し、ほとんどの人がデバッグをより組織的かつ系統的に行うのに役立ちます。
参考文献: