Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: FTP на LPC2148
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
bolmoe
требуется поднять FTP протокол для LPC2148. TCP/IP/РРР воспользовался от Keil. Подскажите, что и где почитать, чтобы понять как реализовывать, примеры и т.д. Конечно бы хотелось на русском.....8)).
Bosicc
Цитата(bolmoe @ Apr 17 2007, 10:58) *
требуется поднять FTP протокол для LPC2148.


Абсолютно невозможно для Этого чипа из-за отсутствия TCP\IP на борту smile.gif

А для LPC2378 можно попробовать пример с сайта Кейла
zltigo
Цитата(Bosicc @ Apr 17 2007, 12:30) *
Абсолютно невозможно для Этого чипа из-за отсутствия TCP\IP на борту smile.gif

Чего чего "отсутствия" ???
Если для Вас что TCP\IP, что MAC\PHY едины, то это плохо. Очень. Но даже в этом случае посмотрите что такое PPP запрашиваемый автором и с чем его едят.
etoja
Почитай для начала это
bolmoe
Цитата(etoja @ Apr 17 2007, 13:49) *
Почитай для начала это

спасибо! полезный документ!
zltigo
Цитата(bolmoe @ Apr 17 2007, 11:58) *
РРР

Кстати, может PPP Вам и не обязателен? Устроит SLIP - реализация очень проста, поддержка в Windows и Linux есть. Дописать к готовому ICP/IP стеку при условии владения UART вопрос нескольких часов. Или Вы клиента пишите?
AlexandrY
Вы сделали системную ошибку. На базе стека Keila сделать сносный FTP почти уверен вам не удасться.


Цитата(bolmoe @ Apr 17 2007, 12:28) *
требуется поднять FTP протокол для LPC2148. TCP/IP/РРР воспользовался от Keil. Подскажите, что и где почитать, чтобы понять как реализовывать, примеры и т.д. Конечно бы хотелось на русском.....8)).


Все открытые FTP делают на API приближенным к API BSD socket, а в Keil все построено на callback-вызовах. Т.е. реально писать придется с нуля.
При этом софт от Keil славится своей патологичной глючностью (не путать с компилятором!) и не имея исходников вам там точно суждено завязнуть.
Далее проблема в памяти, 32 KB для многозадачного приложения с FTP сервером это просто не реально.
Далее проблема в PPP, он в Keil просто ужасно примитивный, в PC или ранних GSM модемах вы еще как-то выкрутитесь на PAP аутентификации, но вот на CSD соединении поблажек не будет, скажут используй CHAP и привет!
bolmoe
Цитата(AlexandrY @ Apr 17 2007, 22:46) *
Вы сделали системную ошибку. На базе стека Keila сделать сносный FTP почти уверен вам не удасться.
Все открытые FTP делают на API приближенным к API BSD socket, а в Keil все построено на callback-вызовах. Т.е. реально писать придется с нуля.
При этом софт от Keil славится своей патологичной глючностью (не путать с компилятором!) и не имея исходников вам там точно суждено завязнуть.
Далее проблема в памяти, 32 KB для многозадачного приложения с FTP сервером это просто не реально.
Далее проблема в PPP, он в Keil просто ужасно примитивный, в PC или ранних GSM модемах вы еще как-то выкрутитесь на PAP аутентификации, но вот на CSD соединении поблажек не будет, скажут используй CHAP и привет!


Если это так (пока сам слабо разбираюсь в этом вопросе), м.б. подскажите, что нужно сделать? Требуется, чтобы винды воспринимали устройство как файловую систему. На плате LPC 2148 & ММС & UART. Подключается через модем............
zltigo
Цитата(bolmoe @ Apr 18 2007, 08:33) *
Требуется, чтобы винды воспринимали устройство как файловую систему.

Да уж... Файловая система это из другой оперы, можно, конечно и FTP сервр отобразить на файловую систему, но зачем - вопрос.
Может попробуете внятно объяснить задачу? А то пока тут похоже уже выбрали "решение" и теперь ищите решение для выбранного "решения".
bolmoe
Цитата(zltigo @ Apr 18 2007, 11:02) *
Да уж... Файловая система это из другой оперы, можно, конечно и FTP сервр отобразить на файловую систему, но зачем - вопрос.
Может попробуете внятно объяснить задачу? А то пока тут похоже уже выбрали "решение" и теперь ищите решение для выбранного "решения".


есть устройство отображения информации, информация хранится в виде файлов на ММС карте. Требуется, чтобы винды воспринимали данное устройство как диск для записи-чтения-и-работы-с файлами. На "борту" устройства UART для соединения с PC напрямую или через модем. Предпологается использование GPRS для удаленного доступа к устройству для быстрой смены информации.
vromanov
Может вам основную нагрузку перенести на десктоп? Пусть девайс обеспечивает поблочный доступ к MMC. А файловая система будет обеспечиваться на стороне клиента при помощи спецдрайвера. Можно будет даже сделать хитрое кеширование.
zltigo
Цитата(vromanov @ Apr 18 2007, 12:34) *
Пусть девайс обеспечивает поблочный доступ к MMC. А файловая система будет обеспечиваться на стороне клиента при помощи спецдрайвера.

Поскольку драйвер писать придется, то это и есть правильный путь. На TCP/IP/FTP забить - простейшую блочную передачу и все.
bolmoe
Цитата(zltigo @ Apr 18 2007, 13:41) *
Поскольку драйвер писать придется, то это и есть правильный путь. На TCP/IP/FTP забить - простейшую блочную передачу и все.


Драйвер подо что?
Изначально проект был реализован следующим образом.......... на РС была написана прога, которая поблочно считывала и записывала данные с/на ММС по UART, отображала в "своем" окне в виде папок и файлов. Теперь вот потребовалось, чтобы винды сами видели это устройство в виде диска без участия этой проги...............
zltigo
Цитата(bolmoe @ Apr 18 2007, 13:17) *
чтобы винды сами видели это устройство в виде диска без участия этой проги

А не получится, если, конечно, например, SAMBA сервер не портируете на LPC2148 smile.gif
bolmoe
Цитата(zltigo @ Apr 18 2007, 14:20) *
А не получится, если, конечно, например, SAMBA сервер не портируете на LPC2148 smile.gif



Тогда, как в фильме:
-"А у Вас такого же, только с перламутровыми пуговками нет?"
-"Нет!"
-"Ну что ж! Будем искать!" smile.gif
vromanov
Цитата(bolmoe @ Apr 18 2007, 14:17) *
файлов. Теперь вот потребовалось, чтобы винды сами видели это устройство в виде диска без участия этой проги...............

Но драйвер то для виндов можно будет поставить? есть такое слово IFS. Вот тут есть немного - http://www.microsoft.com/whdc/DevTools/IFSKit/default.mspx
zltigo
Цитата(vromanov @ Apr 18 2007, 14:40) *
Но драйвер то для виндов можно будет поставить?

А чем по Вашему была "эта прога" и зачем ее убирают smile.gif
vromanov
Ну прога была прогой, а драйвер это драйвер. Все-таки разные вещи и разные вомзожности по работе.
Кстати, еще есть такое слово - TFTP. Посмотрите в эту сторону.
FTP все-таки нетривиальная задача..
Еще идея - ставте централизованный сервер, которые умеет дозваниваться до различных девайсов. А пользователи уже с ним работают, например, при помощи бровзера.
bolmoe
Цитата(vromanov @ Apr 18 2007, 16:38) *
Ну прога была прогой, а драйвер это драйвер. Все-таки разные вещи и разные вомзожности по работе.
Кстати, еще есть такое слово - TFTP. Посмотрите в эту сторону.
FTP все-таки нетривиальная задача..
Еще идея - ставте централизованный сервер, которые умеет дозваниваться до различных девайсов. А пользователи уже с ним работают, например, при помощи бровзера.


TFTP не дает работать с каталогами, что очень прискорбно......
Изначально именно на этот протокол был расчет, но........
ubobrov
Вот пример для LPC2148 http://www.keil.com/dd/chip/3880.htm
USB Mass Storage Device. Остаётся только реализовать 2 функции:
Чтение с MMC и Запись на MMC.
khach
Цитата(ubobrov @ Apr 18 2007, 15:45) *
Вот пример для LPC2148 http://www.keil.com/dd/chip/3880.htm
USB Mass Storage Device. Остаётся только реализовать 2 функции:
Чтение с MMC и Запись на MMC.

angry.gif И FAT? И весь файловый ввод-вывод? От USB masstorage до полноценного накопителя (даже без FTP)- как до Луны рачки. Весь разбор ФАТа винда делает.
@автор темы. Расскажите, как будете интерфейс девайса делать? Потому что были примеры для LPC2138 c внешним контроллером Эзернета, подвешенном по SPI. Типа http://www.embeddedartists.com/products/bo...lpc2138_eth.php или устройства на базе ENC28J60 типа UIP stack with an ENC28J60 and a LPC2138
http://www.jandspromotions.com/philips2005...ners/AR1762.htm
zltigo
Цитата(khach @ Apr 18 2007, 18:05) *
устройства на базе ENC28J60 типа UIP stack with an ENC28J60 and a LPC2138
http://www.jandspromotions.com/philips2005...ners/AR1762.htm

Интересный ресурс! К делу не относится (поскольку у Автора про Ethernet не стоял), но
посмотрел в части "подвески" ENC28j60 - абсолютно паркетная система, по отсутствию обработки нештатных ситуаций даже превзошли образчик от microchip. Ну а сам стек uIP - многократно здесь уже обсуждавшийся.
bolmoe
Цитата(khach @ Apr 18 2007, 19:05) *
angry.gif И FAT? И весь файловый ввод-вывод? От USB masstorage до полноценного накопителя (даже без FTP)- как до Луны рачки. Весь разбор ФАТа винда делает.
@автор темы. Расскажите, как будете интерфейс девайса делать? Потому что были примеры для LPC2138 c внешним контроллером Эзернета, подвешенном по SPI. Типа http://www.embeddedartists.com/products/bo...lpc2138_eth.php или устройства на базе ENC28J60 типа UIP stack with an ENC28J60 and a LPC2138
http://www.jandspromotions.com/philips2005...ners/AR1762.htm


предпологается удаленный доступ к устройству через GPRS модем или модем по телефонной линии, пока подсоединился через UART напрямую в РС по протоколу РРР для проверки и тестирования.( В дальнейшем, скорее всего, перейду на LPC 23xx.) Вся работа с FAT-ММС уже реализована в LPC 2148, ранее большая часть задач по чтению-запись ММС переносилась на комп, но в связи пропускной способностью UART пришлось все делать в LPC. На внешний ethernet контроллер смотрел, но плата уже есть, поэтому что есть, то есть, с тем и ..... Честно говоря не хотелось бы опять поблочно передавать данные в РС и своей прогой отображать их в виде папок и файлов. Хочется, чтобы винды все это делали сами............... Поэтому и проснулся такой интерес к FTP.

Цитата(ubobrov @ Apr 18 2007, 17:45) *
Вот пример для LPC2148 http://www.keil.com/dd/chip/3880.htm
USB Mass Storage Device. Остаётся только реализовать 2 функции:
Чтение с MMC и Запись на MMC.



Пробовал, но пока не требуется. Интересен удаленный доступ.....
bolmoe
такой еще вопрос.............
НЕ могу найти, как вычислить CRC для протокла PPP, "жалом" поводил по яндексу, rfc почитал, не описано, может не там смотрел???????
bolmoe
Раньше использовал процедурку по расчету CRC16, кто знает, для РРР протокола CRC_CONSTATNT какая должна быть?

WORD Calc_CRC(WORD CRC,BYTE data)
{
WORD i=0;
BYTE tmp;

tmp=(BYTE)CRC;

tmp=tmp ^ data;
CRC=(CRC & 0xff00)|tmp;
do
{
CRC>>=1;
if(CRC & 0x0001) CRC=CRC ^ CRC_CONSTANT;
i++;
}while(i<8);

return CRC;
}
etoja
Посмотри исходные тексты PPP
bolmoe
Цитата(etoja @ Apr 20 2007, 17:25) *
Посмотри исходные тексты PPP


спасибо! Буду разбираться!
AlexandrY
Вы уверены, что у вас реализована FAT-MMC?
В поставке Keil-а FAT идет с критической ошибкой, драйвера MMC/SD не соблюдают спецификацию, а файловая система не поддерживает субдиректории.
Или у вас на чем-то другом FAT сделан?

Цитата(bolmoe @ Apr 19 2007, 09:34) *
предпологается удаленный доступ к устройству через GPRS модем или модем по телефонной линии, пока подсоединился через UART напрямую в РС по протоколу РРР для проверки и тестирования.( В дальнейшем, скорее всего, перейду на LPC 23xx.) Вся работа с FAT-ММС уже реализована в LPC 2148, ранее большая часть задач по чтению-запись ММС переносилась на комп, но в связи пропускной способностью UART пришлось все делать в LPC. На внешний ethernet контроллер смотрел, но плата уже есть, поэтому что есть, то есть, с тем и ..... Честно говоря не хотелось бы опять поблочно передавать данные в РС и своей прогой отображать их в виде папок и файлов. Хочется, чтобы винды все это делали сами............... Поэтому и проснулся такой интерес к FTP.
Пробовал, но пока не требуется. Интересен удаленный доступ.....
lebiga
Цитата(khach @ Apr 18 2007, 19:05) *
angry.gif И FAT? И весь файловый ввод-вывод? От USB masstorage до полноценного накопителя (даже без FTP)- как до Луны рачки. Весь разбор ФАТа винда делает.
@автор темы. Расскажите, как будете интерфейс девайса делать? Потому что были примеры для LPC2138 c внешним контроллером Эзернета, подвешенном по SPI. Типа http://www.embeddedartists.com/products/bo...lpc2138_eth.php или устройства на базе ENC28J60 типа UIP stack with an ENC28J60 and a LPC2138
http://www.jandspromotions.com/philips2005...ners/AR1762.htm



LPC2138 + ENC28J60 + TCP/IP стек от микрочипа (для PIC18 & dsPIC) = FTP.
У меня файлы хранились в одной версии в атмеловской флеши соответственно MPFS(микрочип файл систем), а в другой версии прицепил VNC1L( от FTDI) и внешнюю гигабайтную флешку. Разбираться с более сложными системами не было времени, а это сляпал за 2 недели в боевом варианте!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.