Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
24/08/2010 Ing. Juan Manuel Cruz 7 24/08/2010 Ing. Juan Manuel Cruz 8
24/08/2010 Ing. Juan Manuel Cruz 11 24/08/2010 Ing. Juan Manuel Cruz 12
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
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
24/08/2010 Ing. Juan Manuel Cruz 17 24/08/2010 Ing. Juan Manuel Cruz 18
24/08/2010 Ing. Juan Manuel Cruz 19 24/08/2010 Ing. Juan Manuel Cruz 20
24/08/2010 Ing. Juan Manuel Cruz 21 24/08/2010 Ing. Juan Manuel Cruz 22
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
24/08/2010 Ing. Juan Manuel Cruz 27 24/08/2010 Ing. Juan Manuel Cruz 28
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
24/08/2010 Ing. Juan Manuel Cruz 31 24/08/2010 Ing. Juan Manuel Cruz 32
24/08/2010 Ing. Juan Manuel Cruz 33 24/08/2010 Ing. Juan Manuel Cruz 34
24/08/2010 Ing. Juan Manuel Cruz 35 24/08/2010 Ing. Juan Manuel Cruz 36
24/08/2010 Ing. Juan Manuel Cruz 37 24/08/2010 Ing. Juan Manuel Cruz 38
24/08/2010 Ing. Juan Manuel Cruz 39 24/08/2010 Ing. Juan Manuel Cruz 40
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