Sistemas empotrados en tiempo real
Una introducción basada en FreeRTOS y en el microcontrolador ColdFire MCF5282
José Daniel Muñoz Frías
V
VI
©J OSÉ D ANIEL M UÑOZ F RÍAS . Esta obra está bajo una licencia Reconocimiento – No comercial – Compartir bajo la misma licencia 2.5 España de Creative Commons. Para ver una copia de esta licencia, visitehttp://creativecommons.org/licenses/by-ncsa/2.5/es/ o envíe una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California 94105, USA. Usted es libre de: copiar, distribuir y comunicar públicamente la obra. hacer obras derivadas. Bajo las condiciones siguientes: Reconocimiento. Debe reconocer los créditos de la obra de la manera especificada por el autor o el licenciador (pero no de una manera que sugiera quetiene su apoyo o apoyan el uso que hace de su obra). No comercial. No puede utilizar esta obra para fines comerciales. Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Algunade estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor Nada en esta licencia menoscaba o restringe los derechos morales del autor. ISBN: 978-84-612-9902-7 Primera edición. Febrero 2009.
VII
A Manuela.
Índice general
Índice general Prólogo 1 Introducción 1.1. Motivación . . . . . . . . . . . . . . . . . . . . . . . 1.2. Definición desistema en tiempo real . . . . . . . . 1.3. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Métodos para implantar un sistema en tiempo real 1.5. Procesamiento secuencial . . . . . . . . . . . . . . . 1.6. Sistemas Foreground/Background . . . . . . . . . . 1.7. Sistemas operativos en tiempo real . . . . . . . . . 1.8. Hardware . . . . . . . . . . . . . . . . . . . . . . . . 1.9.Ejercicios . . . . . . . . . . . . . . . . . . . . . . . .
IX XI
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
1 1 4 4 6 7 17 23 27 30 33 33 36 38 46 48 49 51 55 55 55 60 73 80 83 83 84
2 Lenguaje C para programación en bajo nivel 2.1. Tipos de datos enteros . . . . . . . . . . . . . . . . . . . . 2.2. Conversiones de tipos . . . . . . .. . . . . . . . . . . . . . 2.3. Manipulación de bits . . . . . . . . . . . . . . . . . . . . . 2.4. Acceso a registros de configuración del microcontrolador 2.5. Uniones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.6. Extensiones del lenguaje . . . . . . . . . . . . . . . . . . . 2.7. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 SistemasForeground/Background 3.1. Introducción . . . . . . . . . . . . . . . 3.2. Soporte de interrupciones en ColdFire 3.3. Datos compartidos . . . . . . . . . . . . 3.4. Planificación . . . . . . . . . . . . . . . 3.5. Ejercicios . . . . . . . . . . . . . . . . .
. . . . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .. . . . .
4 Sistemas operativos en tiempo real 4.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2. Tareas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IX
X
Í NDICE GENERAL
4.3. 4.4. 4.5. 4.6. 4.7. 4.8.
El planificador . . . . . . . . . . . . . . . . . . . . . Tareas y datos . . . . . . . . . . . . . . . . . . . . . Semáforos . . . . . . .. . . . . . . . . . . . . . . . . Métodos para proteger recursos compartidos . . . Colas para comunicar tareas . . . . . . . . . . . . . Rutinas de atención a interrupción en los sistemas vos en tiempo real . . . . . . . . . . . . . . . . . . . 4.9. Gestión de tiempo . . . . . . . . . . . . . . . . . . . 4.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . A API de FreeRTOS A.1....
Regístrate para leer el documento completo.