Keil Logo

Technical Support

On-Line Manuals

RL-ARM User's Guide (MDK v4)

RL-RTX RL-FlashFS RL-TCPnet TCP Socket Opening TCP Connection TCP Active Open TCP Passive Open Sending TCP Data Example for Sending Data Multiple TCP Connections UDP Socket Opening UDP Connection Sending UDP Data When DHCP Enabled When ARP Cache Empty Example for Sending Data IP Multicasting Multiple UDP Connections Configuring RL-TCPnet Static Configuration System Definitions Ethernet Network Interface PPP Network Interface SLIP Network Interface UDP Socket TCP Socket BSD Socket HTTP Server Telnet Server TFTP Server TFTP Client FTP Server FTP Client DNS Client SMTP Client SNMP Agent SNTP Client Error Function Runtime Configuration Library Files Using RL-TCPnet Stand Alone With RTX Kernel Event Driven Operation IP Address Assignment Ethernet Interface PPP Interface SLIP Interface Localhost Applications HTTP Server Script Language CGI Functions Ajax Support Using XML XML Example How it works SOAP Support SOAP Interface Large POST Messages Web Pages Default Page Error Pages Web on SD Card Web Update File System Interface Http Caching How it works Internal Web External Web Multi-user Authentication Using RAM File System FCARM File Converter PRINT Directive NOPRINT Directive PAGEWIDTH Directive PAGELENGTH Directive ROOT Directive Telnet Server Command Line Interface Multi-user Authentication Sending Reply Message Short Reply Long Reply Continuous Screen Update TFTP Server File System Interface TFTP Client File System Interface FTP Server File System Interface Multi-user Authentication Supported Commands FTP Client File System Interface SMTP Client SNMP Agent MIB Database MIB Interface MIB Entry MIB Table DNS Resolver Starting DNS Device Drivers Ethernet Driver Interrupt Mode Modem Driver Serial Driver Using Serial Link Cable Connection Modem Connection Windows Dial-up Add Direct Serial Link New Dial-up Connection Configure PPP Dial-up Configure SLIP Dial-up Debugging Enabling Debug Debug Level Redirecting Output Function Overview BSD Routines CGI Routines Ethernet Routines FTP Routines HTTP Routines IGMP Routines Miscellaneous Routines Modem Routines PPP Routines Serial Routines SLIP Routines SMTP Routines SNMP Routines System Functions TCP Routines Telnet Routines TFTP Routines UDP Routines RL-CAN RL-USB Example Programs Library Reference Appendix

FTP Server

The File Transfer Protocol (FTP) is a protocol used to transfer and manage files and folders. Using this protocol, you can send files to the System or read files from it. You can also create and delete folders and rename files or folders on the system.

The following FTP Server options are configurable from the Net_Config.c configuration file:

  • FTP Server switch enables or disables the FTP Server service in your application. It is enabled when this value is set to 1. It should be set to 0 when FTP server is not used in your application.
    #define FTP_ENABLE     1
  • Number of FTP Sessions specifies the number of available FTP sessions. The default value is one, and this enables only one concurrent client connection. You should increase this number if multiple FTP clients must connect to the Telnet server at the same time.

    If you are using Windows Explorer as a FTP client, you should also increase this number because the Windows Explorer creates multiple simultaneous connections.
    #define FTP_NUMSESS    3
  • Port Number specifies the listening TCP port number. The default FTP server listening port is 21.
    #define FTP_PORTNUM    21
  • Welcome Message specifies the custom FTP server welcome message. This message is sent to the user on login. When this option contains an empty string, a default Welcome Message from the library is used instead. The default definition is an empty string.
    #define FTP_WELMSG     ""
  • Idle Session Timeout in seconds specifies the interval of user inactivity, after which the connection is closed. In idle session, no TCP frames are exchanged. A value of 0 disables a disconnection on timeout.
    #define FTP_IDLETOUT   120
    A value of 0 also enables keep-alive mode of TCP socket. After expiration of TCP_DEFTOUT, a TCP socket sends keep-alive probe to remote peer and expects the acknowledge response. Received acknowledge reloads the timeout counter for the socket. If a response is not received after certain number of retries, a connection is closed.
  • Enable User Authentication switch enables or disables the FTP Server authentication with a username and a password. The user authentication is enabled when this value is set to 1.
    #define FTP_ENAUTH     1
  • Authentication Username is the username identification.
    #define FTP_AUTHUSER   "admin"
  • Authentication Password is the default password, that must be stored in Non volatile memory. The user may change the password later.
    #define FTP_AUTHPASSW  ""


  • You must also add the FTP_uif.c user interface module to your project and customize it. This file is in the \Keil\ARM\RL\TCPnet\User folder.
  • One FTP session uses two TCP sockets, one control and one data socket. Have this in mind when you are configuring the number of TCP sockets.
  • When the FTP server is not enabled, the ARM linker does not link the FTP support modules to your application and thus reduces the code size and memory usage.
  Arm logo
Important information

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies.

Change Settings

Privacy Policy Update

Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.