Directories and Files
This section discusses the modules available for μC/FTPs, and how they all fit together. A Windows®-based development platform is assumed. The directories and files make references to typical Windows-type directory structures. However, since μC/FTPs is available in source form, it can also be used with any ANSI-C compatible compiler/linker and any Operating System.
Below is a summary of all directories and files involved in the µC/FTPs module. The ‘<- Cfg
’ on the far right indicates that these files are typically copied into the application (i.e., project) directory and edited based on project requirements.
\Micrium
\Software
\uC-FTPs
\Cfg
\Template
\ftp-s_cfg.h <- Cfg
\Examples
\ftp-s_auth.c
\ftp-s_init.c
\OS
\uCOS-II
\ftp-s_os.c
\uCOS-III
\ftp-s_os.c
\Source
\ftp-s.c
\ftp-s.h
The code and documentation of the µC/FTPs module are organized in a directory structure according to “AN-2002, µC/OS-II Directory Structure”. Specifically, the files may be found in the following directories:
\Micrium\Software\uC-FTPs
This is the main directory for µC/FTPs.
\Micrium\Software\uC-FTPs\Doc
This directory contains all µC/FTPs documentation files, including this user’s manual.
\Micrium\Software\uC-FTPs\Cfg\Template
This directory contains a template of µC/FTPs configuration.
\Micrium\Software\uC-FTPs\Source
This directory contains the µC/FTPs source code. This protocol is implemented in two OS and FS independent files:
ftp-s.c
ftp-s.h
Note that the ‘-s
’ after ‘ftp
’ stands for server and thus contains ‘server’ side code.
\Micrium\Software\uC-FTPs\OS\uCOS-II
\uCOS-III
This is where operating system (OS) dependent code is located. µC/FTPs is distributed with ports for µC/OS-II and µC/OS-III. Note that it would be possible to use this FTP server with other operating systems by developing appropriate ftp-s_os.*
implementation files.
Required modules
µC/FTPs requires the µC/CPU, µC/LIB, µC/TCP-IP and a File system modules. If the network security manager is to be used, a security layer module (i.e Mocana’s NanoSSL) is required. Please refer to the µC/FTPs release notes document for required version information.