AVR
http://crysol.org/es/node/333
http://arduino.cc/forum/index.php?topic=76191.0;wap2
http://www.cesarcancino.com/video-tutorial-1-del-curso-de-programacion-de-microcontroladores-atmel-avr-en-lenguaje-c-n303.html
http://imakeprojects.com/Projects/avr-tutorial/
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=70673
https://www.sparkfun.com/tutorials/57 - tutoriales de microcontroladores en ingles
Información Complementaria
Recursos
http://www.utm.mx/~fsantiag/Micros.htm

Imagen Cortex-M ARM (CPU, Memoria, Perifericos, ...)
Imagen CPU Cortex-M4 ARM
Imagen Memoria Cortex-M4 ARM
Tipos CPU:
- CISC (Complex Instruction Set Computers)
- Hardware complejo y un bajo rendimiento
- Demasiadas instrucciones con diferentes tamaños y formatos, que pueden ocupar varios bytes
- RISC (Reduced Instruction Set Computers)
- Hardware es simple y resuelve pocas instrucciones. Alto rendimiento.
- Pocas instrucciones y generalmente del mismo tamaño
Tareas CPU (FALTA MAS INFO):
- Atrapar la instrucción
- Decodificación
- Ejecución
Tipos de memoria:
- Memoria de Código
- Es en la que se almacena el programa
- Es no volátil
- Es la comunmente llamada ROM, y la tecnologia flash es una de las utilizadas para almacenar la ROM
- La memoria flash se borra mediante impulsos eléctricos. Es una sucesora de la EEPROM
- Memoria de Datos
- Es la que almacena las variables del programa
- Es volátil
- Es la comunmente llamada RAM. La tecnologia que se utiliza para los microcontroladores es la SRAM
- También nos podemos encontrar con microcontroladores que ademas tienen memoria EEPROM para guardar datos cuando se corta la electricidad
Sistema de memoria:
- Arquitectura Von Neumann
- La Memoria de Código y la de Datos comparten el Bus hacia la CPU
- Arquitectura Harvard
- Hay un bus para la Memoria de Código y otro bus para la Memori de datos
Tema 2
Memoria microcontroladores
Tipos de memoria
Memoria RAM (SRAM)
Memoria ROM (EEPROM)
Memoria ROM (Flash)
ISA (Instruction Set Architecture)
Registros ARM ISA
R1...R12 - General Purpose Registers
R13 - Stack Points (Almacena la dirección del elemento top de la pila)
R14 - Link Register (Almacena la dirección devuelta por las subrutinas)
R15 - Program Counter (Almacena la dirección de la siguiente instrucción a ejecutar)
PSR - Process Status Register - Es otro registro que en 4 bits almacena el estado del sistema después de una operación de la ALU (N Z V C). N resultado negativo, Z resultado es 0, V overflow signed numbers y C overflow unseigned numbers
Assembly language instrucctions
Label - Opcode - Operand - Comment
FUNC - MOV - R0,#100 ; Pone 100 en R0
- Label field:
- Opcode field:
- Operand field:
- Comment ifeld:
Las instrucciones se pueden clasificar en 4 categorias:
- Acceso a la memoria
- Instrucciones aritméticas y lógicas
- Instrucciones de control
- Resto de instrucciones
Memory Map Layout
- ROM/Flash
- RAM
- I/O Ports
- Internal I/O