1

HD Photo Device Porting Kit 1.0をダウンロードし、正常にコンパイルして x86 PC で実行しました。

イメージ ビューアー プログラムを ARM ベースの Windows Mobile スマートフォンに移植したいのですが、ARM コードが不足しています。

まず、ARM 用の「/image/x86/x86.h」に相当するヘッダー ファイルはありません。しかし、ファイルは非常に単純なので、コピーして名前を「arm.h」に変更し、ソース コードのコンパイルとリンクに成功しました。

しかし、実行時にDWORDアライメント例外が発生します。ARMビルドでARMOPT_BITIOは、適切にアライメントされた読み取りと書き込みを宣言する必要があるようです。しかし、では、、、ARMOPT_BITIOなど、一部の IO 関数が欠落しています。peekBitsgetBitsflushToByteflushBits

peekBit16これらの関数 ( 、など)の x86 バージョンをコピーしましflushBit16たが、うまくいきません (スタック オーバーフロー エラーが発生しました)。

複雑な HD Photo ソース ファイルをデバッグできません。欠落している ARM コードをどこで見つけることができるか教えてください。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

一部の Microsoft コードを ARM Linux に移植した私の経験に基づくと、誰かが既に移植していない限り、簡単な方法はないと思います。この種の低レベルのデバッグに飛び込む必要があります。

私が遭遇したバグは主に、アラインされていないアクセスとプラットフォーム API 呼び出しの欠落に関連していました。また、不適切なプリプロセッサ チェックにより、コードがビッグ エンディアン プラットフォームで実行されていると考えられていました。

このようなシナリオでデバッグするのに役立つとわかった方法は、ターゲット プラットフォームと、それが動作することがわかっているプラ​​ットフォームのコードをビルドし、多くのユース ケースを使用してこれらのビルドを並行してデバッグ/トレースすることです。これにより、最も重大なバグがキャッチされます。

于 2010-01-16T04:47:41.573 に答える