Durante las semanas anteriores se ha conseguido reproducir sonidos por medio del DAC del Coldfire, pero presentaba un problema: cada vez que había que cargar el programa en la memoria del Coldfire se hacía necesario volver a cargar los arrays con las muestras de voz, con el consiguiente tiempo que conllevaba.
Para solucionar, o al menos disminuir el tiempo de carga, lo que se ha realizado es montar un servidor TFTP en un ordenador. A este servidor accederá el Coldfire por medio del puerto Ethernet y se descargara los archivos de voz que necesite para posteriormente reproducirlos.
El programa en C que realiza esta tarea tiene dos partes. Por un lado se encuentra el cliente TFTP que se descarga el archivo que especifiquemos y los guarda a partir de la posición de memoria 0x60000 del Coldfire, que se corresponde con la memoria de usuario que asigna el cliente para la descarga de archivos. Esta memoria se extiende hasta la posición 0x70000 por lo que en principio nos podemos descargar archivos de hasta un tamaño máximo de 64 KB.
Una vez descargado el archivo se accede a la posición 0x60000 y mediante un bucle vamos recorriendo todos los valores hasta alcanzar el tamaño del archivo y los vamos transmitiendo al DAC, igual que hacíamos con el array de datos.
En la dirección http://docs.google.com/Doc?id=dgs9sf7s_3thk754 se puede encontrar el archivo principal del programa (habla.c).