Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

/*update_task_status: изменить состояние конкретной задачи      */

/*в соответствии с допустимым переходом (рис. 8.14)             */

/****************************************************************/

void update_task_status(unsigned char task, char task_status) {

 //установить состояние задачи на выходе порта T

 switch(task_status) {

 case 'D': //бездействие (D)

  PORTT = 0x01;

  break;

 case 'R': //готовность (R)

  PORTT = 0x02;

  break;

 case 'A': //активность (A)

  PORTT = 0x04;

  break;

 case'W': //ожидание (W)

  PORTT = 0x08;

  break;

 case 'S': // приостановка(S)

  PORTT = 0x10;

  break;

 case 'X': //восстановление (X)

  PORTT = 0x20;

  break;

 }

 PORTA = task & 0x7F; /*выбор задачи, активизируйте декодер */

 PORTA = 0xFF /*Высокоомный выход (Hi-Z) декодера */

}

/****************************************************************/

/****************************************************************/

8.11.Заключение по главе 8

В этой главе мы познакомили вас с концепциями операционных систем реального времени. Мы не хотели выбирать конкретные ОСРВ и затем рассматривать их работу. Вместо этого, мы сосредоточились на концепциях, связанных с самими ОСРВ и на ключевых вопросах их применения. Мы рассмотрели терминологию ОСРВ, структуры данных, алгоритмы планирования и затруднения, встречающиеся при разработке этих систем.

8.12. Что еще почитать? 

1. Barrett S. F, D. J. Pack, С Straley, L. Sircin, and G. Janack. «Real-Time Operating Systems: A Visual Simulator.» Paper presented at the annual meeting of the American Society for Engineering Educations, June 2004.

2. Ganssle, J. «Writing a Real-Time Operating System-Part I: A Multitasking Event Scheduler for the HD64180.» Circuit Cellar Ink (January/February 1989): 41–51.

3. Ganssle, J. «Writing a Real-Time Operating System-Part II: Memory Management and Applications for the HD64180.» Circuit Cellar Ink (March/April 1989): 30–33.

4. Ganssle, J. «An OS in a CAN.» Embedded Systems Programming (January 1994): 1–6. ImageCraft Creations, Inc. «ICC12, ImageCraft С Compiler and Development Environment for Motorola HC12.» 2001.

5. Korsch, J. F., and L. J. Garrett. Data Structures, Algorithms, and Program Style Using С. Boston: PWS-Kent Publishing Company, 1988.

6. Labrosse, J. J. Micro C/OS-II The Real-Time Kernel, 2nd ed. Lawrence, KS: CMP Books, 2002.

7. Lafore, R. The Waite Group's Microsoft С Programming for the PC, 2nd ed. Carmel, IN, Howard W. Sams and Company, 1990.

8. Laplante, P. Real-Time Systems Design and Analysis: An Engineer's Handbook. New York: IEEE Computer Society Press, 1993.

9. Miller, G. H. Microcomputer Engineering, 2nd ed. Englewood Cliffs, NJ: Pearson Education, 1998.

10. Moore, R. How to Use a Real-time Multitasking Kernels in Embedded Systems, Costa Mesa, CA: Micro Digital Associates, 2001.

11. Motorola Inc. «68HC12 M68EVB912B32 Evaluation Board User's Manual.» Motorola Document 68EVB912B32 UM/D, 1997.

12. Motorola Inc. «HC12 M68HC12B Family Advance Information.» Motorola Document M68HC12B/D, 2000.

13. Pack, D. J., and S. F. Barrett. 68HC12 Microcontroller: Theory and Applications. Upper Saddle River, NJ: Prentice Hall, 2002.

8.13. Вопросы и задания

Основные

1. Что такое — ОСРВ?

2. Что называется задачей в системах реального времени?

3. Что такое контекст задачи? Приведите конкретные примеры содержимого контекста задачи.

4. Опишите действия, которые ОСРВ должен выполнить относительно задачи.

5. Что такое — ядро ОСРВ? Какими основными свойствами оно должно обладать?

6. Каковы различия между глобальной и локальной переменной?

7. Что понимается под динамическим распределением памяти?

8. Какая память (RAM, ROM, и т.д.) используется при динамическом распределении памяти? Объясните почему.

9. Опишите следующие структуры данных. Где они обычно используются:

 • Структура/запись;

Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Разработка приложений в среде Linux. Второе издание
Разработка приложений в среде Linux. Второе издание

Книга известных профессионалов в области разработки коммерческих приложений в Linux представляет СЃРѕР±РѕР№ отличный справочник для широкого круга программистов в Linux, а также тех разработчиков на языке С, которые перешли в среду Linux из РґСЂСѓРіРёС… операционных систем. РџРѕРґСЂРѕР±но рассматриваются концепции, лежащие в основе процесса создания системных приложений, а также разнообразные доступные инструменты и библиотеки. Среди рассматриваемых в книге вопросов можно выделить анализ особенностей применения лицензий GNU, использование СЃРІРѕР±одно распространяемых компиляторов и библиотек, системное программирование для Linux, а также написание и отладка собственных переносимых библиотек. Р

Майкл К. Джонсон , Эрик В. Троан

Программирование, программы, базы данных