开发者

HD Photo source compile on ARM?

开发者 https://www.devze.com 2022-12-17 01:38 出处:网络
I\'ve downloaded HD Photo Device Porting Kit 1.0 and successfully compiled and executed it on x86 PC.

I've downloaded HD Photo Device Porting Kit 1.0 and successfully compiled and executed it on x86 PC.

I want to port the image viewer program to ARM-based Windows Mobile Smartphone, but there is some missing ARM code.

First, no "/image/x86/x86.h" equivalent header file for ARM. But the file is very simple, so I copied and renamed it to "arm.h" and successfully compiled and linked the source code.

But at runtime, DWORD alignment exception occurrs. I found that on ARM build, it seems that ARMOPT_BITIO should be declared for properly aligned 开发者_如何学编程read & write. But with ARMOPT_BITIO, some IO functions are missing, e. g. peekBits, getBits, flushToByte, flushBits.

I copied x86 version of these functions (peekBit16, flushBit16, etc), but no luck, it does not work (I've got a stack overflow error).

I can't debug the complex HD Photo source files. Please let me know where can I find the missing ARM code.

Any help would be much appreciated. Thanks!


Based on my experience of porting some Microsoft code to ARM Linux, I do not think there is an easy way around it, unless someone has ported it already. You'll have to dive into this sort of low-level debugging.

Bugs I encountered were mainly related to unaligned access, and missing platform API calls. Also incorrect preprocessor checks resulted in code thinking it's running on big-endian platform.

The method I found useful to debug in such scenario is to build the code for the target platform and for the platform where it's known to work, and debug/trace these builds in parallel using a number of use cases. This will catch the most severe bugs.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号