Tema 1. El microcontrolador S3C44BOX.

Estructura del S3C44BOX. ARM7TDMI Core. Controlador de memoria. Gestor de reloj y energía. Controlador de cache. Árbitro de bus. Controlador de DMA. Controlador de pines de E/S. Temporizadores. UART. Controlador de interrupciones. Controlador de LCD. Conversor analógico-digital. Reloj de tiempo real. Watchdog timer. Controlador de IIC. Controlador de IIS. Controlador de SIO.

Tema 2. La placa de prototipado Embest S3CEV40.

La placa Embest S3CEV40. Memoria principal. Dispositivos externos. Interconexionado y configuración de controladores.

Tema 3. El entorno de desarrollo Eclipse IDE for C/C++ Developers.

Herramientas y flujo de desarrollo. Eclipse IDE. Toolchain. Aplicaciones volcadas en ROM. Aplciaciones volcadas en RAM. Organización del workspace.

Tema 4. Programación a bajo nivel en C.

Organización de un programa. Directivas del preprocesador. Tipos de datos. Operadores. Consideraciones sobre aritmética. Manipulación de bits. Punteros. Clases de almacenamiento. Consideraciones sobre memoria dinámica. Inclusión de código máquina. Referencias cruzadas ensamblador-C. Compilación de funciones. Funciones in-line. Compilación de rutinas de excepción. Enlazado y ubicación de código.

Tema 5. Firmware y bootstraping.

Funcionalidades del firmware. Firmware suites. Bootloader didáctico.

Tema 6. Modelos de programación de software empotrado.

Estructura general de una aplicación empotrada. Sistemas guiados por eventos vs. guiados por tiempo. Sistemas periódicos. Sistemas multiestado. Sistemas muestreados. Sistemas de control. Planificación cooperativa. Planificación híbrida.

Tema 7. Micro-kernels de tiempo real.

Conceptos de tiempo real. Estructura de un kernel. Gestión y planificación de tareas. Gestión del tiempo. Gestión de eventos. Gestión de memoria. Mecanismos de comunicación: semáforos y mensajes. Control de recursos. Configuración y portabilidad. Caso de estudio: uC/OS-II. Otros sistemas de tiempo real: VxWorks, QNX, RTEMS...

Prácticas.

Desarrollo de firmware. Portado y configuración de un micro-kernel de tiempo real. Desarrollo de aplicaciones empotradas. Proyecto final.


Página creada y modificada por J. M. Mendías / Ultima actualización Ene-14