motofan logo
       
> 

GNU GPL драйвера к железу моторов, в помощь создателям дуалбутов и портерам Linux/QNX

motoprogger
сообщение 28.4.2008, 15:36 Закрепленное сообщение!


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Тема адресована только программистам, желающим писйть свои программы для телефонов Motorola. Остальные не найдут здесь ничего полезного для себя.
Приложениям, запускаемым под управлением операционной системы телефона, на форуме посвящён целый раздел. Здесь - драйвера в помощь авторам операционных систем, дуалбутов, лоадеров и других самодостаточных программ


Я, как большой сторонник GNU GPL, поднимаю проект - GNU GPL база драйверов под железо разных телефонов Motorola.

Поскольку основной язык разработки GNU GPL проектов - C/C++, поддерживаю эту традицию и прошу писать драйвера на Си.

Возникает вопрос, как разбить драйвера на файлы. Моё предложение такое:
1) На каждое устройство в нептуне (RTR, KPP, DMAC, MQSPI) - отдельный файл
2) На каждое устройство за пределами нептуна (клавиатура, дисплей, PCAP, контроллер подсветки) - отдельный файл.

Что уже готово:
1) KPP (порт клавиатуры) для Neptune ULS/LTE/LTE2
2) Watchdog (Neptune ULS/LTE/LTE2)
3) RTR (Neptune ULS(?)/LTE/LTE2)
4) RTC (только PCRAM, для ULS(?)/LTE/LTE2)
5) Клавиатура для моторол серий C650 и E398, кроме джойстика - как он опрашивается, не разбирался; обнаружились проблемы - не все клавиши определяются корректно. Гарантированно корректно определяются 1, 3, 5
6) DMAC (контроллер доступа к памяти дисплея) (Neptune ULS/LTE) - кроме полностью автоматического режима передачи
7) nonATI-дисплей на C380/C390/C650 (SSD1783), с инитом из начального состояния
8) GPIO на Neptune ULS/LTE/LTE2 ("very alpha", почти не испытано, без защит на неверные аргументы)
9) Подсветка на C380/C390/C650 (работает через имеющееся GPIO, проверено)
10) Текстовая консоль на дисплее (с установкой размера области вывода, с автопрокруткой, управляющие коды не проверял)
11) Целочисленное деление biggrin.gif - кажется, иногда бывает криво

Что в обработке:
1) MQSPI - кодинг 50%, ещё будет тестирование, отладка
2) Watchdog - убрал некоторый "индуизм" smile.gif
+перенос проекта на GNUARM и GNU Make

Что в ближайших планах
1) Доработка драйвера клавиатуры
2) MQSPI на Neptune ULS/LTE/LTE2
3) CAP (общий драйвер)
4) Опрос датчика зарядки, датчика USB-кабеля, "красной" кнопки, управление питанием USB, чтение-запись часов реального времени (высокоуровневые функции CAP)

Что в отдалённых планах:
1) Прерывания
2) Таймер
3) USB-идентификация и передача данных
4) Флеш-алгоритм для флеш-памяти Intel, с автодетектом типа флехи и размеров блоков.
5) Управление тактовой частотой
6) Аппаратный ускоритель хэширования
7) Прерывания

Что хотелось бы видеть:
1) ATI на Motorola серии E398
2) ATI-дисплей на Motorola серии E398
3) TransFlash на Motorola серии E398
4) Флеш-алгоритм для AMD

Для написания дуалбута ещё не хватает: MQSPI, PCAP, USB
Для написания лоадера ещё не хватает: MQSPI, PCAP, USB, флеш-алгоритма

Вместе с драйверами выкладываю тестовое приложение к ним - больше в качестве примера структуры проекта, которая тоже далека от идеально продуманной и подлежит обсуждению.

В идеале хочу видеть конфигуратор пакета драйверов по типу конфигуратора ядра линукса, чтобы можно было выбрать тип проца (Neptune ULS, LTE, LTE2) и набор железа (к примеру, RTR, RTC, Watchdog, KPP, MQSPI, DMAC, GPIO, подсветка типа C650, дисплей nonati, клавиатура типа C650, PCAP), потом составлялся файл с #define конфигурации и исходя из него собирался частично собранный эльф драйверов.

P. S. Прошу не использовать стандартные библиотеки Си, а общие #define выносить в отдельный файл libs/motolibs.h

Сообщение отредактировал motoprogger - 17.7.2008, 8:22
Прикрепленный файл motodrv.rar   ( 10.28 килобайт ) Кол-во скачиваний: 558
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 28.4.2008, 16:42


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



А че не выложил то что мы уже написали?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 28.4.2008, 16:55


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Собственно, вот:
1) Драйвер Watchdog (нормально работает только HAPI_Watchdog_service)
2) Драйвер KPP (только чтение данных)
3) Драйвер RTR
4) Драйвер RTC (только запись powerup reason, в общем, драйвер - сильно сказано smile.gif )
5) Драйвер клавиатуры (опрос с задержкой/без задержки, с устранением дребезга, проверка, нажато ли сочетание из двух клавиш).

Добавлено позже (28.4.2008, 23:58):
Цитата(DmT @ Сегодня, 23:42)

А че не выложил то что мы уже написали?
*


Я выкладываю только то, что хотя бы у меня работало, и других очень прошу следовать этому же принципу.
P. S. Мои драйвера - под ADS, в архиве есть мейкфайл для частичной сборки эльфа драйверов.
Ссылку на GNU GPL в свои драйвера ещё не добавил.

Сообщение отредактировал motoprogger - 28.4.2008, 16:59
Прикрепленный файл drivers.7z   ( 2.81 килобайт ) Кол-во скачиваний: 336
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 2.5.2008, 16:39


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Написал первое приложение, использующее драйвера kpp, watchdog, rtr, rtc (урезанный до неработоспособности biggrin.gif), keyboard. Предлагаю на рассмотрение и использование предложенную мной структуру, с такой перспективой, чтобы в главном мейкфайле задать набор дефайнов и уже с ним собирать драйвера, библиотеки и т. д. в нужном составе.
Исходники прилагаются, компиляция - make (tcc, armasm, armlink должны быть в путях).

Сообщение отредактировал motoprogger - 2.5.2008, 16:44
Прикрепленный файл testdrv.rar   ( 11.55 килобайт ) Кол-во скачиваний: 309
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 22.6.2008, 18:33


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Заставил работать дисплей, DMAC и нашёл ошибку в драйвере клавиатуры (см. первый пост, вообще хорошо бы его закрепить).
Если дисплей инициализируется с нуля, изображение получалось инверсным, исправил.


Закрепил.
Спасибо

Сообщение отредактировал motoprogger - 23.6.2008, 10:48
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 23.6.2008, 19:55


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Написал драйвер GPIO и подсветки C650 (GPIO почти не тестировал, только проверил, что управление подсветкой работает).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Vilko
сообщение 24.6.2008, 5:44


Мотокодер
******

Группа: Легенды MotoFan.Ru
Сообщений: 1 331
Регистрация: 23.6.2003
Из: Москва
Пользователь №: 71
Модель телефона: E398+, Е1000, ...

Рейтинг: 1116



motoprogger,
имхо стоит разделить дрова в разные подпапки по типу железа.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 24.6.2008, 15:13


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Vilko,
Пора бы, а то много становится... только не знаю, как именно разделить
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 25.6.2008, 11:43


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Написал текстовую консоль, с поддержкой установки области вывода, установки цвета фона и символов, автопрокрутки при заполнении. Пытался сделать автоцентрирование (если в области вывода помещается нецелое число символов), работает пока криво. Управляющие коды - поддержку написал, но не проверял.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Andrxa200
сообщение 16.7.2008, 11:25


Интересующийся
**

Группа: Пользователи
Сообщений: 57
Регистрация: 22.6.2008
Пользователь №: 175 480
Модель телефона: MOTOe398 and 6120c
Прошивка: R373_79R Black Angel

Рейтинг: 0



А зачем ето нужно и што ето даёт не чё непонел,объясните smile.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 16.7.2008, 11:34


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



Andrxa200,
А что непонятно?
Пишем драйвера для железа моторолы.
Если для тебя эти слова не представляют ничего определенного то для тебя это абсолютно не нужная тема.
А если ты представляеш что такое "драйвер" то непонятно к чему был твой пост.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
E2008
сообщение 16.7.2008, 16:34


Ветеран
*****

Группа: Пользователи
Сообщений: 593
Регистрация: 9.3.2008
Из: г. Казань
Пользователь №: 165 980
Модель телефона: ROKR E8
Прошивка: Z-Mod E8 2.4.4

Рейтинг: 41.5



а как сие чудо ставить не подскажите?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
DmT
сообщение 16.7.2008, 17:03


Мото-Портной
******

Группа: Разработчики
Сообщений: 1 175
Регистрация: 31.3.2007
Пользователь №: 129 181
Модель телефона: LG GW620, L7e и др.
Победитель конкурса 2008

Рейтинг: 680



E2008,
Куда ставить?

Это драйвера. Их не ставят.
Их подключают к проекту и используют функции которые там написанны.

Сообщение отредактировал DmT - 16.7.2008, 17:04
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MaHunteRriK
сообщение 1.3.2009, 19:13


Новичок
*

Группа: Пользователи
Сообщений: 2
Регистрация: 10.8.2006
Пользователь №: 94 559
Модель телефона: E398
Прошивка: 7RU

Рейтинг: 0



тема отличная, жаль что она мёртвая...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
PUSYA
сообщение 1.3.2009, 19:28


Мотопусь
*****

Группа: Девушки в форме
Сообщений: 648
Регистрация: 19.6.2006
Из: Москва
Пользователь №: 88 367
Модель телефона: Moto G


Настроение:
Смерть - идеал свободы. Жизнь - рабство желаний.



Рейтинг: 1333



Цитата(MaHunteRriK @ Сегодня, 0:13)

тема отличная, жаль что она мёртвая...
*


Еслиб была живая, былаб ещё лучше wink.gif .
А если серьезно: щас ни у кого времени нет. Надейтесь что motoprogger допишет свой линуксовый ramldr и опять возмется за драйвера. А пока этого не произошло просто нужно ждать, когда мертвая тема оживет постом разработчика.


Сообщение отредактировал PUSYA - 1.3.2009, 19:28
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
midlersen
сообщение 22.10.2009, 9:44


Мастер
****

Группа: Пользователи
Сообщений: 241
Регистрация: 2.7.2009
Пользователь №: 202 191
Модель телефона: пропит
Прошивка: Windows NT 1999года

Рейтинг: 1.5



Цитата
2) MQSPI на Neptune ULS/LTE/LTE2
Всем привет вот я увидел это в ближайших планах вот и мне интерестно а что такое MQSPI? Ищё тут только дрова? Если да то не скажете где подобие этой темы есть
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
fkcoder
сообщение 23.10.2009, 14:32


Eve
******

Группа: Разработчики
Сообщений: 1 014
Регистрация: 31.1.2006
Из: Новокузнецк
Пользователь №: 68 287
Модель телефона: L9 ATRIX 4G iPhone SE E1

Рейтинг: 650



Цитата
а что такое MQSPI?

Multiple Queue Serial Peripheral Interface

Цитата
Если да то не скажете где подобие этой темы есть

Нигде.

А зачем тебе дрова то нужны?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
midlersen
сообщение 23.10.2009, 16:37


Мастер
****

Группа: Пользователи
Сообщений: 241
Регистрация: 2.7.2009
Пользователь №: 202 191
Модель телефона: пропит
Прошивка: Windows NT 1999года

Рейтинг: 1.5



lavmen, Скажи плиз что это
Цитата
Multiple Queue Serial Peripheral Interface

Цитата
Нигде.

А зачем тебе дрова то нужны?

Если тебе интерестно как найду то что ищю сразу скажу.... thumbsup.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 24.10.2009, 14:57


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Цитата(midlersen @ Вчера, 23:37)

Multiple Queue Serial Peripheral Interface
*


Контроллер SPI с несколькими очередями.
Про SPI почитай в Википедии.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
XVilka
сообщение 9.5.2010, 17:07


Мастер
****

Группа: Разработчики
Сообщений: 244
Регистрация: 4.12.2006
Из: Москва
Пользователь №: 109 689
Модель телефона: Motorola Milestone
Прошивка: CM10

Рейтинг: 244



Нужны наработки по железу Milestone/Droid?

P.S. предлагаю захостить эту базу на gitorius.org - чтобы проще доступ был.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 10.5.2010, 5:39


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



Я таки на P2K ориентировался... а чтобы стоило выкладывать на git, нужно адаптировать под гнутые инструменты )
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
kai...
сообщение 14.6.2010, 21:10


Мастер
****

Группа: Пользователи
Сообщений: 288
Регистрация: 18.10.2008
Из: Минск, степянкаCITY
Пользователь №: 184 047
Модель телефона: SLVR L7, E398
Прошивка: R4513

Рейтинг: 259



[offtop]У меня вопрос назрел: в какой кодовой группе находятся компиленные моторовские драйвера?
[/offtop]
PS: Я понимаю, что к теме мой пост имеет отдалённое отношение, но я не знаю, где спрашивать
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
motoprogger
сообщение 17.6.2010, 4:52


Гуру
******

Группа: Разработчики
Сообщений: 1 327
Регистрация: 20.7.2006
Из: Г. Омск
Пользователь №: 92 049

Рейтинг: 510



kai...,
Собственные моторольские драйвера существуют в двух вариантах:
1) Для бута - в буте и irom (насколько понял)
2) Для прошивки и FOTA - в CG1 и CG7 соответственно
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GNU GPL драйвера к железу моторов, в помощь создателям дуалбутов и портерам Linux/QNX · Ломаем и строим! · Forum
 

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

 



Текстовая версия Сейчас: 28.7.2025, 7:34

Форум живёт: