реклама на сайте
подробности

 
 
> Кто как решает проблемы с драйверами?, Достаточно сложные драйвера: ETH, USB Host и др.?
haker_fox
сообщение Mar 5 2012, 02:06
Сообщение #1


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Добрый день!
Может быть повторяюсь, прошу прощения если так.

Мне вот интересно, как уважаемые специалисты решают вопрос с написанием достаточно сложных драйверов и стеков (USB, ETHERNET, CAN, MMC/SD, SATA и др)?

Одному человеку, как мне кажется, такое не поднять. Я правильно понимаю, что нужна команда разработчиков? Т.е. один пишет драйвер для USB host, другой TCP/IP стек пилит? Но опять же, неужели с нуля все это писать?

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

К чему все эти мысли? Мне как разработчику в одном лице хотелось быть лицензионно чистым хотя бы с компилятором. Поэтому для ARM выбрал gnu. Но далеко дело не пошло. Вчера понадобилось поднять доступ к MMC/SD карте. Нашел готовый проект под LPC2478 на сайте Чана. Но перепсиховал, пытаясь вытащить оттуда все необходимые исходинки. Нет документации (не считая FatFS). Да и сам я не знаю спецификации работы с SD картами. Получилось только DMA запустить, и ускорить работу графического LCD))))

Взял Кейл. Запустил SD-карту за 5 минут по готовому примеру rolleyes.gif

Голось вопиющего в пустыне: не зазорно ли одинокому (в плане команды), делающему как праило для себя, разработчкиу (ну пусть любителю) взять коммерческий продукт (чихнув на чистоту) и по полной использовать возможности RL-ARM?

Попутно вопрос: лет 5 назад читал, что эта библиотека содержит ошибки, по крайней мере для FAT. Как сейчас обстоит с ней дело? Можно ли ее использовать?

Прошу к данному вопросу отнестить как к философскому, полу-риторичекскому. Прошу профессионало сильно не смеяться и не говорить, что это уже неоднократно обсуждалось rolleyes.gif Как-то уперся я рогом в камень на распутии. С одной стороны жалко бросить GCC с которым не один год работаешь, с другой стороны я понял, что ARM - не AVR. Тут уже такая периферия, что для написания одного драйвера для "несложного" модуля можно угробить несколько месяцев. А если таких модулей 2 - 3? Основной-то проект стоит.

Вот как-то так. Что можно посоветовать в данной ситуации?

З.Ы. СИльно себя ругаю, что поторопился, не поднокопил немного денег (была возможность), и не взял одноплатный или индустриальный компьютер, или хотя бы даже ARM9 (на который портирована Linux). Это решило бы все вопросы...

Спасибо!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 7)
sparcmaster
сообщение Mar 5 2012, 04:23
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 93
Регистрация: 13-01-12
Из: Гатчина
Пользователь №: 69 333



Цитата(haker_fox @ Mar 5 2012, 06:06) *
Вчера понадобилось поднять доступ к MMC/SD карте. Нашел готовый проект под LPC2478 на сайте Чана. Но перепсиховал, пытаясь вытащить оттуда все необходимые исходинки. Нет документации (не считая FatFS). Да и сам я не знаю спецификации работы с SD картами. Получилось только DMA запустить, и ускорить работу графического LCD))))

Вот как раз-таки под LPC2478 FATFS поднимается без проблем. Вам нужно взять драйвер у Чана, а остальное все достаточно тривиально и описано на примере тех же avrок в сети.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Mar 5 2012, 04:32
Сообщение #3


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Лично я забиваю на лицензионную чистоту. Использую тыреный ucOS-III, IAR 5.5, polarSSL и Flash Magic для коммерческих целей. sm.gif Вообще, при наличии готовых примеров, вполне реально справляться одному. Тот же FAT и SD, кажется, достаточно просты, чтобы не то, что позаимствовать, но и переписать самостоятельно.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 5 2012, 06:57
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (sparcmaster @ Mar 5 2012, 13:23) *
Вот как раз-таки под LPC2478 FATFS поднимается без проблем. Вам нужно взять драйвер у Чана, а остальное все достаточно тривиально и описано на примере тех же avrок в сети.

Да, как частный пример.
Но если речь встает о поднятии дополнительно, скажем FTP сервера, то сразу встает вопрос выбора драйвера ETH, стека TCP/IP, ну и собственно реализации FTP-сервера. Это тоже частный, но более обширный пример.

QUOTE (andrewlekar @ Mar 5 2012, 13:32) *
Лично я забиваю на лицензионную чистоту.

Да вот тоже колебаюсь пока... Почему-то трудно сделать шаг.

Кстати, а как все-таки дела с библиотекой RL-ARM? Стабильна ли она?

QUOTE (andrewlekar @ Mar 5 2012, 13:32) *
Использую тыреный ucOS-III

Да, и еще. У Вас только ядро, или скажем GUI, FS, USB host используются?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Mar 5 2012, 07:57
Сообщение #5


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Цитата
Да, и еще. У Вас только ядро, или скажем GUI, FS, USB host используются?

Только ядро. Вышеперечисленное пока что не было нужно, TCP/IP не понравился микриумовский, Modbus не нашел - пришлось перетаскивать FreeModbus.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Mar 5 2012, 09:21
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(haker_fox @ Mar 5 2012, 08:57) *
Да, как частный пример.
Но если речь встает о поднятии дополнительно, скажем FTP сервера, то сразу встает вопрос выбора драйвера ETH, стека TCP/IP, ну и собственно реализации FTP-сервера.

Кстати, а как все-таки дела с библиотекой RL-ARM? Стабильна ли она?


RL-ARM стабильна.
FAT в ней работает нормально, но она немного примитивная в плане обнаружения разделов и таймингов.
Поэтому иногда при использовании некоторых SD карт необходимы коррекции.

В целом не делайте ошибку и не фиксируйтесь на операционках хоть и очень тут популярных, но без соответствующего middleware включая необходимые вам драйвера.
Сейчас самый лучший и чистый выбор это будет MQX от Freescale на базе их чипов с Cortex.

Драйвера реально написать все одному человеку, если пишите под RTOS то это и не драйвера в обычном смысле, а ститические библиотеки.
Занимают в среднем пару десятков килобайт. При навыке пишутся за неделю для каждой периферии под любую платформу.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 5 2012, 09:29
Сообщение #7


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Всем участникам большое спасибо!)

Немного успокоившись, решил, что буду прикручивать MMC/SD под GCC из примера Чана) Заодно хоть в общем разберусь со спецификацией...

QUOTE (AlexandrY @ Mar 5 2012, 18:21) *
Сейчас самый лучший и чистый выбор это будет MQX от Freescale на базе их чипов с Cortex.

Гляну на нее. РТОС в будущем понадобиться.
Сейчас пишу что-то наподобии загрузчика. Есть желание грузить программу с SD-карты в ОЗУ МК. U-BOOT не хочу использовать, т.к. хочу получить опыт работы с железом...

Посмотрел на MQX. Как я понял, она только для их кортексов. Качать не стал. Но если доступны исходники, то опытный специалист может перепилить под свое железо...


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Mar 6 2012, 13:38
Сообщение #8


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



Уже сейчас более менее работаю с SD-картой. Использую GCC + набор ПО от господина Чана.

Все-таки интересная штука - психология) Иногда кажется, что перед тобой непреодолимая проблема. А спустя час, минуту и секунду ты уже празднуешь победу))) Разумеется цифры условные. И так бывает далеко не всегда.

Спасибо за поддержку, уважаемые коллеги!


--------------------
Выбор.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 22:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016