Vous êtes sur la page 1sur 11

Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Universidad Tecnolgica Nacional


Facultad Regional Buenos Aires
Ingeniera Electrnica
Introduccin - Temario
Tcnicas Digitales II Fundamentos

Cortex M3 Generalidades
Registros
Modos de operacin
Controlador de interrupciones vectorizadas anidadas
Ing. Juan Manuel Cruz (jmcruz@hasar.com) Mapa de memoria
Profesor Asociado Ordinario Bus Interface
Unidad de proteccin de memoria
Ing. Alex Lozano (alex.tdii@gmail.com ) Set de instrucciones
Jefe de Trabajos Prcticos Ordinario Interrupciones y excepciones
Soporte de depuracin
Buenos Aires, 24 de Agosto de 2010 Resumen de caractersticas

24/08/2010 Ing. Juan Manuel Cruz 2

Fundamentos Fundamentos
Cortex-M3
Cortex M3 es un microprocesador de 32 bits Para aplicaciones complejas que requieren prestaciones adicionales del
sistema de memoria, Cortex-M3 tiene una MPU opcional, y de ser
Posee una ruta de acceso de datos de 32 bits, un banco de registros de necesario es posible utilizar memoria cach externa
32 bits e interfaz de memoria de 32 bits
Soporta ambos sistemas de memoria (little endian & big-endian)
La arquitectura del procesador es Harvard, tiene un buses separados
de instrucciones y de datos. Esto permite accesos simultneos de El procesador de Cortex-M3 incluye un nmero de componentes de
instrucciones y datos; resultando en aumentos de rendimiento de depuracin de internos fijos
procesador. Esta caracterstica se plasma
p p en varios buses interfaz,, c/u
/
optimizado para su uso y con capacidad de ser usado simultneamente Estos componentes proporcionan soporte a la operacin de depuracin
y caractersticas tales como breakpoints y watchpoints
Sin embargo, los buses de instrucciones y datos comparten el mismo
espacio de la memoria (sistema unificado de memoria). En otras Componentes opcionales proporcionan caractersticas de depuracin
palabras, usted no podr tener 8 GB de espacio de memoria slo como instruction trace as como diversos tipos de interfaces de
porque tiene interfaces de bus separadas depuracin
24/08/2010 Ing. Juan Manuel Cruz 3 24/08/2010 Ing. Juan Manuel Cruz 4

Ing. Juan Manuel Cruz 1


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Fundamentos Registros
El procesador de Cortex
Cortex-M3
M3 tiene registros de R0 a R15. R13 (stack
pointer) banqueado, con slo uno visible a la vez

R0 a R12: Registros de propsito general de 32 bits para operaciones


de datos. Algunas instrucciones de Thumb de 16-bit slo pueden tener
acceso a un subconjunto de estos registros (R0 a R7)

R13: Stack Pointer, Cortex-M3 tiene dos stack pointers R13


banqueados,
q , con slo uno visible a la vez:
Main Stack Pointer (MSP): Es el puntero a la pila predeterminado; utilizado por OS
Kernel y los manejadores de excepciones
Process Stack Pointer (PSP): Utilizados por cdigo de la aplicacin de usuario

Los dos bits menos significativos de los stack pointers siempre son 0, lo
que significa que siempre estn alineado a word (4 bytes)
24/08/2010 Ing. Juan Manuel Cruz 5 24/08/2010 Ing. Juan Manuel Cruz 6

Registros Registros
R14: Link Register, al llama a una subrutina, la direccin de retorno se
almacena en este registro

R15: Program Counter, almacena direccin de programa en ejecucin.


Se puede escribir este registro para controlar el flujo del programa

Registros especiales: Cortex-M3 adems tiene registros especiales:


Program Status Registers (PSRs)
Interrupt Mask Registers (PRIMASK, FAULTMASK, BASEPRI)
Control Register (CONTROL)

Los registros tienen funciones especiales y se pueden acceder slo por


instrucciones especiales. No se pueden utilizar para el procesamiento
de datos normal

24/08/2010 Ing. Juan Manuel Cruz 7 24/08/2010 Ing. Juan Manuel Cruz 8

Ing. Juan Manuel Cruz 2


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Modos de operacin Modos de operacin


Cortex-M3
Cortex M3 tiene dos modos de operacin y dos niveles de privilegio Cuando el procesador ejecuta el programa principal (modo Thread),
puede hacerlo en estado privilegiado o usuario, pero los manejadores
Los modos de operacin (Thread y Handler) determinan si el de excepciones slo pueden hacerlo en estado privilegiado
procesador ejecuta un programa normal o un manejador excepciones
tal como un manejador de interrupcin o de excepciones del sistema El procesador sale de Reset en modo thread con derechos de nivel
privilegiado. En este estado el programa tiene acceso al rango
Los niveles de privilegio (Privileged y User) proporcionan un completo de memoria (excepto la prohibida por la configuracin de
mecanismo para salvaguardar los accesos a regiones crticas de MPU) y puede ejecutar todas las instrucciones soportadas
memoria brindando un modelo de seguridad
g bsico
El programa ejecutando en nivel de acceso privilegiado puede cambiar
a nivel de acceso de usuario escribiendo el Control Register

Cuando una excepcin tiene lugar, el procesador vuelve al estado


privilegiado y retorna al estado anterior al salir el manejador de
excepciones
24/08/2010 Ing. Juan Manuel Cruz 9 24/08/2010 Ing. Juan Manuel Cruz 10

Modos de operacin Modos de operacin


El programa de usuario no puede cambiar al estado privilegiado La separacin de los niveles de privilegio y usuario mejora la
escribiendo el Control Register. Puede hacerlo mediante un manejador confiabilidad del sistema evitando que registros de configuracin de
de excepciones que modifique Control Register para devolver al sistema sean accedidos o cambiado por algunos programas no
procesador al nivel de acceso privilegiado retornando al modo Thread confiables

Pudiendo utilizarse los niveles de privilegios para proteger regiones de


memoria crtica tales como programas y datos del OS. Por ejemplo con
accesos privilegiados generalmente utilizados por el OS Kernel, todas
las posiciones de memoria son accesibles (excepto la prohibida por la
configuracin de MPU)

Cuando el OS inicia una aplicacin de usuario, es probable que se


ejecute en el nivel de acceso de usuario para proteger el sistema de
falla debido al fallo de programas de usuario no confiables

24/08/2010 Ing. Juan Manuel Cruz 11 24/08/2010 Ing. Juan Manuel Cruz 12

Ing. Juan Manuel Cruz 3


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Controlador de interrupciones vectorizadas anidadas Controlador de interrupciones vectorizadas anidadas

Cortex-M3
Cortex M3 incluye un controlador de interrupciones llamado Nested Cuando se produce una interrupcin, el NVIC compara la prioridad de
Vectored Interrupt Controller (NVIC), incorporado al ncleo del esta interrupcin para el nivel de prioridad de ejecucin actual. Si la
procesador y ofrece las siguientes caractersticas: prioridad de la interrupcin nueva es ms alta que el nivel actual, el
manejador de interrupcin de la interrupcin nueva anular la tarea de
Soporte de Interrupciones Anidadas ejecucin actual
Soporte de Interrupciones Vectorizadas
El NVIC soporta interrupciones vectorizadas. La direccin de inicio de la
Soporte de Cambio Dinmico de Prioridades rutina de servicio de una interrupcin (ISR) se almacena en una tabla
Reduccin de latencia de interrupcin de vectores en memoria
Enmascaramiento de Interrupciones
No es necesario utilizar software para determinar y saltar a la direccin
El NVIC soporta de interrupciones anidadas. Todas las interrupciones de inicio de la ISR, por ende se tarda menos tiempo para procesar un
externas y la mayora de las excepciones del sistema puede ser pedido de interrupcin
programada a niveles de prioridad diferentes

24/08/2010 Ing. Juan Manuel Cruz 13 24/08/2010 Ing. Juan Manuel Cruz 14

Controlador de interrupciones vectorizadas anidadas Mapa de memoria


El nivel de prioridad de una interrupcin puede cambiarse por software Cortex-M3
Cortex M3 tiene un mapa de memoria predefinido de 4 GB dividido en
en tiempo de ejecucin. La activacin de la interrupcin que estn regiones
siendo atendida se bloquea hasta haber finalizado su rutina de servicio,
pudiendo cambiar su prioridad sin riesgo de reingreso accidental Esto permite que los perifricos integrados, tales como controlador de
interrupciones y componentes de depuracin, sean accedidos con
Cortex-M3 incluye caractersticas avanzadas para reducir la latencia de simples instrucciones de acceso a memoria
interrupcin. Incluye salvado y recuperacin automtico del contenido
de algunos registros, reduciendo la demora en el cambio de una ISR a Por lo tanto, la mayora de los recursos del sistema son accesibles
otra (encadenamiento en cola) y el manejo de interrupciones de programando
p g en C
ll
llegada
d tarda
t d

Se puede enmascarar interrupciones y excepciones de sistema en El mapa de memoria predefinidas tambin permite que el procesador
funcin a su nivel de prioridad o bien por completo mediante los de Cortex-M3 ser altamente optimizado para la rpida y fcil
registros de mscara de interrupcin BASEPRI, PRIMASK y FAULTMASK integracin en diseos System-on-a-Chip (SoC)
(para garantizar que las tareas crticas para el tiempo puedan terminar
a tiempo sin que se las interrumpa)
24/08/2010 Ing. Juan Manuel Cruz 15 24/08/2010 Ing. Juan Manuel Cruz 16

Ing. Juan Manuel Cruz 4


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Mapa de memoria Mapa de memoria


Cortex-M3
Cortex M3 tiene una estructura de bus interno optimizada para el uso
de memoria

El diseo permite que estas regiones sean utiliza de forma diferente.


Por ejemplo, memoria de datos puede disponerse como regin de
cdigo y puede ejecutarse cdigo desde una regin externa de RAM

La regin de memoria System Lavel contiene el controlador de


interrupciones
p y los componentes
p de depuracin
p (en
( direcciones fijas)
j )

Al haber establecido direcciones fijas para estos perifricos, es posible


portar muy fcilmente aplicaciones entre diferentes productos Cortex-
M3 (hasta de diversos fabricantes)

24/08/2010 Ing. Juan Manuel Cruz 17 24/08/2010 Ing. Juan Manuel Cruz 18

Bus Interface Unidad de proteccin de memoria


El procesador Cortex
Cortex-M3
M3 posee varias interfaces de bus que permiten Cortex-M3
Cortex M3 tiene una unidad de proteccin de memoria opcional (MPU)
llevar simultneamente bsqueda de instrucciones y acceso a datos que permite configurar reglas para el acceso privilegiado y de usuario.
Al violar una regla de acceso se genera una excepcin de error, es
Las interfaces de bus principales son: tarea del manejador de excepciones de errores analizar el problema y
corregirlo de ser posible
Code Memory Buses: Acceso a la regin de memoria de cdigo, fsicamente consiste
en dos buses, I-Code y D-Code (optimizado en la bsqueda de instruccin para El MPU puede utilizarse de diversas formas
lograr a la mejor velocidad de ejecucin de instrucciones) Usualmente es configurada por un sistema operativo, permitiendo que los datos
utilizados por cdigo privilegiado (OS Kernel) est protegido de programas de usuario
System
y Bus: Acceso a memoria de datos y p perifricos (SRAM,
( perifricos,
p RAM no confiables
externa, dispositivos externos y a parte de la regin de memoria System Level
Tambin puede utilizarse para generar regiones de memoria de slo lectura (evitar el
borrado accidental de datos), o para aislar regiones de memoria entre diferentes
Private Peripheral Bus: Acceso a parte de la regin de memoria System Level tareas en un sistema operativo multitarea
dedicada a perifricos privados tales como componentes de depuracin
En general, puede ayudar a hacer sistemas embebidos ms robustos y confiables

La funcin MPU es opcional (a tener en cuenta al implementar el SoC)

24/08/2010 Ing. Juan Manuel Cruz 19 24/08/2010 Ing. Juan Manuel Cruz 20

Ing. Juan Manuel Cruz 5


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Set de instrucciones Set de instrucciones


El set de instrucciones de Cortex-M3
Cortex M3 admite instrucciones Thumb
Thumb-22
(una de las caractersticas ms importantes), utiliza en forma conjunta
instrucciones de 32 y 16 bits logrando alta densidad de cdigo y alta
eficiencia (flexible y potente adems de fcil de usar)

En los anteriores procesadores de ARM, la CPU tena dos estados de


operacin: ARM de 32 bits y de Thumb de 16 bits
Estado ARM: instrucciones de 32 bits, pudiendo pueden ejecutar las instrucciones
compatibles con muy alto rendimiento
Estado de Thumb: instrucciones de 16 bits, de mucho mayor densidad de cdigo, pero
con menos funcionalidad que las instrucciones ARM, pudiendo requerir muchas ms
instrucciones para completar ciertos tipos de operaciones
Para obtener lo mejor de ambos mundos muchas aplicaciones mezclan cdigos ARM y
Thumb. Aunque no siempre funciona mejor. Se produce sobrecarga (en trminos de
tiempo de ejecucin y espacio de instruccin) al alternar entre los estados, el cdigo
ARM y Thumb debe ser compilado por separado en distintos archivos. Esto aumenta la
complejidad del desarrollo de software y reduce la mxima eficiencia del ncleo

24/08/2010 Ing. Juan Manuel Cruz 21 24/08/2010 Ing. Juan Manuel Cruz 22

Set de instrucciones Set de instrucciones


Con la introduccin del set de instrucciones de Thumb-2,
Thumb 2, ahora es El procesador de Cortex
Cortex-M3
M3 tiene un nmero interesante y poderoso de
posible manejar todos los requisitos de procesamiento en un solo instrucciones. Por ejemplo:
estado de operacin (no es necesario alternar entre los dos estados) UFBX, BFI, BFC: Bit Field Extract, Insert and Clear
UDIV, SDIV: Divisin sin y con signo
Cortex-M3 no admite cdigo ARM, incluso las interrupciones se tratan SEV, WFE, WFI: Send-Event, Wait-For-Event, Wait-For-Interrupts; esto permite que
el procesador maneje la sincronizacin de tarea en sistemas multiprocesador o entrar
en el estado de Thumb (anteriormente, los manejadores de en modo Sleep
interrupciones de ncleos ARM lo hacan en el estado ARM). MSR, MRS: para acceso a los registros especiales

Las ventajas sobre los procesadores ARM tradicionales son: Es necesario portar el cdigo existente para ARM, aunque la mayora
No sobrecarga por conmutacin de estado, ahorro tanto en tiempo de ejecucin como de las aplicaciones desarrolladas en C simplemente debern ser
en espacio de instruccin recompiladas mediante nuevos compiladores que admitan Cortex-M3.
No es necesario separa el cdigo fuente en diferentes archivos Arm y Thumb,
facilitando el desarrollo de software y mantenimiento del cdigo
Es ms fcil obtener la mejor eficiencia y rendimiento, a su vez haciendo ms fcil
Mientras que algunos fuentes en assembly debern ser modificados y
escribir software, porque no hay que preocuparse conmutar de cdigo entre ARM y portados a la nueva arquitectura y ensamblador
Thumb para intentar obtener el mejor densidad/rendimiento

24/08/2010 Ing. Juan Manuel Cruz 23 24/08/2010 Ing. Juan Manuel Cruz 24

Ing. Juan Manuel Cruz 6


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Set de instrucciones Interrupciones y excepciones


Tenga en cuenta que no todas las instrucciones del set de instrucciones Cortex-M3
Cortex M3 implementa un nuevo modelo de excepcin (introducido en
Thumb-2 se implementan en la Cortex-M3 la arquitectura ARMv7-M), que difiere del modelo tradicional de
excepcin ARM, permitiendo un muy eficiente manejo de las mismas
El ARMv7-M Architecture Application Level Reference Manual (Ref 2)
slo requiere un subset de las instrucciones Thumb-2 para ser Posee excepciones de sistema e IRQs externas (entradas de
implementada. Por ejemplo, las instrucciones del coprocesador no son interrupcin externa) y no posee FIQ (interrupcin rpida en
compatibles en el Cortex-M3 (se pueden agregar motores de ARM7/9/10/11)
procesamiento de datos externos), tampoco SIMD est implementada
Soporta
p manejo
j de prioridades
p y anidamiento de interrupciones
p (una
(
Adems, algunas instrucciones de Thumb no son compatibles, como interrupcin de mayor prioridad puede quitarle el control de la CPU a
por ejemplo BLX inmediato (utilizada para cambiar el estado del una de menor prioridad, como FIQ en ARM tradicionales)
procesador de Thumb a ARM), un par de instrucciones de la CPS y las
instrucciones de SETEND introducidas en la arquitectura v6. Para una Las caractersticas de la interrupcin en el Cortex-M3 se implementan
lista completa de instrucciones compatibles, consulte el Cortex-M3 en el NVIC. Entre las fuentes de excepcin interna est la de manejo
Technical Reference Manual (Ref 1) de fallas del sistema
24/08/2010 Ing. Juan Manuel Cruz 25 24/08/2010 Ing. Juan Manuel Cruz 26

Interrupciones y excepciones Interrupciones y excepciones


El nmero de entradas de interrupcin externa es definido por los
fabricantes de chips

Admite un mximo de 240 entradas de interrupcin externa

Adems, el Cortex-M3 tambin tiene una entrada de interrupcin NMI.


(cuando se activa la rutina de servicio de interrupcin NMI es ejecutada
incondicionalmente)

24/08/2010 Ing. Juan Manuel Cruz 27 24/08/2010 Ing. Juan Manuel Cruz 28

Ing. Juan Manuel Cruz 7


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Soporte de depuracin Soporte de depuracin


Cortex M3 incluye incorpora prestaciones de depuracin, tales como
Cortex-M3 El control del DAP es llevado a cabo por un dispositivo Debug Port
controles de ejecucin del programa, incluyendo detencin y avance (DP), actualmente disponibles:
paso a paso, breakpoints, watchpoints de datos, acceso a registros y a SWJ-DP (admite el protocolo JTAG tradicional, as como el Protocolo Serial Wire)
memoria, profiling y traces SW-DP (slo compatible con el Protocolo Serial Wire)

El hardware de depuracin del procesador Cortex-M3 se basa en la Tambin se puede utilizar un mdulo de JTAG-DP de la familia de
arquitectura de CoreSight productos de CoreSight ARM. Los fabricantes de chips pueden elegir
adjuntar uno de estos mdulos de DP como interfaz de depuracin
A diferencia de los procesadores ARM tradicionales,
tradicionales el ncleo por s
mismo no tiene una interfaz JTAG). En su lugar, un mdulo de interfaz Los fabricantes de chips tambin pueden incluir un Embedded Trace
de depuracin se desacopla del ncleo, y se proporciona una interfaz Macrocell (ETM) que permite el trace de instrucciones. La informacin
de bus llamada Debug Access Port (DAP) a nivel el core. A travs de de seguimiento es sacada a travs de la Trace Port Interface Unit
esta interfaz de bus, depuradores externos pueden tener acceso a (TPIU) y el host de depuracin (generalmente una PC) puede colectar
registros de control para depurar el hardware as como sistema de la informacin de la instruccin ejecutada mediante hardware externo
memoria, incluso cuando el procesador est ejecutando
24/08/2010 Ing. Juan Manuel Cruz 29 24/08/2010 Ing. Juan Manuel Cruz 30

Soporte de depuracin Soporte de depuracin


Dentro del procesador de Cortex-M3
Cortex M3 puede utilizarse algunos eventos Tambin proporciona una unidad Flash Patch and Breakpoint (FPB) que
para activar acciones de depuracin, tales como breakpoints, puede proporcionar un simple breakpoint o reasignar un acceso de
watchpoints, condiciones de falla, seales de entrada externas de instruccin desde Flash a una ubicacin diferente en SRAM
solicitud de depuracin. Estos eventos puede conducir al modo Halt o
ejecutar el manejador de excepcin monitor de depuracin Un Instrumentation Trace Macrocell (ITM) ofrece una nueva forma de
salida de datos de depuracin (mediante la escritura de datos en
La funcin watchpoint de datos es proporcionada por la unidad Data registros de la memoria del ITM, el depurador puede recopilar datos
Watchpoint and Trace (DWT). Puede ser usado para detener el va una interfaz de trace, mostrarlo o procesarlo (fcil de usar y ms
procesador (o disparar la rutina de excepcin monitor de depuracin) o rpido que JTAG)
para generar informacin de seguimiento de datos va TPIU. (En la
arquitectura de CoreSight, varios dispositivos de seguimiento pueden Todos estos componentes de depuracin se controlan mediante la
compartir un nico puerto de seguimiento) interfaz DAP de Cortex-M3 o por un programa que se ejecuta en el
ncleo del procesador y toda la informacin de trace es accesible
desde la TPIU

24/08/2010 Ing. Juan Manuel Cruz 31 24/08/2010 Ing. Juan Manuel Cruz 32

Ing. Juan Manuel Cruz 8


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Resumen de caractersticas Resumen de caractersticas


Por qu es el procesador de Cortex-M3
Cortex M3 un producto tan La bsqueda de instruccin es de 32 bits. Pueden recuperarse de hasta dos
instrucciones en un ciclo. Como resultado, hay disponible ms ancho de banda para la
revolucionario? Cules son las ventajas de utilizar el Cortex-M3? transferencia de datos
El diseo del Cortex-M3 permite implementar microcontroladores para operar a alta
Alto rendimiento frecuencia de reloj (ms de 100 MHz en procesos de fabricacin moderna de
semiconductores). Incluso ejecutando a la misma frecuencia que la mayora de los
Muchas instrucciones, incluyendo la multiplicacin, son de un solo ciclo. El procesador otros microcontroladores Cortex-M3 tiene un reloj mejor por la relacin reloj por
Cortex-M3 supera en rendimiento a la mayora de los microcontroladores instruccin (CPI). Esto permite ms trabajo por MHz, o diseos que pueden ejecutar a
Buses de datos y la instruccin independientes permiten realizar accesos simultneos a menor frecuencia de reloj con menor consumo de energa
datos y a cdigo
Set de instrucciones Thumb-2 hace historia la sobrecarga
g por
p conmutacin de estado. Funciones avanzadas de manejo
j de interrupcin
p
No es necesario cambiar entre estados ARM (32-bit) y Thumb (16 bits), por lo que se La unidad integrada Nested Vectored Interrupt Controller (NVIC) soporta hasta 240 de
reducen los ciclos de instruccin y el tamao del programa. Esta caracterstica tambin interrupcin externa de entradas. La funcin interrupcin vectorizada reduce
simplifica el desarrollo de software, permitiendo un menor tiempo de salida al mercado enormemente la latencia de interrupcin debido a que no es necesario utilizar software
y ms fcil de mantenimiento de cdigo para determinar qu manejador de IRQ debe atenderla. No es necesario agregar
Set de instrucciones Thumb-2 proporciona flexibilidad adicional en la programacin. cdigo para soportar el anidamiento de interrupciones
Ahora se pueden simplificar muchas de las operaciones de datos mediante cdigo ms
corto. Cortex-M3 brinda mayor densidad de cdigo y reduce los requisitos de memoria

24/08/2010 Ing. Juan Manuel Cruz 33 24/08/2010 Ing. Juan Manuel Cruz 34

Resumen de caractersticas Resumen de caractersticas


El procesador Cortex-M3 automticamente resguarda los registros R0R3, R12, LR, Soporta el modo de ahorro de energa (SLEEPING y SLEEPDEEP). El procesador puede
PSR y PC en la pila al atender una interrupcin y los recupera al salir. Esto reduce la entrar en modo de dormir con espera de interrupcin (WFI) o de evento (WFE). El
latencia del manejador de IRQ y permite que los manejadores de interrupcin sean diseo posee relojes separados para bloques esenciales, por lo que los circuitos
funciones normales de C sincrnicos de la mayora de las partes del procesador se puede detener en SLEEP
El de interrupciones es extremadamente flexible pues el NVIC puede programar la El diseo completamente esttico, sincrnico, sintetizable hace del procesador fcil de
prioridad de interrupcin individualmente. Soportando como mnimo ocho niveles de ser fabricado utilizando cualquier tecnologa de proceso de semiconductores estndar
prioridad, que se puede cambiar dinmicamente o de menor consumo de energa
La latencia de interrupcin es reducida por la optimizacin especial, incluyendo la
aceptacin de interrupcin de llegada tarda y la entrada de interrupcin en tail-chain
Caractersticas del sistema
Algunas de las operaciones multicycle, incluyendo Load-Multiple (LDM), Store-Multiple
El sistema proporciona operacin bit-band, modo big-endian byte-invariante y soporte
(STM), PUSH y POP, ahora son interrumpibles
el acceso a datos no alineados
En la recepcin de una Nonmaskable Interrupt (NMI), est garantizada la ejecucin
Caractersticas avanzadas de manejo de fallas incluyen diversos tipos de excepcin y
inmediata del manejador de NMI a menos que el sistema es completamente lockeado.
los registros de estado de error, hacindo ms fcil localizar problemas
NMI es muy importante para muchas aplicaciones de seguridad crtica
Punteros a la pila ocultos permiten aislar la pila de procesos del kernel y de usuario.
Con el MPU opcional, el procesador es ms que suficiente para desarrollar software
Bajo consumo de energa robusto y productos confiables
El procesador Cortex-M3 es adecuado para diseos de bajo consumo de energa
debido al recuento de baja de la puerta

24/08/2010 Ing. Juan Manuel Cruz 35 24/08/2010 Ing. Juan Manuel Cruz 36

Ing. Juan Manuel Cruz 9


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Resumen de caractersticas Alguna imgenes de Cortex-M3


Soporte de Depuracin
Soporta JTAG o interfaces de depuracin Serial Wire
Basado en la solucin de depuracin CoreSight; se puede acceder al contenido de
memoria o estado del procesador incluso cuando el ncleo est ejecutando
Soporte integrado para seis breakpoints y de cuatro watchpoints
ETM opcional para el trace de instruccin y de datos utilizando DWT
Nuevas prestaciones de depuracin, incluyendo registros de estado de errores, nuevas
excepciones de fallas y operacin Flash patch, hacen mucho ms fcil la depuracin
ITM proporciona un mtodo fcil de usar para salida de informacin de depuracin del
cdigo de prueba
Muestreadores de PC y contadores dentro de la DWT proporcionan la informacin de
perfiles del cdigo

24/08/2010 Ing. Juan Manuel Cruz 37 24/08/2010 Ing. Juan Manuel Cruz 38

Alguna imgenes de Cortex-M3 Alguna imgenes de Cortex-M3

24/08/2010 Ing. Juan Manuel Cruz 39 24/08/2010 Ing. Juan Manuel Cruz 40

Ing. Juan Manuel Cruz 10


Tcnicas Digitales II - R4052 - Cortex M3 - Introduccin - 2010 5 de Agosto de 2010

Alguna imgenes de Cortex-M3 Alguna imgenes de Cortex-M3

24/08/2010 Ing. Juan Manuel Cruz 41 24/08/2010 Ing. Juan Manuel Cruz 42

Referencias Referencias
The Definitive Guide to the ARM Cortex-M3 - Joseph Yiu
ARM Cortex
Cortex-M3
M3 Processor Software Development for ARM7TDMI
C
Cortex-M3,3 Revision r2p0,
2 0 Technical
h l Reference
f Manuall ARM Processor Programmers - Joseph Yiu and Andrew Frame
ARMv7-M Architecture, Reference Manual ARM ARM Cortex: M3 Challenges the Economics of 8-bit Microcontrollers -
ARM Core, Cortex-M3 / Cortex-M3 with ETM (AT420/AT425), Errata J. Scott Gardner
Notice (PR326-PRDC-009450 v2.0) ARM Migrating to Cortex-M Processors Leon Chen
Application Note 179, Cortex-M3 Embedded Software Development - Cortex-M3 Debug & Optimization - Alex Growcoot
ARM
How Software and Hardware Can Cooperate To Manage Power
ARM Processors ARM Consumption - John Carbone & Bob Boys
ARM Cortex-M ARM Moving to the ARM Cortex-M3 from 8-Bit Applications - Wendell
ARM Cortex-M3 ARM Smith
ARM System Developers Guide, Design and Optimizing System Getting started with CMSIS Doulos
Software AN Sloss, D. Symes, C. Wright

An Introduction to the ARM Cortex-M3 Processor - Shyam Sadasivan Tong, Anderson, Khalid, Soft-Core Processors for Embedded Systems,
NXP Microcontrollers, Getting Started with Cortex - YoshinoriKanno 2006
Advantages of the Cortex-M3 - Brian Nagel International Conference on Microelectronics, pp. 170173, 2006
24/08/2010 Ing. Juan Manuel Cruz 43 24/08/2010 Ing. Juan Manuel Cruz 44

Ing. Juan Manuel Cruz 11

Vous aimerez peut-être aussi