[Documentos] [Software] [Código
fuente] [Ficheros auxiliares]
[Exámenes]
[Tutoriales y manuales] [Data Sheets] [Application Notes] [Miscelánea]
Documentos
- Transparencias de teoría:
- Presentación
de la asignatura.
- Tema 1: El microcontrolador:
Samsung S3C44BOX.
- Tema 2: La placa de prototipado: Embest S3CEV40.
- Tema 3: El entorno de desarrollo: Eclipse IDE for
C/C++ Developers.
- Tema 4: Programación a bajo nivel en C.
- Tema 5: Firmware y
bootstraping.
- Tema 6: Modelos de programación de software
empotrado.
- Tema 7: Micro-kernels de tiempo real.
- Tema
8: Introducción al
multiprocesamiento empotrado.
- Transparencias de laboratorios:
- Laboratorio 1: Acceso elemental a dispositivos (i):
dispositivos externos mapeados en memoria.
- Laboratorio 2: Acceso elemental a dispositivos (ii):
dispositivos internos mapeados en memoria y dispositivos externos conectados a puertos de E/S.
- Laboratorio 3: Drivers
de dispositivos elementales: salida por leds y displays 7-segmentos.
- Laboratorio 4: E/S programada: control de una UART y
comunicación con un terminal serie.
- Laboratorio 5: Gestión básica de interrupciones:
programación de un reloj de tiempo real.
- Laboratorio 6: Medida del tiempo: control de
temporizadores y entrada por pulsadores y keypads.
- Laboratorio 7: Salida por un LCD.
- Laboratorio 8: Bus IIC: lectura/escritura de una
EEPROM.
- Laboratorio 9: E/S por DMA y Bus IIS:
reproducción/grabación de sonido con un Audio Codec.
- Laboratorio 10: Conversión analógico-digital: entrada
por un touchpad.
- Laboratorio 11: Autoarranque desde ROM.
- Laboratorio
12: Multitarea cooperativa.
- Laboratorio 13:
Multitarea bajo un kernel de planificación no expropiativo.
- Laboratorio 14:
Multitarea bajo RTOS uC/OS-II.
Checklists:
- Instalación -
Instrucciones para la instalación del entorno de desarrollo en Windows 10.
-
Configuración - Opciones para la configuración de herramientas.
- Desarrollo -
Opciones para la creación, compilación y depuración de aplicaciones.
Software
- Entorno de desarrollo:
- Eclipse Juno:
Distribución del entorno de desarrollo usada en los labs.
- s3c44b0x.xml: Fichero de configuración de la vista
Embedded
Systems Registers para Eclipse.
- Windows Drivers para depuradores OpenOCD de Olimex
(FTDI,
USB-Serial port).
- Workspaces:
- PSyD: Workspace
que incluye los laboratorios de la asignatura.
- PSyD-proyecto: Workspace que incluye una biblioteca precompilada de
firmware.
Código fuente
- Ficheros generales en C:
- common_types.h
- Fichero cabecera con declaraciones de tipos enteros.
- s3c44b0x.h -
Fichero cabecera con nemotécnicos para los registros de los
controladores de dispositivos internos del chip S3C44BOX.
- s3cev40.h -
Fichero cabecera con nemotécnicos para el acceso a distintos elementos
de la placa de prototipado Embest S3CEV40.
- font8x16.c -
Definición de los mapas de bits de una fuente de 8x16 pixels/caracter.
- fix_types.h
- Fichero cabecera con declaraciones de tipos reales en punto fijo y
macros para operar aritméticamente con ellos.
- Ficheros generales en ensamblador:
- s3c44b0x.asm -
Fichero ensamblador con nemotécnicos para los registros de los
controladores de dispositivos internos del chip S3C44BOX.
- s3cev40.asm -
Fichero ensamblador con nemotécnicos para el acceso a distintos
elementos de la placa de prototipado Embest S3CEV40.
- Ficheros de prácticas de laboratorio:
- Laboratorio 0: lab0.c
- Laboratorio 1: lab1.c
- Laboratorio 2: lab2.c
- Laboratorio 3: leds.h,
leds.c,
segs.h, segs.c,
systemLab3.h,
systemLab3.c, lab3.c
- Laboratorio 4: uart.h,
uart.c, systemLab4.h,
systemLab4.c, lab4.c
- Laboratorio 5: rtc.h,
rtc.c, system.h,
system.c,
lab5.c
- Laboratorio 6: timers.h,
timers.c,
pbs.h, pbs.c, keypad.h,
keypad.c,
lab6.c
- Laboratorio 7: lcd.h,
lcd.c,
lab7.c
- Laboratorio 8: iic.h,
iic.c, at24c04.h,
at24c04.c, lab8.c
- Laboratorio 9: iis.h,
iis.c,
dma.h, dma.c, L3.h,
L3.c,
uda1341ts.h,
uda1341ts.c,
lab9-efectos.c,
lab9-wav.c
- Laboratorio 10: adc.h,
adc.c,
ts.h,
ts.c,
lab10.c
- Laboratorio 11: bootloader.asm,
lab11.c
- Laboratorio 12:
lab12-foreback.c, lab12-queue,
lab12-cyclic
- Laboratorio 13: kernelcoop.h,
kernelcoop.c,
lab13.c
- Laboratorio 14:
lab14.c,
lab14-isr-wrappers.asm
- Portado de uC/OS-II al AR7TDMI:
- os_cpu.h - Definición dependiente del procesador de
los tipos de datos requeridos por el kernel.
- os_cpu_c.c - Funciones en C dependientes del
procesador requeridas por el kernel.
- os_cpu_a.asm - Funciones en ensamblador dependientes
del procesador requeridas por el kernel.
- os_cpu_isr_wrapper.asm - Macro para añadir a una RTI el wrapper
requerido por el kernel.
- Scripts de enlazado genéricos:
Ficheros auxiliares
- Ficheros imagen:
- Contenido original de la Flash ROM de la placa de
prototipado: ROM_original.
- Ficheros de sonido (estéreo, 16b, 16KHz):
- Nokia Tune (5,5 s):
nokiaTune.wav,
nokiaTuneLeftChannel.wav,
nokiaTuneRightChanel.wav
- Tono de invitación a marcar (8 s):
invitacion.wav
- Tono de llamada (4,5 s):
llamada.wav
- Tono de ocupado (0,4 s):
ocupado.wav
- Tono congestión (1,6 s):
congestion.wav
- DTMF 1 (0,1 s): dtmf1.wav
- DTMF 2 (0,1 s): dtmf2.wav
- DTMF 3 (0,1 s): dtmf3.wav
- DTMF 4 (0,1 s): dtmf4.wav
- DTMF 5 (0,1 s): dtmf5.wav
- DTMF 6 (0,1 s): dtmf6.wav
- DTMF 7 (0,1 s): dtmf7.wav
- DTMF 8 (0,1 s): dtmf8.wav
- DTMF 9 (0,1 s): dtmf9.wav
- DTMF * (0,1 s): dtmfStar.wav
- DTMF 0 (0,1 s): dtmf0.wav
- DTMF # (0,1 s): dtmfSharp.wav
- Script de carga:
load_wav.txt
- Mapas de bits
(320x240 píxeles, 16 colores):
Exámenes
- Curso 2015-16: junio (enunciado,
solución),
septiembre (enunciado,
solución).
- Curso 2016-17:
febrero (enunciado,
solución).
- Curso 2017-18:
enero
(enunciado,
solución),
julio
(enunciado,
solución).
- Curso 2018-19:
enero
(enunciado,
solución).
- Curso 2019-20:
enero
(enunciado,
solución).
- Curso 2020-21: febrero
(enunciado,
solución),
julio
(enunciado,
solución).
- Curso 2021-22: enero
(enunciado,
solución).
- Curso 2022-23: enero
(enunciado,
solución).
- Curso 2023-24: enero
(enunciado,
solución,
video).
- Curso 2024-25: diciembre
(enunciado,
solución).
Tutoriales y manuales
- Arquitectura ARM:
- Placa de prototipado
(Embest S3CEV40 Evaluation Board):
- Entorno de desarrollo:
- Vídeo tutoriales (cortesía de José Luís Risco):
- Video-tutorial
de instalación del entorno de desarrollo en Windows 7
(en Windows 10 es similar, pero se recomienda consultar además estas
instrucciones)
- Video-tutorial de compilación y simulación de
aplicaciones
- Video-tutorial de compilación, volcado y
ejecución de aplicaciones
- Toolchain:
- Bibliotecas:
Data
Sheets
- Sistemas integrados:
- Lógica pegamento:
- 7408 - Quad
2-input AND gate.
- 7432 - Quad
2-input OR gate.
- 7417 - Hex
buffers/drivers.
- 7414 - Hex
inverting Schmitt trigger.
- 74573 -
Octal D-type transparent latch.
- 74138 - 3 to
8 line decoder.
Application
Notes
Miscelánea
- Especificaciones de interfaces
estándar:
- I2C -
Especificación del Inter Integrated Circuit Bus.
- I2S -
Especificación del Inter Integrated Circuit Sound Bus.
- USB -
Especificación del Universal Serial Bus.
- Memorias:
- Otros SOCs:
Página creada y modificada por
J. M. Mendías / Ultima actualización Sep-24