ftp_test
所属分类:Ftp服务器
开发工具:C
文件大小:0KB
下载次数:2
上传日期:2021-09-30 11:39:50
上 传 者:
sh-1993
说明: stm32 ftp服务器,
(stm32 ftp server,)
文件列表:
FreeRTOSConfig.h (2458, 2021-09-30)
defs.txt (813, 2021-09-30)
ewarm/ (0, 2021-09-30)
ewarm/ftp_test.dep (79826, 2021-09-30)
ewarm/ftp_test.ewd (34925, 2021-09-30)
ewarm/ftp_test.ewp (33286, 2021-09-30)
ewarm/ftp_test.ewt (64122, 2021-09-30)
ewarm/ftp_test.eww (152, 2021-09-30)
ewarm/ftp_test.icf (1561, 2021-09-30)
ftp/ (0, 2021-09-30)
ftp/cmds.c (6765, 2021-09-30)
ftp/cmds.h (342, 2021-09-30)
ftp/ftpd.c (19063, 2021-09-30)
ftp/ftpd.h (1685, 2021-09-30)
globdefs.h (1640, 2021-09-30)
library/ (0, 2021-09-30)
library/CMSIS/ (0, 2021-09-30)
library/CMSIS/CMSIS END USER LICENCE AGREEMENT.pdf (51511, 2021-09-30)
library/CMSIS/Device/ (0, 2021-09-30)
library/CMSIS/Device/ST/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Include/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Include/stm32f4xx.h (523850, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Include/system_stm32f4xx.h (3128, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Release_Notes.html (20407, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f4xx.s (29203, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/ (0, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/iar/startup_stm32f4xx.s (24043, 2021-09-30)
library/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c (21297, 2021-09-30)
library/CMSIS/Documentation/ (0, 2021-09-30)
library/CMSIS/Documentation/CMSIS-SVD_Schema_1_0.xsd (13369, 2021-09-30)
library/CMSIS/Documentation/CMSIS_CM4_SIMD.htm (123611, 2021-09-30)
library/CMSIS/Documentation/CMSIS_Core.htm (63937, 2021-09-30)
library/CMSIS/Documentation/CMSIS_DebugSupport.htm (9717, 2021-09-30)
library/CMSIS/Documentation/CMSIS_History.htm (17391, 2021-09-30)
... ...
stm32_ftp_server
Для FTP
Библиотеки использовал те, что уже были сделаны для предыдущего проекта т.е. не менял ни FreeRTOS.lib, ни FatFS, ни другие, поэтому необходимо проследить за стеком и остальной памятью
Добавил функцию ftp_send_reply() - отправка ответа FTP
Добавил функцию для определения входящей команды
Добавил пассивный режим, когда сервер FTP назначает порт данных, к какому присоединиться
Порт PASV 10000
Добавил в PASV посылку своего адреса
Разобраться с другими клиентами - они посылают 0 байт и сервер считает это разъединением
Добавил bind() на 20 порт (вернее FTP_PORT - 1) в команду PORT. FTP сервер можно запускать на любом порту, главное, чтобы порт данных был на единицу меньше порта команд
Дернул из lwip функцию inet_ntoa для вывода IP адреса. Ее нет в библиотеке для сс3200.
Заменил print_ip_addr() на inet_ntoa() в PRINTF
Все include включил в main.h
Убрал ошибку в сс3200: "[SOCK ERROR] - TX FAILED: socket NN, reason (NN)" при передаче могло передаться 0 байт
Заменил osi_Sleep() на SLEEP() который или объявлен или нет если нет-в CMD_RETR скорость повышается в 2 раза
Добавил функцию для перехода вниз по '..', еще нужно считать количество точек и слешей - доделать!
Каждый FTP клиент по разному соединяется, т.к. у них может быть различный формат. Хром не может пролистать директорию, так как посылает название со слешем
FileZilla при передаче файлов пытается открыть несколько соединений
Не хочет записывать длинные имена - нужно перекомпилировать fatfs с соответсвующей опцией
Добавил do_step_down() для перехода на каталог вниз. Разные клиенты по разному это задают или 'CDUP' или 'CWD ..'. Проверил в FAR и Total Comander
Некоторые команды от клиентов разрывают связь. На сс3200 сеть полностью вылетает, на stm32 - вылетает только сокет ftp. Поставить таймер, который проверяет наличие сети и перезапускать ее в случае падения.
Отключил полностью проверку login:passwd - разбираюсь почему вылетает сеть при работе с браузерами
Закоментировал PASV. Пока не знаю как избавиться от повторного вхождения
Добавил NOOP - посылает время от времени, чтобы сервер не заснул
Убрал селекты из главной задачи, закоментировал PASV, так как у меня нет опциии REUSEADDR.
Добавлены команды RENAME FROM и RENAME TO
Добавить таймер, который разрывает соединение при отсутсвии активности 1 минуту
近期下载者:
相关文件:
收藏者: