ESCUELA TÉCNICA SUPERIOR DE INGENIEROS DE TELECOMUNICACIÓN MANUAL DE USUARIO DEL CLIENTE DE TFTP IMPLEMENTADO EN C PARA EL ENTORNO EDCOLDFIRE DEL MCF5272 AUTORES: CORONADO BARRIOS, MIGUEL LÓPEZ NAVARRO, ANTONIO JOSÉ PÉREZ MAGARIÑOS,NURIA SAN SEGUNDO HERNÁNDEZ, RUBÉN FECHA JUNIO 2006 Departamento de Ingeniería Electrónica E.T.S.I. de Telecomunicación Universidad Politécnica de Madrid ÍNDICE DE CONTENIDOS 1. Software Requerido …………………………………… 1.1 Servidor de TFTP …………………………………… 1.2 Entorno de desarrollo EDColdFire ………………. 2. Hardware Requerido …………………………………… 3. Uso del Sistema ………………………………………….. 3.1 Comando “help” …………………………………… 3.2 Comando “md” …………………………………… 3.3 Comando “show” …………………………………… 3.4 Comando “set” …………………………………… 3.5 Comando “quit” …………………………………… 3.6 Comando “read” …………………………………… 3.7 Comando “write” …………………………………… ANEXO: Ficheros ………………………………………….. 2 4 4 6 7 7 8 9 10 11 12 13 14 16 ÍNDICE DE FIGURAS Figura 1:Aspecto de la página donde se puede realizar la descargar del servidor Figura 2:Pantalla de inicio del servidor TFTP Figura 3:Elegimos la opción configuración del menú File Figura 4:En Root Directory se guardarán los ficheros enviados y recibidos Figura 5:Permitimos enviar y recibir archivos Figura 6:Sección de la página del laboratorio donde descargar el programa Figura 7:Configuración de la conexión mediante un switch Figura 8:Pantalla en la que se selecciona el programa a cargar en el Coldfire Figura 9:Pantalla de inicio del programa Figura 10:Escribimos “help” Figura 11:Menú “help” con explicación de los comandos y sus parámetros Figura 12:El comando“md”presenta las posiciones de memoria y lo que almacenan Figura 13:Aparecen los parámetros de la comunicación junto con sus valores Figura 14:Vemos cómo cambia la dirección cliente tras aplicar el “set” Figura 15:Con “quit” cerramos la conexión Figura 16:Leemos del servidor Figura 17:Pantalla del servidor una vez finalizada la lectura. Figura 18:Escribimos 19 bytes en el fichero test5.txt Figura 19:Pantalla del servidor después de una lectura y una escritura. 3 4 5 5 5 6 6 7 8 8 9 9 10 10 12 12 13 13 14 14 MANUAL DE USUARIO Este documento es el manual de usuario del módulo Ethernet del MCF5272. En él se detallan los requisitos hardware y software para su utilización, así como una aproximación a las utilidades del mismo. 1.- Software Requerido Para poder utilizar el módulo Ethernet del MCF5272 se requieren los siguientes programas o archivos: - Entorno de desarrollo EDColdFire para la plataforma ENT2004CF. Fichero EthernetMCF5272.zip Servidor de TFTP 1.1.- Servidor de TFTP El software del servidor de TFTP puede descargarse del siguiente enlace: www.solarwinds.net/Tools/Free_tools/TFTP_Server Debe aparecer la siguiente página: Figura 1: Aspecto de la página donde se puede realizar la descargar del servidor 4 Una vez descargado, lo instalamos en el ordenador que actuará de servidor, de forma que al ejecutarlo salga la siguiente pantalla: Figura 2: Pantalla de inicio del servidor TFTP Debemos realizar algunos ajustes en la configuración para que funcione correctamente. Por esto, seleccionamos la opción CONFIGURE del menú FILE: Figura 3: Elegimos la opción configuración del menú File En la pestaña TFTP Root Directory, indicamos dónde queremos que se guarden los ficheros que enviamos y recibimos desde el cliente: Figura 4: En Root Directory se guardarán los ficheros enviados y recibidos 5 Por último, debemos especificar en la pestaña SECURITY que queremos transmitir y recibir ficheros: Figura 5: Permitimos enviar y recibir archivos Con esto ya tendríamos configurado el servidor de TFTP. 1.2.- Entorno de desarrollo EDColdFire para la plataforma ENT2004CF Este software está disponible en el siguiente enlace: http://lorien.die.upm.es/lsed/?status=documentos Figura 6: Sección de la página del laboratorio donde descargar el programa No son necesarios programas adicionales para que el EDColdFire funcione. Instalamos este software que es el que nos permitirá ejecutar los programas que manejan el módulo Ethernet del Coldfire, así como la comunicación con la plataforma ENT2004CF. 2.- Hardware Requerido 6 Para poder llevar a cabo operaciones con el módulo Ethernet del Coldfire se necesita el siguiente hardware: - Plataforma ENT2004CF que contiene un MCF5272 junto con los circuitos pertinentes para su correcto funcionamiento. Dirección MAC e IP para la plataforma. Existen dos posibles configuraciones de conexión de la plataforma para operar con el módulo Ethernet: - Configuración 1: La plataforma y el PC conectados a través de un switch de comunicaciones a una red IP. Para esta conexión se necesitan dos cables de red y un switch. Cada uno de los cables se emplea para conectar tanto el PC (servidor) como la salida Ethernet de ENT2004CF con el switch. Figura 7: Configuración de la conexión mediante un switch Configuración 2: La plataforma directamente conectada a un PC (servidor) Para este tipo de conexión se necesita un cable de red cruzado para conectar la salida del módulo Ethernet con la entrada de red del PC. 3.- Uso del Sistema Lo primero que tendremos que hacer será abrir el entorno de desarrollo EDColdFire, abrir la conexión con la plataforma ENT2004CF mediante el menú conexión y ejecutar el servidor de TFTP en el ordenador servidor. 7 Para poner en funcionamiento el cliente TFTP en el ColdFire debe ejecutarse en el entorno de desarrollo el programa EJEMPLO_TFTP.c que se encuentra en el fichero EthernetMCF5272.zip. Para ello, tendremos que descomprimir dicho fichero, abrir el fichero EJEMPLO_TFTP.c y compilarlo (empleando el botón ). A continuación, cargar el programa EJEMPLO_TFTP.hcf, que es el archivo con el código máquina que se cargará en el Coldfire. Para ello, pulsamos el botón seleccionamos el programa EJEMPLO_TFTP.hcf. y en el menú “Cargar” Figura 8: Pantalla en la que se selecciona el programa a cargar en el Coldfire Le damos al botón correspondiente a la ejecución sin puntos de parada y abrimos la ventana del Terminal. Al abrirla, deberá tener el siguiente aspecto, que se corresponde con la pantalla de inicio del cliente de TFTP: Figura 9: Pantalla de inicio del programa 3.1.- Comando “help” Si escribimos el comando “help” se desplegará un menú en el que aparecen todos los comandos que podemos ejecutar, junto con sus parámetros y una pequeña descripción: 8 Figura 10: Escribimos “help” Figura 11: Menú “help” con explicación de los comandos y sus parámetros 3.2.- Comando “md” Si escribimos el comando “md”, aparecerá un menú en el que se muestran los datos guardados en el espacio de memoria del Coldfire reservado para el usuario, que comienza en la dirección de memoria guardada en al variable “USERSPACE”. La primera línea indica la posición de memoria a partir de la cual se leerán cuatro palabras de 32 bits; el número que aparece está expresado con formato hexadecimal.A continuación escribe las cuatro palabras de 32 bits con los correspondientes datos almacenados en cada una de ellas, expresados en hexadecimal. Por último, se escribe la traducción a código ASCII de lo almacenado, que se corresponderá con el archivo enviado o recibido. 9 Figura 12: El comando “md” presenta las posiciones de memoria y lo que almacenan 3.3-Comando show Al introducir este comando aparecerán en pantalla los parámetros asociados con la comunicación como son: la dirección IP del servidor, la dirección IP del cliente, la dirección de la pasarela, la máscara de red, la dirección MAC y el nombre del fichero que vamos a enviar. Figura 13: Aparecen los parámetros de la comunicación junto con sus valores Todos estos parámetros podrán ser modificados mediante el comando “set”, que explicaremos a continuación. 10 3.4- Comando “set” Este comando nos permitirá modificar alguno de los parámetros que aparecen al desplegarse el menú asociado al comando “show”. Estos parámetros son: o o o o o o Dirección IP del servidor: 138.100.30.125 Dirección IP del cliente: 138.100.30.121 Dirección IP de la pasarela: 138.100.30.1 Máscara de red: 255.255.255.128 Dirección MAC: 0.11.203.255 Nombre del fichero con el que vamos a trabajar Dichos parámetros están inicializados con los valores por defecto indicados arriba en el archivo “tftp_main.c” al principio junto con las demás constantes estáticas. La sintaxis de este comando es: set <parámetro a modificar> <nuevo valor parámetro> Explicamos este comando con un ejemplo. En este ejemplo modificaremos la dirección IP del cliente. Supongamos que queremos que nuestro cliente sea aquel con dirección IP: 138.100.30.130. Lo primero que hacemos es ejecutar el comando show para ver los valores asociados a cada parámetro antes de llevar a cabo el cambio. Vemos que la dirección IP del cliente es: 138.100.30.121. A continuación escribimos: “set client 138.100.30.130” Con esta sentencia indicamos que lo que queremos modificar es el valor asociado al cliente y que el nuevo valor es 138.100.30.130. Por último, volvemos a ejecutar “show” para comprobar que la dirección del cliente se ha modificado correctamente. 11 Figura 14: Vemos cómo cambia la dirección cliente tras aplicar el “set” 3.5- Comando quit Este comando nos permitirá finalizar la conexión con el servidor TFTP. Figura 15: Con “quit” cerramos la conexión 3.6- Comando read Este comando nos permite descargar en la memoria del Coldfire el archivo guardado en el directorio ROOT del servidor de TFTP cuyo nombre coincida con el nombre almacenado en el parámetro “filename”. La sintaxis del comando es: read <nombre del archivo a leer> 12 Figura 16: Leemos del servidor Una vez terminada correctamente la descarga, nos indicará el número de bytes que han sido leidos. En el caso de la figura anterior han sido leidos 19 bytes. Cuando hagamos la lectura, una vez finalizada la desgcarga del archivo podremos observar algo similar a la siguiente figura en la pantalla del servidor TFTP: Figura 17: Pantalla del servidor una vez finalizada la lectura. 3.7.- Comando write Este comando nos permitirá enviar el número de bytes que queramos de los que tenemos almacenados en el espacio de usuario de la memoria del Coldfire a un fichero del servidor cuya dirección IP está guardada en el parámetro “server” que hemos definido en el fichero “tftp_main.c” con el valor por defecto 138.100.30.125. La sintaxis del comando es: write <nº bytes a enviar> <nombre del fichero donde lo guardará en destino> 13 Figura 18: Escribimos 19 bytes en el fichero test5.txt El programa lo que hará será crear un archivo con el nombre indicado en el directorio ROOT del servidor TFTP si no existía o sobrescribirlo si ya estaba creado. La pantalla del servidor, después de una operación de lectura (descarga de un fichero) seguida de una operación de escritura (carga) tendrá el siguiente aspecto: Figura 19: Pantalla del servidor después de una lectura y una escritura. 14 ANEXO Los programas necesarios para poder ejecutar el controlador del módulo Ethernet se encuentran en el fichero EthernetMCF5272.zip y son los siguientes: Nombre Fichero arp.c del Breve Descripción arp.h EJEMPLO_TFTP.c eth.h fec.c fec.h icmp.c icmp.h ip.c ip.h m5272.h m5272c3.h m5272lib.c m5272lib.h mcf5xxx.h nbuf.c nbuf.h nif.c nif.h start.asg stdlib.c stdlib.h tftp.c tftp.h Descripción de las rutinas para el Protocolo de Resolución de Direcciónes (ARP) Definición de tipos y declaración de funciones para manejo de ARP Programa principal para el manejo de Ethernet Definición de tipos y declaración de funciones para crear la trama de Ethernet Implementación de las rutinas para el driver FEC (Fordward Error Correction) del MCF5272 Definición de tipos y declaración de funciones para manejo del driver FEC Rutinas para manejar los paquetes ICMP Definición de tipos y declaración de funciones para la creación y manejo de los paquetes ICMP Rutinas para el manejo del Protocolo de Internet (IP) Definición de tipos y declaración de funciones para el manejo del Protocolo de Internet (IP) Macros para escribir en los registros y en memoria, vectores de rutinas de interrupción y constantes para máscaras y direcciones Definiciones para el controlador de interrupciones, información acerca del Timer y mapa de memoria Funciones para la plataforma de desarrollo ENT2004CF Definición de tipos y declaración de funciones para la plataforma de desarrollo ENT2004CF Definiciones comunes para todos los procesadores Coldfire Rutinas para la implementación del esquema del Buffer de Red Definiciones para la asignación del Buffer de red Rutinas de la Interfaz de Red Definición de tipos y declaración de funciones para la Interfaz de red Esqueleto en ensamblador que nos permite unir todos los ficheros y ejecutarlos. Funciones que se encuentran normalmente en una librería estándar de C Definición de tipos y declaración de funciones para las funciones de la librería estándar Rutinas para la lectura de ficheros desde un servidor remoto mediante TFTP (Trivial File Transfer Protocol) Definición de tipos y declaración de funciones para TFTP 15 tftp_main.c tftp_main.h timer.c timer.h udp.c udp.h Rutinas de la interfaz del protocolo TFTP con el usuario Definición de tipos y declaración de funciones para la interfaz del protocolo TFTP con el usuario Rutinas para acceder a los módulos de timer Definición de tipos y declaración de funciones para acceder a los módulos del timer Rutinas para el manejo del UDP (User Datagram Protocol) Definición de tipos y declaración de funciones para el UDP 16