Un FTP server Embedded

L’evoluzione delle applicazioni embedded in campo industriale spinge sempre di più gli sviluppatori verso l’impiego di piattaforme dotate di connettività ethernet. MCF51CN è una famiglia di controllori entry-level a 32-bit ColdFire di Freescale, con interfaccia ethernet 10/100, a basso costo, basso assorbimento ed alte prestazioni, supportata da kit di sviluppo e risorse software che consentono di realizzare, in tempi brevi, prototipazioni ed applicazioni efficienti ed affidabili.

L'evoluzione delle applicazioni embedded in campo industriale e la loro complessità spinge sempre di più gli sviluppatori verso l’impiego di piattaforme hardware e software che consentono, in tempi rapidi, la realizzazione e la messa a punto di applicazioni ethernet. Molte MCU NXP/Freescale basate su core ColdFire integrano un FEC 10/100Mbps (Fast Ethernet Controller) offrendo a progettisti e sviluppatori la possibilità di creare, in pochi passi, applicazioni caratterizzate da un ottimo rapporto qualità/prezzo grazie ad appositi kit di sviluppo ed all’ambiente di sviluppo CodeWarrior. Tra queste vi sono quelle della famiglia MCF51CN. Per avere un’idea di tali applicazioni è sufficiente pensare ad un Web Server, il quale altro non è che un programma in grado di fornire, attraverso il protocollo http, una pagina web ad un browser che ne fa richiesta. In passato un web server era inteso come qualcosa che risiedeva su un computer specializzato. Oggi è possibile integrare un web server anche su un sistema embedded e questo apre uno scenario applicativo caratterizzato da una notevole riduzione di costi, spazio e complessità. Le MCU della famiglia MCF51CN rientrano tra quelle di Freescale tramite le quali è possibile sviluppare applicazioni di questo tipo. Esse rendono possibile la realizzazione di applicazioni embedded web server, web mail, ftp e di conseguenza il telecontrollo di apparecchiature remote (raggiungibili attraverso rete LAN o attraverso Internet) in campo industriale, nel settore della demotica o in settori affini. La disponibilità dello stack TCP/IP da caricare sulla MCU ed esempi pratici di impiego degli stessi kit di sviluppo, facilita enormemente l’approccio degli sviluppatori a progetti di questo tipo. In questo articolo vogliamo dare dei riferimenti in merito che riguardano la MCU MCF51CN128 e l’RTOS MQX per applicazioni TCP/IP con microcontrollori ColdFire.

LE MCU MCF51CN128 E L’RTCS  MQX

MCF51CN128 è la prima famiglia di controllori entry-level a 32-bit ColdFire con interfaccia ethernet 10/100 a basso costo e basso e assorbimento, ad alte prestazioni, pensata per applicazioni che necessitano di connettività ethernet. Si tratta di una MCU con memoria pari a 128 KB Flash e 24 KB RAM onChip, disponibile in tre package: 48 pin QFN, 64 pin LQFP ed 80 pin LQFP. La famiglia di microcontrollori MCF51CN consente, quindi, di migrare le applicazioni da una comunicazione di tipo seriale ad una comunicazione di tipo Ethernet (10/100Mb) on chip. Kit di sviluppo come il nuovo TWR-MCF51CN-KIT (Tower System) sono equipaggiati da controllori della famiglia MCF51CN128 è sono quindi utilissimi per prototipazioni di applicazioni di questo tipo. Il software RTOS di Freescale MQX RealTime TCP/IP Communication Suite (RTCS) supporta un ricco set di protocolli TCP/IP e rende possibile per l’MCF51CN128 le funzionalità di networking, consentendo, in particolare, la realizzazione di efficienti e flessibili applicazioni di monitoraggio e configurazione real-time remoto.

LA PIATTAFORMA MODULARE TOWER  SYSTEM TWR-MCF51CN-KIT

Il Tower System di Freescale è una piattaforma di sviluppo modulare per microcontrollori ad 8, 16 e 32 bit che consente sviluppi avanzati e prototipazioni rapide, efficienti e basso costo. Esso è caratterizzato da più board o moduli componenti che rendono possibile lo sviluppo di applicazioni a microcontrollore con connettività ethernet, con diversi gradi di complessità. Il TWR-MCF51CN-KIT comprende più precisamente:

# la TWR-MCF51CN standalone development board;
# la TWR-SER serial board che mette a disposizione connessione Ethernet, USB, RS232, RS485 e CAN;
# le TWR-ELEV (elevator) board che connettono tra loro le board;
# cavi USB ed Ethernet;
# un DVD completo delle risorse necessarie allo sviluppo dei progetti.

Grazie alla modularità con cui è stata pensata la piattaforma TWR-MCF51CN Kit, la TWR-MCF51CN board può essere acquistata ed utilizzata sia come board stand-alone che come controlboard all’interno del Tower system. Essa integra l’MCF51CN128 Ethernet microcontroller module (Fast Ethernet Controller -FEC) in package 80 pin LQFP, l’MC9S08JM60 Open Source Debug (OSBDM) circuit, alcuni push button, alcuni Led, un potenziometro, un accelerometro (MMA7260 a tre assi), un connettore RS232 (2x5) ed un miniFlexBus USB. La modularità e l’espandibilità è una delle caratteristiche più evidenti del Tower System che lo rende facilmente riconfigurabile grazie all’intercambiabilità dei moduli periferici. La scheda TWR-SER Peripheral Module è un serial module caratterizzato da connettori Ethernet, USB, RS232/485 e CAN mentre le TWR-ELEV (elevator board) consentono semplicemente la comunicazione tra le schede grazie ad un bus con connettori standard PCI Express per un numero di board massimo interfacciabili pari a quattro. Il cavo USB, il DVD interattivo, la guida step by step, il cavo Eth ed il CD dell’MQX Lab Tutorials completano il kit e mettono lo sviluppatore nelle condizioni di sviluppare facilmente applicazioni di monitoraggio remoto, telnet, bridge Seriale-Ethernet, ftp e web-server. La facilità di prototipazione, la disponibilità dei singoli moduli o  dell’intero kit, a  seconda  delle esigenze tecniche, la caratteristica dell’hardware e del software di essere open source, rendono il Tower System un sistema altamente flessibile che  consente agli sviluppatori di ridurre fortemente i costi di sviluppo. La possibilità di sfruttare appositi Proto-module, inoltre, ne amplia ulteriormente la flessibilità. Il kit va montato premendo il primo connettore laterale nei relativi slot delle unità elevator ricordando che ciascun modulo può essere inserito in qualunque slot disponibile anche se è opportuno inserire il modulo MCU nello slot in alto, in modo tale che l’accesso ai led ed agli switch risulti più agevole.

SOFTWARE E TOOLS LOW COST

La crescita della complessità delle applicazioni industriali e la necessità di espandibilità spingono verso soluzioni che integrino piattaforme hardware e software sicure ed affidabili. NXP/Freescale con il TWR-MCF51CN kit mette a disposizione degli sviluppatori un sistema che comprende praticamente tutto, cioè piattaforma hardware modulare, debugger, programmatore e software. Gli sviluppatori possono in questo modo disporre di RTOS Freescale MQX, interfaccia Ethernet, FileSystem, USB stacks, Freescale Linux® BSP, ambiente di sviluppo CodeWarrior Development Studio, librerie Digital Signal Processing ed algoritmi ottimizzati per architettura ColdFire.

UTILIZZO DEL KIT

Vogliamo accennare brevemente all’installazione del software di questo kit, in modo da comprendere come sia semplice predisporre l’ambiente di lavoro per gli sviluppi. Nell’ordine è necessario:

# installare il CodeWarrior Development Studio per Microcontroller v6.2  (una versione evaluation di CodeWarrior necessario per utilizzare l’MQX Lab Tutorial CodeWarrior Professional è presente all’interno del DVD);
# installare il Processor Expert Update v3.06;
# installare la CodeWarrior Patch v6.2.2; # installare il Freescale MQX™ RTOS v3.2.

Tali risorse sono contenute all’interno del DVD allegato al kit mentre i relativi aggiornamenti sono disponibili sul sito www.freescale.com/tower. E’ necessario connettere il cavo USB al PC ed al miniB connector del modulo TWR-MCF51CN cui segue il processo di riconoscimento e l’installazione automatica dei driver.

  • Lab 1: Security Monitor with Telnet (Default demo);
  • Lab 2: Web-Enabled Security Monitor;
  • Lab 3: Low-Power e-Mail-Enabled Security Monitor;
  • Lab 4: Ethernet to Serial Bridge.

Lab 1 fa riferimento all’applicazione di default presente sul kit secondo la configurazione di fabbrica.

LAB TUTORIAL PER TWR-MCF51CN-KIT

Chi vuole sviluppare applicazioni Ethernet basate su MCF51CN128 può fare riferimento, oltre al Kit di sviluppo presentato nel precedente paragrafo fare ad alcuni tutorial. Ne illustriamo brevemente i contenuti. MCF51CN128-Lab Tutorials 1 & 2 (sheet 1 of 2)-Per prendere dimestichezza con il kit e poter realizzare le prime applicazioni di prova è necessario, dopo il montaggio, installare sul proprio PC l’ambiente di sviluppo CodeWarrior 6.2 e la CodeWarrior 6.2.2 patch. Il modulo è gestibile e programmabile attraverso l’USB debugger integrato, motivo per cui è necessario connettere attraverso l’apposito connettore e cavo USB in dotazione il kit con il proprio PC. La prima volta che si stabilisce questa connessione fisica Windows riconosce il dispositivo ed installa i necessari driver. Al primo avvio il kit presenta, già caricata in memoria, una applicazione di default. In ogni caso il sorgente dell’applicazione demo è normalmente disponibile in C:\Program Files\Freescale\Freescale MQX 3.2\demo\ security_telnet\codewarrior\sectelnet_twrmcf51cn.mcp. L’applicazione può essere ricompilata (selezionare “SecTelnet-OSBDM Debug Int Flash” nella finestra principale del Code Warrior) e ricaricato nella memoria del modulo TWR-MCF51CN128. L’ IP address di default del kit è 169.254.3.3. Quando si connette il PC direttamente alla porta Ethernet del modulo, il PC deve essere configurato con un IP address appartenente alla stessa subnet del Kit (169.254.x.x) accedendo a Start/Pannello di controllo/Network Connection/LAN/TCP-IP. E’ possibile, per esempio, impostare l’IP del PC su 169.254.3.4 e la subnet mask su 255.255.0.0. L’interfaccia web del kit che compare a chi si connette attraverso il PC è simile a quella riportata in figura 1.

Figura 1: schermata di avvio che compare alla prima connessione con il kit (applicazione demo precaricata).

Figura 1: schermata di avvio che compare alla prima connessione con il kit (applicazione demo precaricata).

L’indirizzo IP (169.54.3.3) e la subnet (255.255.0.0) di default del modulo sono riportate in una apposita linea di codice (#define ENET_IPADDR) modificando la quale è anche possibile modificare lo stesso indirizzo impostato per il kit. L’applicazione di default caricata consente di stabilire una connessione telnet con il modulo. Attraverso la linea di comando DOS è possibile richiamare tale connessione (Start > Programmi > Accessori > Prompt). Mediante il comando ”telnet 169.254.3.3” si avvia la connessione alla Tower board via telnet. Il comando help consente di visualizzare i comandi disponibili per l’applicazione. I Led D1, D2 e D3, per esempio possono essere accesi e spenti attraverso i comandi “ledon” e “ledoff”, mentre il comando status fornisce lo stato degli elementi della board. Le stesse informazioni possono essere osservate attraverso la pagina web impiegando un Browser come Mozille Firefox (Figura 2).

Figura 2: schermata di Stato dell’applicazione demo precaricata restituita attraverso la connessione mediante il Browser Firefox.

Figura 2: schermata di Stato dell’applicazione demo precaricata restituita attraverso la connessione mediante il Browser Firefox.

Quanto illustrato rappresenta il primo passo che normalmente si esegue per prendere dimestichezza con il kit ed il relativo ambiente di sviluppo. Il passo successivo è sicuramente quello di capire in che modo sia possibile modificare, secondo le proprie esigenze, la pagina web che compare accedendo al kit attraverso una interfaccia web. La pagina web è contenuta nella directory “\demo\security_webserver\web_pages” e quella di default è mqx.html. E’ possibile editare tale pagina con qualunque text editor e modificarla. Un doppio click su Build_Webpages.bat che chiama mktfs.exe, consente di convertire lo script della Web pages in C e precisamente nel file tfsdata.c. La compilazione del progetto, attraverso il CodeWarrior, ed il caricamento del compilato sul kit consente di vedere apparire la nuova pagina web quando si riaccede al kit via web. In figura 3 è possibile osservare in sintesi il flow chart che descrive il comportamento dell’applicazione.

Figura 3: Flow Chart dell’esecuzione dell’applicazione demo.

Figura 3: Flow Chart dell’esecuzione dell’applicazione demo.

Per chi desidera maggiori dettagli sull’argomento si rimanda all’analisi diretta del Tutorial Lab Tutorials for TWR-MCF51CN-KIT  MCF51CN128—Lab Tutorials 1 & 2 (sheet 1 of 2) scaricabile  dal  sito  di  Freescale.  Un'altra applicazione embedded estremamente utile che può essere realizzata attraverso l’MCF51CN128, l’ RTOS FreeRTOS v5.3.0 e lo stack TCP/IP lwIP v1.3.0 open source è quello per la realizzazione di un e-mail client che impiega il protocollo SMTP (Simple Mail Transport Protocol). Per esempio è possibile sviluppare, con MCF51CN128, applicazioni che inviano una e-mail ad un preciso indirizzo mail quando si verifica un determinato evento, per esempio quando si preme un pulsante. Questa funzionalità può essere testata attraverso l’applicazione C:\Program Files\Freescale\Freescale MQX 3.2\demo\security_email\codewarrior\secemail_twrmcf51cn.mcp impostando nel project panel del Code Warrior “SecEmail-OSBDM Debug Int. Flash”. Maggiori dettagli sono riportati all’interno del tutorial MCF51CN128—Lab Tutorials 3 & 4 Low-Power e-Mail-Enabled Security, Freescale MQX RTOS for MCF51CN128. All’interno dello stesso tutorial è possibile trovare una breve trattazione che illustra in che modo il kit possa essere impiegato anche per realizzare un bridge tra connessione TCP/IP (telnet) e connessione seriale.

FTP SERVER CON MCF51CN E FREERTOS

Attraverso i  dispositivi della  famiglia MCF51CN di NXP/Freescale, l’RTOS FreeRTOS v5.3.0 e lo stack TCP/IP lwIP v1.3.0 è possibile realizzare un Server FTP embedded cioè una applicazioni embedded attraverso la quale inviare  e  ricevere file attraverso internet sfruttando il protocollo di trasferimento FTP (File Transfer protocol). Questo tipo di applicazione è possibile in quanto i dispositivi della famiglia MCF51CN, e quindi di conseguenza i kit di sviluppo basati su queste MCU, possono essere facilmente interfacciati con memorie di massa esterne come una SD su cui è montato il file system per la gestione degli stessi file. Per poter comprendere più precisamente di cosa si tratta è opportuno richiamare alcuni riferimenti al protocollo FTP. Tra le applicazioni TCP/IP rientrano infatti quelle FTP il cui scopo è quello di consentire lo scambio ed il trasferimento di file attraverso internet. Di conseguenza realizzare un Server FTP significa implementare una applicazione che consenta di gestire questa operazione secondo una logica Client-Server. Una applicazione di questo tipo, basata su MCF51CN128, rende il kit di sviluppo o la board che equipaggia la MCU a tutti gli effetti un Server FTP cui un client singolo può connettersi. Il Server FTP può essere implementato basando il suo funzionamento su un file system FAT16 mediante il quale si gestisce la comunicazione con una semplice memoria SD card. Su quest’ultima è quindi possibile archiviare file attraverso il protocollo FTP e successivamente accedere alle stesse informazioni. Per questo motivo l’applicazione si comporta come un bridge Ethernet-SD Card. La schematizzazione di figura 4 illustra, in maniera sintetica ed efficace, il concetto.

Figura 4: schematizzazione di una connessione Client ad un FTP Server.

Figura 4: schematizzazione di una connessione Client ad un FTP Server.

Il sistema, nel suo complesso, è infatti costituito da:

# la SD card su cui e possibile allocare i file desiderati o alla quale è possibile accedere per recuperare gli stessi file; l’FTP Server embedded vero e proprio costituito dall’MCF51CN128 che gestisce la SD card Reader (attraverso interfaccia SPI) grazie all’applicazione FTP;
# l’FTP client remoto che sfrutta il servizio offerto dall’FTP Server embedded attraverso una connessione di rete; la rete attraverso la quale è possibile stabilire la connessione e fruire effettivamente del sevizio.

La possibilità di dotare una applicazione embedded di funzionalità di questo tipo rende la stessa applicazione di una certa flessibilità in molte situazioni applicative. Per l’implementazione hardware dell’applicazione è possibile considerare la MCF51CN128 Reference Design Board di Freescale oppure il kit di sviluppo Tower System basato su MCF51CN128. In figura 5 riportiamo una schematizzazione a blocchi dell’architettura hardware dell’applicazione.

Figure 5: diagramma a blocchi dell’hardware della MCF51CN128 Reference Design Board.

Figure 5: diagramma a blocchi dell’hardware della MCF51CN128 Reference Design Board.

In entrambi i casi, cioè sia che si usi la MCF51CN128 Reference Design Board, sia che si usi il Tower System, è necessario fare riferimento alle guide specifiche per il settaggio di alcuni jumper. Tali guide sono disponibili e liberamente scaricabili dal sito di Freescale (www.freescale.com); in ogni caso nei punti della bibliografia sono riportati molti riferimenti per chi voglia accedere ad informazioni più dettagliate in merito. Mentre la MCF51CN128 Reference Design Board impiega una micro SD card, il Tower System MCF51CN128 Card Rev. C impiega una SD card. Facciamo osservare che nel Tower System MCF51CN128, cosi come in qualunque implementazione hardware fatta sulla base di quest’ultimo, la memory card deve essere posta il più vicino possibile alla MCU per garantire la massima velocità dell’interfaccia SPI (12.5 Mbps). Gli schematici della board possono in ogni caso essere utilizzati per creare applicazioni specifiche che prescindano dai kit di sviluppo. A parte la necessità di impiegare una SD card, se il task FTP sta girando risulterà presente nella lista dei task in esecuzione e ciò potrà essere verificato digitando [ip address]/tasks.htm in un browser web. Maggiori informazioni in merito sono riportate nell’application Note Serial-toEthernet Bridge Using MCF51CN Family and FreeRTOS(document AN3906). La connessione dell’FTP Client all’FTP Server avviene attraverso un apposito comando che è possibile immettere direttamente da linea di comando di Windows. Se la connessione non viene stabilita con successo potrebbe essersi verificato uno dei seguenti eventi:

- Il server DHCP (Dinamico Host Configuration Protocol) non è in grado di fornire un IP valido (se si lavora con un indirizzamento dinamico);
- la porta ftp 21 è bloccata;
- Il Server FTP non accetta la password o la username fornita;
- Il task FTP non si avvia perché non è rilevata nessuna SD card;

I comandi utilizzati da linea di comando di Windows sono interpretati in quanto ad ognuno di essi corrisponde generalmente uno o più comandi ftp. In tabella 1 sono riportati i comandi che è possibile utilizzare da linea di comando di windows.

Tabella 1: Comandi FTP eseguibili da linea di comando di windows.

Tabella 1: Comandi FTP eseguibili da linea di comando di windows.

Quando si avvia una sessione FTP Client dalla linea di comando di Windows verso l’FTP Server è restituita una schermata simile a quella riportata in figura 6.

Figura 6: comando FTP Client da Microsoft Window con MCF51CN128.

Figura 6: comando FTP Client da Microsoft Window con MCF51CN128.

In quest’ultima è possibile osservare come sia richiesta una password ed una username per visualizzare i file. Solo successivamente è possibile disporre dell’ elenco degli stessi file, oppure caricare nuovi file, scaricare o cancellare file esistenti. Se si opera con gli esempi applicativi resi disponibili da NXP/Freescale l’applicazione FTP Server parte con la configurazione di default. Quest’ultima può essere in ogni caso modificata a runtime utilizzando la web page di configurazione visualizzabile attraverso un qualunque web browser.

INTRODUZIONE AL SOFTWARE FTP SERVER

L’applicazione prevede l’impiego dell’lwIP che altro non è che TCP/IP stack per sistemi embedded. A riguardo è possibile trovare ulteriori riferimenti sull’application note Serial-to-Ethernet Bridge Using MCF51CN Family and FreeRTOS (document AN3906). L’eventuale attività FTP in corso può essere monitorata utilizzando un network analyzer come Wireshark. Il Server FTP utilizza due socket per effettuare la connessione ad un FTP Client:

# l’FTP Command Port utilizzata per inviare comandi FTP e ricevere risposte FTP. Utilizzando questa porta ed il comando FTP PORT la porta dati FTP viene selezionata. Il Client FTP infatti si collega sempre ad una FTP port del Server.
# FTP Data Port per trasmettere e ricevere Dati via FTP durante la lettura, scrittura e le operazioni di richiesta della lista dei file.

L’implementazione dell’FTP Server usa normalmente la porta 21, porta attraverso la quale riceve comandi dall’FTP Client.

A tale proposito è necessario osservare che alcuni firewall potrebbero adottare una politica di sicurezza in base alla quale bloccano la porta 21. Il server apre la sua data port ftp per le connessioe del client. Quando il Client si connette al server invia un comando FTP che ordina al Server FTP di stabilire la comunicazione.

INTERFACCIA SD

Per la SD esistono due modalità di trasferimento possibili resi disponibili dai costruttori:

# Modalità SD a quattro bit che usa dei pin extra per la comunicazione;
# Modalità SPI che usa l’interfaccia seriale SPI (Serial Peripheral interface).

Nell’applicazione cui facciamo riferimento la comunicazione con la SD è implementata in modalità SPI, modalità che nell’MCF51CN128 può raggiungere una velocità massima pari a 12,5 Mbps. L’applicazione legge o scrive la SD Card in blocchi, ciascuno dei quali corrispondente a 512 byte di memoria. Ovviamente, è utilizzato un file system cioè una file allocation table mediante la quale è possibile tener traccia di quali siano le aree di memoria occupate da ciascun file, dove esse si trovino e quali siano invece quelle ancora inutilizzate. Il File system utilizzato è il FAT16. I file sono organizzati in cluster cioè gruppi di settori e sono identificati da un indirizzo a 16 bit e dal relativo nome. L’implementazione dell’FTP Server, dal punto di vista dello sviluppatore software, risulta comunque semplificata in quanto molti dei dettagli della FAT16 possono essere trascurati grazie alla disponibilità di funzioni che si occupano direttamente della lettura, scrittura o cancellazione degli stessi file. L’implementazione tipica dell’FTP Server consente la presenza di un client ed un trasferimento per volta; il testing può essere eseguito utilizzando la linea di comando di Windows del FTP Client. L’implementazione della FAT16 presenta invece due principali limitazioni: il nome del file non deve eccedere la lunghezza massima di 8 caratteri mentre l’estensione non deve eccederne tre; inoltre essa non funziona con le directory.

IL SOFTWARE FTP

NXP/Freescale mette a disposizione software sviluppato per l’MCF51CN128 che dimostrare la possibilità di realizzare questo tipo di applicazioni con costi ridotti e complessità hardware minima. Il software è pensato più precisamente per l’MCF51CN128 reference design hardware e per la Tower board. All’interno dei file che costituiscono i progetti demo è necessario selezionare pertanto tra M51CN128RD e V1_TOWER a seconda della piattaforma hardware che si sta utilizzando. A tale proposito occorre osservare, in particolare, quanto riportato all’interno del file m51cn128evb.h. La figura 7 mostra l’architettura a blocchi funzionali tipica dell’implementazione del Server FTP.

Figura 7: architettura del software FTP.

Figura 7: architettura del software FTP.

Dettagli riguardanti il FreeRTOS o l’lwIP, sono riportati sull’application note Serial-to-Ethernet Bridge Using MCF51CN Family and FreeRTOS (document AN3906). Si nota in particolare l’hardware Abstraction Layer (HAL) che rappresenta un set di componenti software che hanno diretto accesso alla risorse hardware come periferiche, registri di configurazione, routine ottimizzate in assembler, codice di oggetti di libreria precompilati. L’insieme dei file che rientrano nel gruppo HIL (Hardware Independent Layer) sono mirate invece a mantenere una certa indipendenza tra il software ed il substrato hardware dell’applicazione, facilitando l’impiego del software anche su altre MCU senza la necessità di effettuare pesanti modifiche allo stesso software (application note Serial-to-Ethernet Bridge Using MCF51CN Family and FreeRTOS-AN3906). In Figura 8 è rappresentato sotto forma di Flow chart la logica secondo la quale il Server FTP gestisce le richieste FTP.

Figura 8: logica di gestione delle richieste FTP da parte del Server FTP.

Figura 8: logica di gestione delle richieste FTP da parte del Server FTP. Per aggiungere nuovi comandi al server FTP, è necessario modificare in particolare:

# ftp_server.c-Altri comndi FTP possono essere implementati in questo file così come possono essere modificate username e password di default.

La username è memorizzata in un macro C denominata FTP_USERNAME mentre la password è memorizzata invece in una macro C chiamata FTP_PASSWORD;

# ftp_server.hi comandi ftp e le risposte sono dichiarate in questo file. Per aggiungerne altri o cambiare le stringhe di risposta è necessario accedere ad esso ed eseguire le necessarie modifiche.

 

 

Scarica subito una copia gratis

2 Commenti

  1. Avatar photo Giordana Francesca Brescia 24 Febbraio 2019
  2. Avatar photo Stefano Lovati 25 Febbraio 2019

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend