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

 
 
> нуждаюсь в FTP-сервере
Usatyj
сообщение Jun 28 2007, 06:35
Сообщение #1


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 1-02-07
Пользователь №: 24 931



Есть плата на STR912.
Ethernet реализован на uIP.
Хочу подключить ftp сервер для отдачи создаваемых микроконтроллером файлов по Ethernet.
Дайте ссылку, где можно найти исходники.
Заранее спасибо.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 8)
etoja
сообщение Jun 28 2007, 08:13
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 121
Регистрация: 14-01-05
Из: Москва
Пользователь №: 1 952



Посмотри во это:
Прикрепленные файлы
Прикрепленный файл  ftpserver.tar ( 62.5 килобайт ) Кол-во скачиваний: 108
 
Go to the top of the page
 
+Quote Post
Usatyj
сообщение Jun 29 2007, 05:53
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 19
Регистрация: 1-02-07
Пользователь №: 24 931



Смотрел. не понял. видимо, я еще слишком мало в этом понимаю...
Пример бы глянуть для какого-нибудь ARM.
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2007, 06:38
Сообщение #4


Ally
******

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



Нехорошо так прикалываться.
Если бы у человека был стек с BSD сокетами, то у него был бы и FTP сервер автоматом.

К сожалению под uIP нет FTP и делать под него FTP бессмысленно.
Можно было бы предложить портировать uClinux или eCOS под STR91x чтобы попробовать воспользоваться их TCP стеками c FTP, но если на плате нет внешней RAM, то шансов практически нет.


Цитата(etoja @ Jun 28 2007, 11:43) *
Посмотри во это:
Go to the top of the page
 
+Quote Post
SpiritDance
сообщение Jun 29 2007, 09:27
Сообщение #5


Дух погибшего транзистора
****

Группа: Свой
Сообщений: 877
Регистрация: 6-09-05
Из: Москва
Пользователь №: 8 288



Можно предложить еще сцапать с сайта микриума фаппнот для str9x вместе с операционкой и стеком и портировать какой-нибудь ftp на него. Если не ошибаюсь в стеке есть интерфейс bsd-сокетов.


--------------------
Yes, there are two paths you can go by But in the long run Theres still time to change the road youre on.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jun 29 2007, 09:54
Сообщение #6


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(AlexandrY @ Jun 29 2007, 09:38) *
К сожалению под uIP нет FTP и делать под него FTP бессмысленно.
Можно кратенький ликбез для чайников - почему? Мне предстоит в ближайшее время организовать что-то фтп-подобное в своем устройстве (стек на базе визнета). Пока собираю всю пробегающую мимо информацию.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
YAM
сообщение Jun 29 2007, 11:27
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291



Цитата(Сергей Борщ @ Jun 29 2007, 12:54) *
Можно кратенький ликбез для чайников - почему? Мне предстоит в ближайшее время организовать что-то фтп-подобное в своем устройстве (стек на базе визнета). Пока собираю всю пробегающую мимо информацию.

Да не пугайте вы человека... В создании FTP сервера даже с нуля нет ничего "божественного"...
И наличие BSD сокетов или еще чего-то подобного вообще не обязательно, хотя, конечно удобнее...
Для начала создайте в UIP слушающий порт (для командного порта 21) типа так:
uip_listen(HTONS(21));
принятые пакеты выводите в отладку, там только ASCII команды. По формату постепенно добавляйте функциональности...
Конечно, необходимо наличие хоть какой файловой системы для пересылки файлов..
Вот мой минимально необходимый набор команд, которые мне были необходимы для реализации:
команда, число аргументов, уровень доступа, функция обработки
static const CMDINFO cmdtable[] =
{
{ "user", 1, 0, ftp_cmd_user },
{ "pass", 1, 1, ftp_cmd_pass },
{ "syst", 0, 2, ftp_cmd_notimp },
{ "abor", 0, 1, ftp_cmd_abor },
{ "quit", 0, 0, ftp_cmd_quit },
{ "pwd" , 0, 2, ftp_cmd_pwd },
{ "cwd" , 1, 2, ftp_cmd_cwd },
{ "type", 1, 2, ftp_cmd_type },
{ "port", 1, 2, ftp_cmd_port },
{ "pasv", 0, 2, ftp_cmd_pasv },
{ "rest", 1, 2, ftp_cmd_rest },
{ "list", 0, 2, ftp_cmd_list },
{ "dele", 1, 2, ftp_cmd_dele },
{ "mkd" , 1, 2, ftp_cmd_mkd },
{ "rmd" , 1, 2, ftp_cmd_rmd },
{ "retr", 1, 2, ftp_cmd_retr },
{ "stor", 1, 2, ftp_cmd_stor },
{ "appe", 1, 2, ftp_cmd_appe },
{ "size", 1, 2, ftp_cmd_size },
{ "mdtm", 1, 2, ftp_cmd_notimp },
{ "opts", 0, 2, ftp_cmd_notimp },
{ "site", 0, 2, ftp_cmd_notimp },
{ "help", 0, 0, ftp_cmd_help },
{ "" , 0, 0, NULL }
};
При передаче файлов по командам retr и stor необходимо открывать еще и дата порт 20, причем в зависимости от режима pasv или port, или клиент коннектится к серверу или сервер конекктится к клиенту для передачи собственно самих данных...
Если нужна только передача файлов от устройства, то dele, mkd, stor, appe не нужны...
Дерзайте... wink.gif


--------------------
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Jun 29 2007, 14:06
Сообщение #8


Ally
******

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



Речь то шла о "найти", а не "как бы мне написать"
Написать по трудозатратам я оцениваю в пару недель, но нечто обрезанное как описал YAM
Стек от MICRIUM-а идеальный для этой цели для STR91x.

Цитата(Сергей Борщ @ Jun 29 2007, 13:24) *
Можно кратенький ликбез для чайников - почему? Мне предстоит в ближайшее время организовать что-то фтп-подобное в своем устройстве (стек на базе визнета). Пока собираю всю пробегающую мимо информацию.
Go to the top of the page
 
+Quote Post
YAM
сообщение Jun 29 2007, 16:14
Сообщение #9


Местный
***

Группа: Свой
Сообщений: 256
Регистрация: 7-07-04
Из: Ukraine
Пользователь №: 291



Цитата(AlexandrY @ Jun 29 2007, 17:06) *
Речь то шла о "найти", а не "как бы мне написать"
Написать по трудозатратам я оцениваю в пару недель, но нечто обрезанное как описал YAM
Стек от MICRIUM-а идеальный для этой цели для STR91x.

Ну, если быстро wink.gif, то сюда http://sourceforge.net/projects/contiki это на UIP сделано и есть готовый FTP сервер...
Если еще быстрее, то http://contiki.cvs.sourceforge.net/contiki...i-2.x/apps/ftp/


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 08:55
Рейтинг@Mail.ru


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