Сейчас на форуме: bartolomeo, asfa, _MBK_, Adler (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› Исследование приложения на Windows CE 5.0 |
Посл.ответ | Сообщение |
|
Создано: 12 декабря 2011 21:53 · Личное сообщение · #1 Всем доброго здравия. Столкнулся с проблемой, когда надо подредактировать программку, работающую внутри устройства, на котором, предположительно, стоит Windows CE 5.0. По сложности задачка не трудная, и если б это было на стандартном х86 камне, то решалась бы в считанные минуты, но с этой версией операционки сталкиваюсь впервые. Поэтому неизвестно про неё вообще ничего. Есть ли какая-то литература (желательно на русском) про внутреннее устройство, про то, как девелопить для неё софт, про ARM архитектуру команд. А то даже не могу точно сказать, пятая ли версия там стоит. На запросы в гугле нашёл одну книгу - Введение в Windows Embedded CE 6.0, но даже не понимаю, то ли это, или нет. Теперь более конкретно: 1. Как я понял, для этой ОС тоже есть такое понятие, как сборка. Т.е. люди, которые устанавливают операционку на устройство, могут поставить "урезанную" версию данной ОС, и некоторый софт не будет запускаться из-за отсутствия системных dll. Так ли это? 2. Для этой оси есть некое подобие cmd.exe, но там оно называется MortScript. Можно ли как-то заставить тот скриптовый движок выводить результат своей работы в файл? Например, после выполнения в нём команды XCopy можно ли как-то увидеть результат её работы в некотором лог-файле? 3. Есть ли руководство по формату исполняемых файлов для этой оси, и чем этот формат отличается от стандартного РЕ для WIndows (если отличается) ? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 12 декабря 2011 22:34 · Поправил: Veliant · Личное сообщение · #2 1)Не скажу за CE, но WM обычно собирается путем взятия дефолтной виндовой сборки (она вместе с SDK идет) + добавление в XIP драйверов OEM. Вырезать что-либо могут если только места не хватает. 3) Ничем не отличается вроде - тот же PE. Разве что архитектура выставлена ARM. Ну и имена системных либ другие. Почти все функции из kernel32 и user32 вынесены в core Разрабатывать можно например еще в Pelles C, в нем же и отлаживать/трейсить через ActiveSync Ассемблер армовский не такой и сложный. Длина команд фиксированная, видна на глаз в hex. Каждая команда содержит поля условий. Собственно довольно неплохая дока на сайте у самих ARM, правда без регистрации скачать не дают pdf вариант. На gaw.ru еще неплохая дока P.S. Если какон-то определенное устройство ковырять собрался, то даташит на проц понадобится еще, т.к. у них отличается мапинг устройств в память и управляющие регистры. Но есть и плюс - новый HexRays не плохо переводит в C arm-код ![]() |
|
Создано: 12 декабря 2011 23:03 · Личное сообщение · #3 |
|
Создано: 12 декабря 2011 23:10 · Поправил: vden · Личное сообщение · #4 Инструкции всегда равны размеру слова: 4 байта в ARM, 2 байта в Thumb режиме и выровнены соответственно на 4 или 2 байта. PE-файл такой же, только архитектура ARM. Ещё в секции .pdata можно прочитать список всех функций. Но если не ошибаюсь Ida и так парсит .pdata. Ещё немного инфы: ![]() |
|
Создано: 12 декабря 2011 23:15 · Личное сообщение · #5 Veliant Да не столько устройство, сколько ковыряю ехе для платформы CE. А могу ли я в 2008 студию добавить возможность юзать визард для создания проектов под эту Windows CE? И, я так понимаю, для дебага мне понадобиться какая-то эмуляционная среда? ----- Stuck to the plan, always think that we would stand up, never ran. ![]() |
|
Создано: 12 декабря 2011 23:26 · Личное сообщение · #6 ARCHANGEL пишет: А могу ли я в 2008 студию добавить возможность Я в студии почти никогда не работал, но как понял у embeddedотдельная IDE, может и ошибаюсь. А вот для дебага у них геморой - ставить не самый быстрый эмулятор, на нем запускается образ из sdk, затем ставится ActiveSync и спец сетевые дрова. Только после этого они коннектятся. Проще и быстрей работать будет отладка на реальной железке. На форуме 4pda.ru/forum/showforum=25 есть ссылки на книги и статьи по разработке под WM кстати. SaNX пишет: еще бы он был у кого-то Ну я и без hex-rays разбирал бутлодер своего смарта, чтоб узнать как он дисплей конфигурирует и по какой шине ![]() |
|
Создано: 12 декабря 2011 23:38 · Личное сообщение · #7 |
|
Создано: 12 декабря 2011 23:41 · Личное сообщение · #8 |
|
Создано: 12 декабря 2011 23:51 · Поправил: Veliant · Личное сообщение · #9 По классификации MS это разные вещи, но по большей части совместимые, т.к. WM на CE основана. У них в основном отличия в плане программирования GUI. Например WM основное меню соответствует нижним аппаратным кнопкам, а CE ближе к десктопным. На сколько помню успешно запускал на WM apache и perl сборки под CE)) ![]() |
|
Создано: 13 декабря 2011 00:15 · Личное сообщение · #10 Windows Mobile основана на Windows CE. Разрабатывать ПО можно прямо в студии и без всяких шарпов и .NET Compact Framework, а на могучем русском C++. С отладкой тоже проблем нет: можно отлаживать прямо из студии на реальном устройстве через ActiveSync, можно на эмуляторе, который тоже идёт вместе со студией. ----- Следуй за белым кроликом ![]() |
|
Создано: 13 декабря 2011 04:19 · Личное сообщение · #11 ARCHANGEL пишет: И, я так понимаю, для дебага мне понадобиться какая-то эмуляционная среда? Вступать, конпелировать и дебажить можно как в студии (установив SDK, совместимый с операционкой на устройстве) так и в Platform Builder (до версии 6 шел отдельным приложением, теперь встраивается в студию). ARCHANGEL пишет: Подскажите чайнику, Windows CE 5.0 и Windows Mobile 5.0 - это разные вещи или одно и то же? По сути WinMobile это WindowsCE с накрученым на него вендором AKU (Adaptation Kit Update). Если быть точным то WinMobile 5.0 основана на WindowsCE 4.2, а WinMobile 6.0/6.1/6.5 на WindowsCE 5.x. ----- Get busy living or get busy dying © ![]() |
![]() |
eXeL@B —› Вопросы новичков —› Исследование приложения на Windows CE 5.0 |