2010-01-16 3 views
1

Я загрузил HD Photo Device Porting Kit 1.0 и успешно скомпилировал и выполнил его на ПК x86.HD Photo source компилируется на ARM?

Я хочу портировать программу просмотра изображений на смартфон на базе Windows Mobile на базе ARM, но есть некоторые отсутствующие коды ARM.

Во-первых, нет эквивалентного заголовочного файла "/image/x86/x86.h" для ARM. Но файл очень прост, поэтому я скопировал и переименовал его в «arm.h» и успешно скомпилировал и связал исходный код.

Но во время выполнения, DWORD выравнивание исключение возникает. Я обнаружил, что при построении ARM кажется, что ARMOPT_BITIO должен быть объявлен для правильной выровненной записи &. Но с ARMOPT_BITIO некоторые функции ввода-вывода отсутствуют, e. г. peekBits, getBits, flushToByte, flushBits.

Я скопировал x86-версию этих функций (peekBit16, flushBit16 и т. Д.), Но не повезло, это не сработало (у меня ошибка переполнения стека).

Я не могу отлаживать сложные исходные файлы HD Photo. Пожалуйста, дайте мне знать, где я могу найти отсутствующий код ARM.

Любая помощь будет высоко оценена. Благодаря!

ответ

1

Основываясь на моем опыте портирования некоторого кода Microsoft в ARM Linux, я не думаю, что вокруг него есть простой способ, если только кто-то его не портировал. Вам придется погрузиться в такую ​​низкоуровневую отладку.

Ошибки, с которыми я столкнулся, в основном связаны с негласным доступом и отсутствием API-интерфейсов платформы. Также неправильные проверки препроцессора привели к тому, что код думал о том, что он работает на платформе большого уровня.

Метод, который я нашел полезным для отладки в таком сценарии, чтобы построить код для целевой платформы и для платформы, где это известно, работает, и отладки/трассировки этих сборках параллельно с использованием ряда использования случаев. Это поймает самые серьезные ошибки.

Смежные вопросы