AVR Programming AVR Programming AVR Programming

Programación de Sistemas Embebidos 2020

Departamento Ingeniería de Computadoras
Facultad de Informática - Universidad Nacional del Comahue
Docente: Rafael Ignacio Zurita <rafa@fi.uncoma.edu.ar>


Code that is graceful and clear, on the other hand, is less likely to break — and more likely to be instantly comprehended by the next person to have to change it. This is important, especially when that next person might be yourself some years down the road.
-- Eric Steven Raymond ("The Art of Unix Programming")



Enunciado del Trabajo Final PSE2020 (para la promoción)


FOROS de PEDCO:
Consultas Generales
Novedades

Apuntes
1. Introducción a la programación de sistemas embebidos
2. Herramientas de desarrollo para sistemas embebidos
3. Herramientas de desarrollo: Makefiles
4. El primer programa embebido
5. Dispositivos de E/S

Caso real: ¿Qué sucedió en Marte con el PathFinder? (RTOS, scheduling, priority)

Material de Referencia
COMO usar la placa de prototipado (breadboards)
Clase - hello world (instrucciones para compilar y flashear el primer programa embebido)
Ohms law for newbies
Ultra mini Introducción a la placa Pro Mini 5v 16Mhz - 1
Ultra mini Introducción a la placa Pro Mini 5v 16Mhz - 2
ESQUEMATICO: Placa de desarrollo Arduino Pro Mini
HOJA DE DATOS (datasheet): AVR atmega328p

Taller del Lenguaje de Programación C
Normas de Estilo para la programación en C
Cornell University student projects (fuente de inspiración para su proyecto final)
Diagrama de bloques AVR 8-bit

Real Time Systems - oficial FAQ
Capturando y almacenando audio con un AVR (ATMEL application note)

Cronograma:

Fecha tentativa (clase teórica)

Clase teórica - Tema

TPs y Ejercicios que se resuelven con esta clase y parte del apunte

.

.

.

1.0 Introducción a PSE2020 (APUNTE)


1.1 Desmitificando el Lenguaje de Programación C




1.1 Trabajo Práctico 0 - CONTINUACION (mastering in C)

.

.

.

2.0 Herramientas de desarrollo para sistemas embebidos (APUNTE)

2.1 Sistemas Embebidos - Procesadores

2.2 Memorias


Trabajo Práctico 1 - Toolchains

.

.

.







3. Herramientas de desarrollo: Makefiles

3.1 Arquitectura AVR. Circuito Pro Mini y atmega328p

3.2 El primer programa embebido


Trabajo Práctico 2 - esqueleto (source code)
Trabajo Práctico 2 - Enunciado

.

.

.

3.3 Dispositivos de E/S
3.4 Arquitectura de sistemas embebidos y UART: serial asincrónico

Clase driver serial asincronico UART atmega328p
Video de apoyo al apunte - serial asincronico UART atmega328p


Trabajo Práctico 3 - esqueleto (source code)
Trabajo Práctico 3 (enunciado)

.

.

.

.

4. ADC: Analog-to-Digital Converter
Video de la clase de ADC
(slides de la clase adc)


Trabajo Práctico 4 ADC (enunciado)

.

.

.

.

5. Interrupciones - Timers (Relojes)/Contadores
video de la clase
video de region crítica

Trabajo_Practico_5 - esqueleto (source code)
Trabajo_Practico_5 Timers/Interrupciones (enunciado)

.

.

.

.

6. Cargadores de arranque - GIT

.

.

.

7. Interfaces seriales I2C y SPI.

.

.

.

Usted está aquí =>

8. RT - RTOS - XINU
video rt - rtos - xinu intro1
video rt - rtos - xinu intro2
video3 xinu avr rtos - ejemplos
Codigo fuente - ejemplos (tar.gz)

.

.

.

.

.

.

.