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

 
 
> Кто как решает проблемы с драйверами?, Достаточно сложные драйвера: 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
Ответов
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
haker_fox
сообщение Mar 5 2012, 06:57
Сообщение #3


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

Группа: Свой
Сообщений: 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
AlexandrY
сообщение Mar 5 2012, 09:21
Сообщение #4


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



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

 


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


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