Fisica y matemática
Herramientas para Cortex
CMSIS
Cortex Microcontroller Software
Interface Standard
Cortex - Parte 2
1
Requerimientos
2
Respuesta - CMSIS
•Mejorar la portabilidad y la reutilización del software.
•Permitirle a los proveedores de soluciones de software desarrollar
productos que se pueden trabajar de forma integrada con las
bibliotecas de dispositivos dediversos proveedores de silicio.
•Permitirle a los desarrolladores escribir software más rápidamente
por medio de una interfaz de programación estandarizada fácil de
utilizar.
•Facilitar que un mismo programa embebido pueda ser empleado en
múltiples compiladores.
•Evitar problemas de compatibilidad cuando se emplean soluciones
de software de múltiples fuentes.
Cortex - Parte 2
Cortex -Parte 2
3
•Cortex Microcontroller Software Interface Standard (CMSIS) es una
capa de abstracción de hardware independiente del proveedor para los
procesadores M0 y M3 utilizando APIs (Application Programming
Interface) comunes entre todos.
•Es soportada por un importante conjunto de empresas
Cortex - Parte 2
4
1
10/07/2012
CMSIS
CMSIS
El procesador ARM Cortex-M3 es elprimer núcleo de ARM
específicamente diseñado para el mercado general de los
microcontroladores
Este núcleo incluye muchas características comunes
(idénticos
NVIC,
Timer,
Depurador-del-hardware)
compartidos por todos los integrantes de la familia,
cualquiera sea su fabricante.
Estas características comunes permitirán que los
desarrolladores migren y reusen software (por ejemplo unsistema operativo en tiempo real) con mucho menos
esfuerzo entre distintos fabricantes de microcontroladores
Cortex-M3.
Cortex - Parte 2
5
Organización CMSIS
•El CMSIS provee de funciones para acceder a registros del
núcleo y de los periféricos.
•El CMSIS permite interfaces de software simples y coherentes
para el uso de los periféricos, para los RTOS y para el
middleware.
•Simplificala reutilización de programas (aún cambiando de
componente y de compilador) y la reducción de la curva de
aprendizaje para los desarrolladores de microcontroladores,
reduciendo el tiempo de salida al mercado de nuevos sistemas.
•El programador podrá escribir su código SIN CONOCER EN
DETALLE EL HARDWARE SOBRE EL QUE SE EJECUTARÁ.
•También permite la mezcla en la utilización de rutinasprovistas
por varios fabricantes
Cortex - Parte 2
6
CMSIS - CPAL
•Como parte del CMSIS ARM provee el Core
Peripheral Access Layer que contiene definiciones de
los nombres, de las direcciones y funciones para
acceder a los registros de núcleo y periféricos y se
busca la uniformidad de designaciones y direcciones
cualquiera sea el fabricante y componente.
•También provee una interfaz parael kernel de los
Sistemas Operativos en Tiempo Real.
•Esta capa de abstracción esta disponible para varias
implementaciones de compiladores.
Cortex - Parte 2
7
Cortex - Parte 2
8
2
10/07/2012
CMSIS - CPAL
CMSIS - CPAL
También se provee:
•Uniformidad en la designación de los registros de los
periféricos
•Definición de los vectores para todas las excepciones einterrupciones.
•Funciones para acceder a los registros del núcleo así
como para acceder a los periféricos del mismo.
•Interfaz independiente del dispositivo para los kernels
de los RTOS.
•Canal de depuración (estilo printf + kernel del RTOS)
•Las funciones del CPAL son reentrantes y pueden ser llamadas
desde diferentes rutinas de atención de interrupción
•No pueden bloquearse pues nocontienen lazos de espera.
•La mayoría de las funciones de CPAL se hallan contenidas en
core_cm3.h como funciones estáticas inline. Ésto permite que el
compilador optimice las llamadas a función
Cortex - Parte 2
Access Functions for Peripherals (opcional): provee funciones de
ayuda adicionales para periféricos
9
Cortex - Parte 2
10
CMSIS - MPAL
CMSIS - MPAL
•CMSIS también...
Regístrate para leer el documento completo.