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

ПОСЛЕ ИЗУЧЕНИЯ ГЛАВЫ ВЫ СМОЖЕТЕ:

• Описать основные конструкции языка Си;

• Написать на Си простые программы для встроенных систем на основе микроконтроллеров;

• Объяснять последовательность действий, необходимую для получения исполняемого фрагмента кодов для МК 68HC12 и HCS12;

• Объяснить назначение отдельных программ в составе интегрированной среды разработки, позволяющие редактировать, компилировать, ассемблировать, объединять и отлаживать программные фрагменты управляющего кода будущих встраиваемых систем.

В главе 3 рассматривается технология написания и отладки программ на языке Си для микроконтроллеров 68НС12 и HCS12. На протяжении всей главы мы не будем делать различия между этими двумя типами МК и, как следствие, будем использовать для ссылок общую аббревиатуру 68HC12. Основное наше внимание будет уделено технике программирования на языке Си. Однако это не означает, что программирование на языке ассемблера может быть полностью забыто. Включение в исходный текст Си-программы фрагментов на языке ассемблера позволяет создать эффективный исполняемый код в критичных по времени исполнения задачах. Вопросы объединения программных фрагментов, записанных на Си и на ассемблере, также рассматриваются в данной главе.

Мы покажем, как из исходного текста программы, записанного на Си, создать файл исполняемого кода для микроконтроллера, используя для этого программы компилятора, ассемблера, линковщика и загрузчика в составе программного пакета ICC12 от компании Imagecraft (http:/www.imagekraft.com). Программный продукт ICC12 — достаточно простой в управлении, недорогой, но обладающий всеми необходимыми типовыми функциями программный пакет класса «интегрированная среда разработки и отладки программ управления для встраиваемых систем». Технология создания программного обеспечения для встраиваемых микроконтроллерных систем с использованием перечисленных выше программ в составе интегрированной среды разработки IDE (Integrated Development Environment) обладает достаточной степенью универсальности. Поэтому навыки создания и отладки программ для МК 68HC12, полученные с использованием пакета ICC12, могут быть использованы читателем при программировании 68HC12 или иных типов микроконтроллеров с использованием других более развитых программных пакетов IDE, например Code Warrior от компании Metrowerks (http:/www.metrowerks.com).

В этой главе мы обсудим технологию отладки программы, написанной на языке Си, в процессе ее исполнения реальным микроконтроллером. Все МК семейства 68HC12 обладают специальным режимом отладки в реальном времени BDM (Background Debug Mode). Мы рассмотрим основные свойства режима BDM в этой главе. В заключение мы приведем подробный пример преобразования исходного текста программы на Си в файл исполняемого кода для выбранного типа МК средствами программ, входящих в пакет интегрированной среды разработки IDE ICC12.

3.1. Введение в программирование на Си

В главе 2 было отмечено, что язык Си стал одним из наиболее часто используемых в техническом сообществе языков программирования высокого уровня. Связано это с тем, что при сохранении абстрактного характера представления алгоритмов и данных, которое свойственно языкам программирования высокого уровня, язык Си позволяет программистам непосредственно управлять компонентами аппаратных средств компьютеров и микроконтроллеров. Например, в Си программист имеет возможность непосредственного обращения к содержимому ячеек памяти и регистров периферийных модулей с конкретными физическими адресами, что свойственно языку ассемблер.

Для того чтобы начать программировать микроконтроллеры 68НС12 на Си, мы должны сначала изучить основные конструкции этого языка, которые и рассматриваются в следующих параграфах главы 3. Следует заметить, что в этих параграфах приведен лишь минимально необходимый набор сведений по Си. Для более полного знакомства с этим языком программирования читателю следует обратиться к специальной литературе. Список рекомендуемых авторами изданий приведен в конце главы.

Си — это структурированный язык программирования. Для записи программ на языке Си используются идентификаторы, ключевые слова, числа и операторы, которые располагаются в тексте программы в соответствие с предписанными правилами. Идентификаторы — это определяемые пользователем имена переменных, функций, меток и объектов. В языке Си для того, чтобы использовать переменную в программе, её необходимо предварительно создать. Создать переменную — это значит выделить для её хранения одну или несколько ячеек памяти и присвоить ей имя, с помощью которого можно будет ссылаться на эту. В отличие от ассемблера, в языке Си необходимо указать также тип переменной. Тип служит для того, чтобы сообщить компилятору о том, как интерпретировать значение, хранящееся в ячейках памяти, отводимых под переменную. Например, имеет ли число знак (старший бит отводится для хранения знака) или старший бит является значащим разрядом числа и т. д.

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

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

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

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

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

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

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

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

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