Diferencia entre revisiones de «Embedded Sytems»

De Proyectos
Ir a la navegación Ir a la búsqueda
Sin resumen de edición
Sin resumen de edición
 
(No se muestran 55 ediciones intermedias del mismo usuario)
Línea 1: Línea 1:
Embedded Systems<br/>
[[C2 - Conceptos Fundamentales]]<br/>
[[C4 - Lógica Digital]]<br/>
[[C5 - Introducción a C]]<br/>
[[C6 - Microcontroller Ports]]<br/>
[[C7 - Design and Development Process]]<br>
[[C10 - Finite State Machine]]<br>
[[C11 - UART: The serial interface]]<br>
[[C12 - Interrupts]]<br>
<br/>
Información Complementaria<br/>
Información Complementaria<br/>
<br/>
<br/>
Línea 4: Línea 15:
<br/>
<br/>
[http://www.utm.mx/~fsantiag/Micros.htm http://www.utm.mx/~fsantiag/Micros.htm]<br/>
[http://www.utm.mx/~fsantiag/Micros.htm http://www.utm.mx/~fsantiag/Micros.htm]<br/>
<br/>
[[File: arm_cortex_m.gif]]<br/>
Imagen Cortex-M ARM (CPU, Memoria, Perifericos, ...)<br/>
<br/>
*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
<br/>
<br/>
Imagen CPU Cortex-M4 ARM<br/>
Imagen CPU Cortex-M4 ARM<br/>
Línea 29: Línea 33:
*Decodificación
*Decodificación
*Ejecució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
<br/>
<br/>
Tema 2<br/>
<br/>
Memoria microcontroladores<br/>
<br/>
[http://es.wikipedia.org/wiki/Microcontrolador#Memoria Tipos de memoria]<br/>
[http://es.wikipedia.org/wiki/SRAM Memoria RAM (SRAM)]<br/>
[http://es.wikipedia.org/wiki/EEPROM Memoria ROM (EEPROM)]<br/>
[http://es.wikipedia.org/wiki/Memoria_flash Memoria ROM (Flash)]<br/>
<br/>
Tipos de I/O:<br/>
*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
<br/>
<br/>
ISA (Instruction Set Architecture)<br/>
<br/>
Registros ARM ISA<br/>
R1...R12 - General Purpose Registers<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/>
R15 - Program Counter (Almacena la dirección de la siguiente instrucción a ejecutar)<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). N resultado negativo, Z resultado es 0, V overflow signed numbers y C overflow unseigned numbers<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
*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).
<br/>
There are three status registers named Application Program Status Register (APSR), the Interrupt Program Status Register (IPSR), and the Execution Program Status Register (EPSR) as shown in Figure 2.13. These registers can be accessed individually or in combination as the Program Status Register (PSR). The N, Z, V, C, and Q bits give information about the result of a previous ALU operation. In general, the N bit is set after an arithmetical or logical operation signifying whether or not the result is negative. Similarly, the Z bit is set if the result is zero. The C bit means carry and is set on an unsigned overflow, and the V bit signifies signed overflow.  The Q bit indicates that “saturation” has occurred – while you might want to look it up, saturated arithmetic is beyond the scope of this class.
<br/>
Assembly language instrucctions<br/>
Label - Opcode - Operand - Comment<br/>
FUNC - MOV - R0,#100 ; Pone 100 en R0<br/>
<br/>
*Label field:
*Opcode field:
*Operand field:
*Comment ifeld:
<br/>
<br/>
Las instrucciones se pueden clasificar en 4 categorias:
*Acceso a la memoria
*Instrucciones aritméticas y lógicas
*Instrucciones de control
*Resto de instrucciones
<br/>
<br/>
<br/>
Memory Map Layout<br/>
*ROM/Flash
*RAM
*I/O Ports
*Internal I/O<br/>
<br/>
<br/>
Recursos
*https://www.smashwords.com/books/view/302372 - Libro en castellano de desarrollo en ARM M3 de Sergio R. Caprile
*http://www.sase.com.ar/2012/files/2012/09/Pres_ARMando.pdf - Presentacion pdf resumen arm de Sergio R. Caprile
*http://mymoviestorrent.com/e-books/90968-the-designers-guide-to-the-cortex-m-processor-family-a-tutorial-approach.html - The Designer's Guide to the Cortex-M Processor Family - A Tutorial Approach -
*http://users.ece.utexas.edu/~valvano/embed/toc1.htm - Aprendizaje C para ARM de J.Valvano
*http://www.forosdeelectronica.com/f24/empezar-microcontroladores-arm-55856/index2.html - Discusion sobre ARM. Interesante, hablan de placas de desarrollo y de las diferentes marcas que hacen ARM
*https://www.youtube.com/user/valenciaupv/search?query=arm - Canal youtube de Universidad Politecnica Valencia

Revisión actual - 19:41 6 abr 2015

Embedded Systems
C2 - Conceptos Fundamentales
C4 - Lógica Digital
C5 - Introducción a C
C6 - Microcontroller Ports
C7 - Design and Development Process
C10 - Finite State Machine
C11 - UART: The serial interface
C12 - Interrupts

Información Complementaria

Recursos

http://www.utm.mx/~fsantiag/Micros.htm

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



Recursos