motofan logo
> 

Компиляция нативных приложений под E6/A1200, Создание окружения для компиляции

lavelas
сообщение 24.10.2007, 15:24


Опытный
***

Группа: Пользователи
Сообщений: 124
Регистрация: 4.5.2007
Пользователь №: 133 636
Модель телефона: Motorola ROKR E6
Прошивка: R533_Ezh_08_0.1_RU

Рейтинг: 47.5



Данный FAQ предназначен для людей, имеющих хотя-бы минимальный опыт общения с консолью *nix. И хотя он заточен на cygwin, с минимальной адаптацией и прикладыванием головы должен подойти и для unix-систем.

Что нам понадобится:
1. Cygwin
2. EZX CrossTool (в AllIn1.zip)
3. Header-файлы qte+модификации мои и donga (в AllIn1.zip)
4. dev-ezx для сборки moc.exe (в AllIn1.zip)
5. Tmake
6. Спека для TMake под нашу платформу (в AllIn1.zip)

Порядок установки:
1. Устанавливаем Cygwin. Выбираем типичную установку. Внимание! Следующие пакеты необходимо отметить вручную:
- gcc-core
- gcc-g++
- byacc
- diffutils
- flex
- make
- patchutils
- perl
- wget
2. В среде cygwin-а создаем каталог "/opt/cross".
3. Распаковываем ezx-crosstool-0.5.tar.bz2 куда угодно. Подправляем файл build.sh, меняем строку
Цитата
RESULT_TOP=$CROSSTOOL_DIR/gcc-arm-iwmmxt

на
Цитата
RESULT_TOP=/opt/cross/gcc-arm-iwmmxt
Из cygwin-а запускаем build.sh. Наберитесь терпения и готовность выкачать из сетки порядка 76 Мб. После запуска скачивание и сборка проходят автоматически. Если во время работы произошла ошибка - см. пункт 1. Пока компилится crosstool можно перейти к шагам 4-6.
4. Распаковываем tmake-1.8.tar.gz в /opt/cross, переименовываем каталог tmake-1.8 в tmake. В каталог /opt/cross/tmake/lib распаковываем tmakespec-linux-ezx-g++.tar.gz
5. Распаковываем dev-ezx-0.2.0.tgz в любой каталог, идем в dev-ezx-0.2.0/moc и делаем make. Создаем каталог /opt/cross/dev-ezx и 3 подкаталога в нем: bin, lib, include. В первый кидаем собраный moc.exe из dev-ezx-0.2.0/moc, во второй копируем все файлы из каталога /usr/lib телефона. В третий - распаковываем содержимое dev-ezx-include.tgz либо см. внизу поста.
6. Открываем ваш ".bash_proflie" (который находится в домашнем каталоге - /home/username) и дописываем в конец файла:
Цитата
export ARM_DEV_DIR=/opt/cross/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux
export QTDIR=/opt/cross/dev-ezx
export TMAKEPATH=/opt/cross/tmake/lib/linux-ezx-g++

export PATH=$PATH:/opt/cross/tmake/bin:/opt/cross/gcc-arm-iwmmxt/gcc-3.3.6-glibc-2.3.2/arm-linux/bin


Когда crosstool соберется - окружение готово. Идем в каталог hellomoto (что в архиве) и выполняем в нем
Код
progen -o hellomoto.pro && tmake hellomoto.pro -o Makefile
. Эта команда создаст Makefile для проекта. Теперь исполняем make и копируем бинарник на телефон, запускаем
Код
. /home/native/.profile
./hellomoto

Запустилось? Поздравляю!

При написании программ можно ориентироваться на QT 2.3 reference doc и копать заголовочные файлы. Кроме того можно подглядывать в библиотеки следующим образом:
Код
arm-linux-objdump -T --demangle libezxappbase.so

и дополнять заголовочные файлы откопанными структурами.

Очень надеюсь, что мой FAQ будет полезен (надеюсь, ничего не забыл.. ;) и в скором времени список нативных приложений существенно увеличится.

Добавлено позже:
Вместо include, описанного в п. 5 лучше использовать:

include от qt-embedded-2.3.8 + патч.
include/ezx.

Сообщение отредактировал lavelas - 15.12.2007, 7:25
Прикрепленный файл AllIn1.zip   ( 922.35 килобайт ) Кол-во скачиваний: 1062
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить

Сообщений в этой теме
lavelas   Компиляция нативных приложений под E6/A1200   24.10.2007, 15:24
lavelas   Удалил тут случайно свой /opt/cross/dev-ezx/includ...   25.10.2007, 10:09
xxbasowxx   Господа, а нет ли у кого прямых ссылочек именно на...   29.10.2007, 12:57
Maksimka!   в теме "что за ссылка" есть линки на стр...   29.10.2007, 14:06
xxbasowxx   Таки добрался до 5-го пункта но make выругался вот...   30.10.2007, 9:53
scl   ------------------------ g++ -Wno-unused -Wno-par...   30.10.2007, 9:56
xxbasowxx   Получается что нет :) Пролез поиском по всем катал...   30.10.2007, 10:43
lavelas   Действительно, самое главное упустил.. :) Поправил...   30.10.2007, 10:52
xxbasowxx   Ура! Получил в окошке Preved! с кнопочкой ...   31.10.2007, 15:08
maximus2963   xxbasowxx, вот было бы хорошо, еслиб сделали прогу...   31.10.2007, 19:02
Darkslider   для этого нужно изменить\заменить прогу отвеч...   1.11.2007, 7:49
xxbasowxx   Собираюсь копать глубоко :) Дизасэмблер и ELF вью...   1.11.2007, 9:26
toohes   на теле при запуске выдаёт Segmentation Fault. У...   2.11.2007, 22:53
lavelas   У меня пролечилось банальным отказом от оптимизац...   9.11.2007, 7:44
Svet   А можно подробней, плиз? что за опция? может в ди...   9.11.2007, 8:13
maximus2963   Darkslider, ну дык такая программа есть на Е680, А...   1.11.2007, 11:38
lavelas   Я очень мало програмил на сях, и под юниксами.. Ди...   1.11.2007, 14:02
MOTORUSA   Мужыки а может кто выложит все одним большим архив...   1.11.2007, 19:19
xxbasowxx   Да, сегфалты засада. Пока не пробовал играться опц...   9.11.2007, 4:53
snoa   попробовал собрать ysmicq. собралось. теперь может...   9.11.2007, 19:38
Animann   Что-то новое и многообещающее Тынц   11.11.2007, 13:42
Ratmagor   Для ленивых некитайцев.... !вот!   11.11.2007, 20:56
xxbasowxx   Да, интересная инфа... Вчера всю ночь надрючивал ...   12.11.2007, 8:23
Serge_RUS   Я так понимаю, что там народ пришел к выводу, что ...   12.11.2007, 14:14
Animann   Я так понял они нашли как его подправить для этого...   12.11.2007, 14:21
Animann   Поздравляю, можем писать от счастья, blackhawk и d...   14.11.2007, 6:24
lavelas   Ну вот.. придецца править фак.. :( clap;applo   14.11.2007, 7:41
bag   Animann, если все это правда, то УРА   14.11.2007, 7:42
Polovoy   это будет действительно полный, рабочий sdk? :)   14.11.2007, 8:58
Animann   это будет действительно полный, рабочий sdk? :) ...   14.11.2007, 10:39
xxbasowxx   Ну ждём "устаканивания" :) Предлагаю сов...   14.11.2007, 13:42
Animann   http://motorolafans.com/forums/showthread.php?t=14...   14.11.2007, 13:58
snoa   пару примеров из qt-embedded-2.3.8 попробовал собр...   16.11.2007, 13:31
Антег   пару примеров из qt-embedded-2.3.8 попробовал собр...   16.11.2007, 18:01
snoa   А какие? А то у меня в сегфолты вываливаются. И с...   18.11.2007, 10:23
Антег   listbox к примеруСпасибо. Действительно, некоторые...   19.11.2007, 10:54
Serge_RUS   Кто-нибудь объедините информацию из первого поста ...   18.11.2007, 7:33
Animann   Патч для QT/E с заголовками для перебора софта от ...   21.11.2007, 11:22
demonvex   Подскажите как скомпилировать qt-embedded-2.3.8. П...   23.11.2007, 1:56
scl   Подскажите как скомпилировать qt-embedded-2.3.8. ...   23.11.2007, 5:08
Animann   чтото мне подсказывает, что это патчик не для сбо...   23.11.2007, 11:33
scl   Так и есть - это headers использованые в минге и ...   23.11.2007, 11:35
Animann   а где взять исходники для е680? У разработчиков...   23.11.2007, 12:02
scl   У разработчиков я так понимаю.. так и они и дали...   23.11.2007, 12:06
Animann   Таки opensource.. ну перебрали им же терминальный ...   23.11.2007, 12:10
scl   Таки opensource.. ну перебрали им же терминальный...   23.11.2007, 12:13
Animann   Шеф, вы вроде не маленький, а во все Вас ткни... ...   23.11.2007, 12:21
scl   Шеф, вы вроде не маленький, а во все Вас ткни... ...   23.11.2007, 12:31
demonvex   а я понял, когда-то yano выкладывал полный набор д...   23.11.2007, 12:44
Holgerd   а я понял, когда-то yano выкладывал полный набор ...   25.11.2007, 18:51
temper   demonvex, жду с нетерпением, и наверное не я оди...   23.11.2007, 12:46
Animann   исходники FBreader'a для е680 думаю можно попр...   23.11.2007, 13:03
temper   Animann, это не они? http://www.motorolafans.com/...   23.11.2007, 13:05
scl   Animann, это не они? http://www.motorolafans.com...   23.11.2007, 13:25
Animann   Оу да вы правы, плюсик вам за пользование поиском   23.11.2007, 13:13
Animann   Ну сорри, я не пишу на си, я тока подручные языки ...   23.11.2007, 14:31
lavelas   Для тех кто пытается безуспешно пропатчить хедеры ...   23.11.2007, 16:48
scl   Для тех кто пытается безуспешно пропатчить хедеры...   23.11.2007, 18:22
Serge_RUS   Очень прошу кого-нибудь выложить готовый СДК с ком...   23.11.2007, 18:51
lavelas   Serge_RUS, а что именно не собирается? Попробовал...   24.11.2007, 8:52
Serge_RUS   Ругается на файл в папке, где собирается компилято...   24.11.2007, 16:46
temper   в общем есть предложение комунибудь взяться за пер...   26.11.2007, 7:58
demonvex   Народ, а кто-нибудь разобрался с возможными причин...   26.11.2007, 9:30
lavelas   Народ, а кто-нибудь разобрался с возможными причи...   26.11.2007, 13:33
Антег   lavelas, случайно никаких проблем с QImage не возн...   27.11.2007, 0:35
lavelas   Антег, с QImage не работал еще..   27.11.2007, 7:33
Maksimka!   lavelas когда можно ждать новую версию твоей проги...   27.11.2007, 10:24
xxbasowxx   Господа, а может подумаем совместно про написание ...   27.11.2007, 11:32
Animann   Уже написано ведь такое, бисибокс+ezxpopup+showQ   27.11.2007, 12:38
xxbasowxx   Ну бизибох это ведь только для поддержки POSIX/GNU...   27.11.2007, 14:07
lavelas   @xxbasowxx, Имхо, изврат.. Гораздо большее практич...   28.11.2007, 10:18
scl   @xxbasowxx, Имхо, изврат.. Гораздо большее практи...   28.11.2007, 10:28
snoa   исходники могу выложить если кому интересно.. и...   28.11.2007, 13:58
Serge_RUS   А мне ещё и интересен сам компилятор. Тоже в архив...   1.12.2007, 20:50
snoa   А мне ещё и интересен сам компилятор. Тоже в архи...   2.12.2007, 0:25
lavelas   Мои текущие хедеры include/ezx. @snoa, странно, у...   2.12.2007, 7:38
snoa   @lavelas ага, сработала хреновина :) сырцы wpchang...   2.12.2007, 10:03
lavelas   а вот так segfault. хотя в zmainwidget.h написано...   2.12.2007, 12:27
snoa   Сегодняшний результат экспериментов - генератор чи...   2.12.2007, 13:58
Serge_RUS   Мне не нужен cygwin. Мне нужен компилятор... А соб...   2.12.2007, 14:02
snoa   Мне не нужен cygwin. Мне нужен компилятор... А со...   2.12.2007, 15:16
Serge_RUS   Linux Ubuntu 7.10 i386   3.12.2007, 12:34
snoa   Linux Ubuntu 7.10 i386 ну тады ой. была-б винда...   3.12.2007, 15:30
snoa   Кстати для любителей поизвращаться - собрал lua-5....   3.12.2007, 20:52
temper   snoa, что это lua?   4.12.2007, 9:31
snoa   snoa, что это lua? скриптовый язык. часто в иг...   4.12.2007, 14:08
temper   snoa, ну хорошо, а для чего он нам, и как им поль...   4.12.2007, 14:12
snoa   snoa, ну хорошо, а для чего он нам, и как им пол...   4.12.2007, 20:30
snoa   Отправка смс --- AM_Global.h --- #include <z...   5.12.2007, 19:50
lavelas   Гм.. у тебя так работает? У меня что-то не отправл...   6.12.2007, 14:26
Serge_RUS   dreamer7, Может ты выложишь компилятор под Linux?...   7.12.2007, 18:43
temper   to all coders :) предлагаю создать приложение кото...   8.12.2007, 15:11
scl   to all coders :) предлагаю создать приложение кот...   9.12.2007, 3:02
eug   дык используя крон и прогу от лавеласа посылки см...   9.12.2007, 9:56
scl   в VoiceCron.pkg cron рабочий ? посмотрел твой к...   9.12.2007, 10:39
lavelas   Народ, предлагаю вынести вопрос компиляции ekonsol...   8.12.2007, 15:45
temper   lavelas, буду премного благодарен. надеюсь идея п...   8.12.2007, 16:42
Serge_RUS   Народ, может кто-нибудь попробует скомпилировать с...   8.12.2007, 19:52
eug   lavelas, у меня твой метод отправки не работает вы...   9.12.2007, 12:38
dreamer7   Нашел сайт http://devezx.czetx.frih.net/ -там куча...   11.12.2007, 6:56
3 страниц V  1 2 3 >

Компиляция нативных приложений под E6/A1200, Создание окружения для компиляции · Motorola ROKR E6, E6e, E6tv, MING A1200, A1200i, A1200e, A1200r, A1200w, A1600 · Forum
 

Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 29.4.2024, 17:00

Форум живёт: