...
\Micrium\Software\uC-FTPc
...
Copy the file from the µC/FTPc configuration folder into your application as illustrated below.
Panel |
---|
title | Figure - FTPc Template File Copy |
---|
|
Image Added |
Adding µC/FTPc Example Application Code
...
The example bellow demonstrates the µC/FTPc module capabilities in both standard and secure mode. The client connects to a remote FTP server in standard mode, perform file download and upload operations before closing the connection.
Code Block |
---|
language | cpp |
---|
firstline | 1 |
---|
title | Listing - FTPc Example Application Code |
---|
linenumbers | true |
---|
|
#define FTP_SERVER_IP_ADDR "192.168.1.101"
#define FTP_SERVER_PORT 21
#define FTP_SERVER_PORT_SECURE 990
#define FTPc_USERNAME "anonymous"
#define FTPc_PASSWORD "test123micrium"
#define FTPs_COMMON_NAME "micrium.com"
#define RX_FILE_REMOTE "file_remote_1"
#define RX_FILE_LOCAL "\\file_local"
#define TX_FILE_REMOTE "file_local"
#define TX_FILE_LOCAL "\\file_remote_2"
#define FTPc_BUF_LEN_MAX 4096
#if (NET_SECURE_CFG_EN == DEF_ENABLED)
static FTPc_SECURE_CFG ftpc_secure_cfg;
#endif
static void AppTaskStart (void *p_arg) /* See Note #1. */
{
FTPc_CONN conn;
CPU_BOOLEAN result;
FTPc_ERR err_ftpc;
#if (FTPc_CFG_USE_FS != DEF_ENABLED)
CPU_INT08U buf[FTPc_BUF_LEN_MAX];
CPU_INT32U file_size;
#endif
result = FTPc_Open(&conn, /* See Note #2. */
DEF_NULL,
DEF_NULL,
FTP_SERVER_IP_ADDR,
FTP_SERVER_PORT,
FTPc_USERNAME,
FTPc_PASSWORD,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_Open() failed.\n\r");
return;
}
#if (FTPc_CFG_USE_FS == DEF_ENABLED)
result = FTPc_RecvFile(&conn, /* See Note #3. */
RX_FILE_REMOTE,
RX_FILE_LOCAL,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_RecvFile() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
result = FTPc_SendFile(&conn, /* See Note #4. */
TX_FILE_REMOTE,
TX_FILE_LOCAL,
DEF_FALSE,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_SendFile() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
#else
result = FTPc_RecvBuf(&conn, /* See Note #3. */
RX_FILE_REMOTE,
&buf[0],
FTPc_BUF_LEN_MAX,
&file_size,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_RecvBuf() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
result = FTPc_SendBuf(&conn, /* See Note #4. */
TX_FILE_REMOTE,
&buf[0],
file_size,
DEF_NO,
&err_ftpc);
if (result != DEF_OK) {
printf("FTPc_SendBuf() failed.\n\r");
FTPc_Close(&conn, &err_ftpc);
return;
}
#endif
result = FTPc_Close(&conn, &err_ftpc); /* See Note #5. */
if (result != DEF_OK) {
printf("FTPc_Close() failed.\n\r");
return;
}
} |
Panel |
---|
|
- µC/FTPc executes into the caller’s task context. All interface functions are blocking calls, until completion or error. µC/FTPc does not rely directly on any Real-Time Operating System (RTOS), but does rely on µC/TCP-IP.
- Establish a connection with the FTP server with the secure mode disabled.
- Transmit a file from the FTP server to the target running µC/FTPc.
- Transmit a file from the target running µC/FTPc to the FTP server.
- Close connection with server.
- Initialize the common name of the FTP server.
- Initialize the trust secure callback function.
- Establish a secure connection with the FTP server.
- Transmit a file from the secure FTP server to the target running µC/FTPc.
- Transmit a file from the target running µC/FTPc to the secure FTP server.
- Close the secure connection with the server.
- Example of trust secure callback function.
- Depending on the un-trusted reason, return DEF_YES to trust the server certificate or return DEF_NO to distrust the server certificate.
|