2010-01-16 42 views
1

我已经下载了HD Photo Device Porting Kit 1.0并在x86 PC上成功编译并执行了它。ARM上的高清照片源编译?

我想将图像查看器程序移植到基于ARM的Windows Mobile智能手机,但有一些丢失的ARM代码。

首先,没有用于ARM的“/image/x86/x86.h”等效头文件。但该文件非常简单,因此我将其复制并重命名为“arm.h”,并成功编译并链接了源代码。

但是在运行时,DWORD会发生对齐异常。我发现,在ARM构建上,似乎ARMOPT_BITIO应该声明为正确对齐读取&写入。但是与ARMOPT_BITIO,一些IO功能丢失,例如, G。 peekBitsgetBits,flushToByte,flushBits

我复制了这些函数的x86版本(peekBit16,flushBit16等),但没有运气,它不起作用(我有堆栈溢出错误)。

我无法调试复杂的高清照片源文件。请让我知道我在哪里可以找到缺少的ARM代码。

任何帮助将不胜感激。谢谢!

回答

1

基于我将一些微软代码移植到ARM Linux的经验,我不认为有一个简单的解决方法,除非有人已经移植它。你必须深入到这种低级调试。

我遇到的错误主要与未对齐访问和缺少平台API调用有关。另外不正确的预处理器检查导致代码认为它在大端平台上运行。

我发现在这种情况下调试有用的方法是建立在目标平台对于其中它被称为正常工作,和调试平台的代码/跟踪这些建立在平行使用许多使用案例。这将抓住最严重的错误。