Page 1 of 1

Проект: "Продвинутый" TFTP-клиент

Posted: Fri Nov 26, 2010 7:25 pm
by Foldl
Идея.
Программа, позволяющая без особых усилий ("нажатием одной кнопки") принимать и передавать множество файлов по протоколу TFTP.

Проблема.
При удаленной разработке (например в ос Линукс) возникает необходимость в частом обмене файлами между компьютером разработчика и компьютером (или виртуальной машиной) с Колибри. Если локальная сеть функционирует, то остается только написать небольшую программу, облегчающую этот процесс.

PS: Планирую писать на си.


Последняя версия от 30.12.2010:
-- поддерживает передачу файлов в обоих направлениях
-- обрабатывает параметры, переданные при запуске
-- может исполнять загрузочный скрипт; имя скрипта передается как параметр

Запуск с параметрами:

Code: Select all

newtftpc -d tftp://192.168.0.1/file.txt /hd1/1/files/file.txt
-- загрузить файл с сервера

Code: Select all

newtftpc -u background.png tftp://192.168.2.3/pict.png
-- передать файл на сервер

Code: Select all

newtftpc -e download_script.txt
-- выполнить сценарий

Пример скрипта (секции download и upload в любом количестве и в любом порядке):

Code: Select all

download
    from 10.1.2.2
    to "/hd2/1/trash/"
files
    "newtftpc",
    "git.png",
    "hello.txt";

upload 
  from ""
  to 10.2.2.3
files
  "background.png";

download from 10.1.2.3 to "/rd1/1/" files "hello world.asm";
Синтаксическая ошибка прервет выполнение скрипта. Если возникнет проблема при передаче файла, то он будет пропущен и выполнение скрипта продолжится. Все сообщения выводятся на доску отладки.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Fri Nov 26, 2010 8:03 pm
by Serge
Есть многопоточная Newlibc. Но для Линукса нужен кросскомпилятор.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Fri Nov 26, 2010 9:24 pm
by Foldl
Хорошо, буду смотреть. Тут ведь дело такое. Хотя пакет menuetlibs уже сейчас собирается в Linux и содержит дополнительно обертки для системных вызовов, имхо, повозиться все равно придется. Сейчас плохо представляю себе ситуацию с этими двумя библиотеками.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Sun Dec 26, 2010 5:46 pm
by Foldl
Первая рабочая версия программы. Поддерживает только закачку. Запускается через RUN с параметрами, например

Code: Select all

/hd2/1/newtftpc tftp://10.1.2.2/kolibri.img /hd2/1/kolibri_01.img
- загрузить образ Колибри или

Code: Select all

/hd2/1/newtftpc tftp://10.1.2.2/newtftpc  /hd2/1/newtftpc
- загрузить самого себя ;)
Обработка параметров простейшая.
Программа пишет большое количество сообщений на доску отладки. Бинарник прикреплю к первому сообщению.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Wed Dec 29, 2010 8:29 pm
by Foldl
Бинарник обновил.
Запускается через RUN с параметрами, сообщения выводит на доску отладки.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Thu Dec 30, 2010 11:43 pm
by Foldl
Добавил возможность передачи файлов на сервер.

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Sat Jan 22, 2011 4:08 am
by SoUrcerer
Планируется ли поддержка авторизации?
А когда можно будет работать с ftp-серверами интернета, или уже можно? (у меня не получилось соединиться почему-то)...

Re: Проект: "Продвинутый" TFTP-клиент

Posted: Sat Jan 22, 2011 12:39 pm
by Foldl
Это не ftp, а tftp клиент. (http://ru.wikipedia.org/wiki/TFTP)

Данный клиент -- это утилита разработчика. Предназначен в основном для того, чтобы загрузить новую версию программы на хост с колибри для отладки, при том что средства разработки находятся в другой, более развитой ос. Лично мне было удобно писать его в линуксе: компилирую комбинацией клавиш в редакторе, дальше щелкаю в RUN (на компьютере с колибри) чтобы загрузить новую версию, и в другой RUN, чтобы ее запустить. Быстро и просто.