Diferencia entre revisiones de «Embedded Sytems»
Sin resumen de edición |
Sin resumen de edición |
||
| Línea 47: | Línea 47: | ||
<br/> | <br/> | ||
<br/> | <br/> | ||
Tema 2<br/> | <b>Tema 2</b><br/> | ||
<br/> | <br/> | ||
Memoria microcontroladores<br/> | <b>Memoria microcontroladores</b><br/> | ||
<br/> | <br/> | ||
[http://es.wikipedia.org/wiki/Microcontrolador#Memoria Tipos de memoria]<br/> | [http://es.wikipedia.org/wiki/Microcontrolador#Memoria Tipos de memoria]<br/> | ||
| Línea 56: | Línea 56: | ||
[http://es.wikipedia.org/wiki/Memoria_flash Memoria ROM (Flash)]<br/> | [http://es.wikipedia.org/wiki/Memoria_flash Memoria ROM (Flash)]<br/> | ||
<br/> | <br/> | ||
Tipos de I/O | <b>Tipos de I/O</b><br/> | ||
*Parallel - binary data are available simultaneously on a group of lines | *Parallel - binary data are available simultaneously on a group of lines | ||
*Serial - binary data are available one bit at a time on a single line | *Serial - binary data are available one bit at a time on a single line | ||
| Línea 63: | Línea 63: | ||
<br/> | <br/> | ||
<br/> | <br/> | ||
ISA (Instruction Set Architecture)<br/> | <b>ISA (Instruction Set Architecture)</b><br/> | ||
<br/> | <br/> | ||
Registros ARM ISA<br/> | <b>Registros ARM ISA</b><br/> | ||
R1...R12 - General Purpose Registers<br/> | R1...R12 - General Purpose Registers<br/> | ||
R13 - Stack Points (Almacena la dirección del elemento top de la pila)<br/> | R13 - Stack Points (Almacena la dirección del elemento top de la pila)<br/> | ||
R14 - Link Register (Almacena la dirección devuelta por las subrutinas)<br/> | R14 - Link Register (Almacena la dirección devuelta por las subrutinas)<br/> | ||
R15 - Program Counter (Almacena la dirección de la siguiente instrucción a ejecutar)<br/> | R15 - Program Counter (Almacena la dirección de la siguiente instrucción a ejecutar)<br/> | ||
<br/> | <br/> | ||
*AAPCS (ARM Architecture Procedure Call Satandard) (parte de la ABI (ARM Application Binary Interface)) utiliza los registros R0, R1, R2 y R3 para pasar parámetros a las funciones de C | *AAPCS (ARM Architecture Procedure Call Satandard) (parte de la ABI (ARM Application Binary Interface)) utiliza los registros R0, R1, R2 y R3 para pasar parámetros a las funciones de C | ||
| Línea 76: | Línea 75: | ||
*In this class, the SP will always be the main stack pointer (MSP), not the Process Stack Pointer (PSP). | *In this class, the SP will always be the main stack pointer (MSP), not the Process Stack Pointer (PSP). | ||
<br/> | <br/> | ||
*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). | |||
*APSR, IPSR y EPSR son tres registros de estado que se pueden acceder individualmente o combinados con el PSR | |||
*Los bits N, Z, V, C y Q nos dan información sobre el resultado de la anterior operación de la ALU | |||
**N resultado negativo | |||
**Z resultado es 0 | |||
**V overflow signed numbers | |||
**C overflow unseigned numbers | |||
**Q indica que ha habido una saturacion | |||
<br/> | <br/> | ||
Assembly language instrucctions<br/> | [[File special_registers.gif]]<br/> | ||
<br/> | |||
The program status register del procesador ARM® Cortex-M<br/> | |||
<br/> | |||
<br/> | |||
<b>Assembly language instrucctions</b><br/> | |||
Label - Opcode - Operand - Comment<br/> | Label - Opcode - Operand - Comment<br/> | ||
FUNC - MOV - R0,#100 ; Pone 100 en R0<br/> | FUNC - MOV - R0,#100 ; Pone 100 en R0<br/> | ||
Revisión del 08:41 3 jun 2014
Información Complementaria
Recursos
http://www.utm.mx/~fsantiag/Micros.htm

Imagen Cortex-M ARM (CPU, Memoria, Perifericos, ...)
- Arquitectura Harvard. ICode bus conecta con la ROM y System bus conecta con la RAM
- NVIC se encarga d elas interrupciones
- Algunos perifericos internos se conectan directamente con el procesador por el bus PPB
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)
Tipos de I/O
- Parallel - binary data are available simultaneously on a group of lines
- Serial - binary data are available one bit at a time on a single line
- Analog - data are encoded as an electrical voltage, current, or power
- Time - data are encoded as a period, frequency, pulse width, or phase shift
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)
- AAPCS (ARM Architecture Procedure Call Satandard) (parte de la ABI (ARM Application Binary Interface)) utiliza los registros R0, R1, R2 y R3 para pasar parámetros a las funciones de C
- Los parámetros que devuelven las funciones se colocan en el R0 según el AAPCS
- In this class, the SP will always be the main stack pointer (MSP), not the Process Stack Pointer (PSP).
- 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).
- APSR, IPSR y EPSR son tres registros de estado que se pueden acceder individualmente o combinados con el PSR
- Los bits N, Z, V, C y Q nos dan información sobre el resultado de la anterior operación de la ALU
- N resultado negativo
- Z resultado es 0
- V overflow signed numbers
- C overflow unseigned numbers
- Q indica que ha habido una saturacion
File special_registers.gif
The program status register del procesador ARM® Cortex-M
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