Интегрированная среда разработки программ микроконтроллеров фирмы Fujitsu
При описании 16-разрядных Flash-микроконтроллеров семейства F2MC-16LX фирмы Fujitsu упоминался компакт-диск со средствами разработки программ для микроконтроллеров этого семейства. Данная статья посвящена описанию интегрированной среды разработки программ Softune, выполненной с учетом запросов разработчиков программ и позволяющей организовать достаточно удобный и эффективный процесс разработки программы пользователя.
При разработке программ для микроконтроллеров семейства F2MC-16LX используется уже третья версия среды разработки Softune (Softune.V3), работающая под управлением операционных систем Windows 2000/95/98/NT4.0. В стандартную конфигурацию пакета входят:
- ANSI C-компилятор.
- Макроассемблер.
- Компоновщик (линкер).
- Симулятор.
- Эмулятор.
Кроме того, в расширенный пакет входят:
- Модуль контроля C Checker.
- Модуль анализа C Analyser.
- Конфигуратор операционной системы REALOS.
- Модуль анализа операционной системы REALOS.
- Модуль отладки многозадачной операционной системы REALOS.
Структура интегрированной среды разработки Softune.V3 показана на рис. 1.
Пожалуй, важнейшим модулем Softune, обеспечивающим интегрированную поддержку разработки программ, организующим графический интерфейс с системой меню и диалоговыми окнами установки конфигурации встроенных и внешних средств, обеспечивающим управление мышью, является модуль администратора/отладчика Softune Workbench, в котором интегрированы все средства, необходимые для организации сквозного процесса разработки — от написания программы и ее отладки, до формирования данных, заносимых в ROM микроконтроллера. Кроме того, он обеспечивает помощь по компилятору и ассемблеру в режиме онлайн.
Рис. 1. Структура интегрированной среды разработки Softune.V3
Основным компонентом, содержащим всю необходимую для разработки информацию, в Softune Workbench является Проект. В Softune Workbench процесс разработки может проводиться как одним программистом, так и группой разработчиков, каждый из которых работает над своим участком программы. При совместном использовании файлов их взаимодействие обеспечивается вызываемыми средствами управления исходными кодами (Source Code Management Tool) и средствами преобразования типа файла (File Type Conversion Tools). Таким образом, каждый разработчик, участвующий в совместной разработке проекта, может сконфигурировать наиболее удобное для себя окружение и работать в привычном именно для него окружении разработки.
Softune Workbench располагает встроенным редактором, поставляемым с большинством необходимых функций, таких как визуальное выделение дескрипторов и автоматическое форматирование. Ошибки, появляющиеся в процессе работы, отображаются в нижнем выходном окне. Операции перехода по тегу ошибки предоставляют более подробную информацию об ошибках. При желании разработчик может использовать вместо встроенного редактора привычный для него внешний — например, Codewright32, TextPAD32 и ряд других.
С помощью диалоговых окон установки Softune Workbench позволяет запускать и конфигурировать компилятор C, ассемблер и средства компоновки. Более того, непосредственно в Softune Workbench встроены три отладчика, используемые на различных этапах разработки. Для каждой конкретной ситуации может быть выбрано соответствующее окружение отладки.
Рис. 2. Softune Workbench
Выбор линий связи с переходниками и платами эмулятора, настройка окон отладки обеспечиваются специальным мастером установки.
Отладчики обеспечивают:
- отладку на уровне исходных кодов (C, Ассемблер или смешанная)/Исходное (по записи) представление файлов;
- возможность установки точек прерывания кодов/данных (6 HW, 65536 SW) на каждой строке исходного кода;
- навигационные функции: Go, Go to line, Step, Step out, Step over, Call function, Reset;
- функции часов: автоматическое обновление (x sec), форматы Hex, Bin и др., структурирование;
- просмотр глобальных и локальных переменных;
- окно регистров: конфигурирование, измененный регистр окрашивается красным цветом;· окно памяти: форматирование, символьное и прямое редактирование, ASCII;
- окно дизассемблера и встроенный ассемблер;
- окно трассировки (различные режимы отображения), включая функцию обратной трассировки;
- смешанные функции: повторитель стека, измерение временных промежутков, отображение векторов;
- симулятор: активация и регистрация портов IO, симуляция прерываний;
- средства управления: ввод команд log- и batch-файлы.
В стандартную поставку пакета Softune входит так называемый «файл информации о CPU» (CPU information file), содержащий необходимую при открытии проекта информацию о каждом микроконтроллере семейства, то есть информацию о размещении портов I/O, емкости памяти, начальных адресах и другую. Для конкретно используемого микроконтроллера такая информация может быть задана автоматически и при необходимости скорректирована.
Сконфигурированное окружение отладки: расположение окон на экране, установки контрольных точек и информация об отображаемой карте памяти сохраняется и восстанавливается при каждом последующем запуске программы с разрабатываемым проектом.
Особо следует выделить возможность устранения ошибок «на лету» и подготовки качественных программ на языке C даже неопытным программистом.
Как уже отмечалось, в состав пакета входят языковые средства: ANSI C-компилятор, генерирующий посредством препроцессора и собственно компилятора исходный
ассемблерный файл и обеспечивающий при установке соответствующих опций координацию с символическими отладчиками симулятора и эмулятора и оптимизацию; ассемблер, преобразующий машинные команды и псевдокоманды в объектный код; комплект компоновщика, используемый для объединения объектных модулей, в составе собственно компоновщика, библиотеки и преобразователя порядка данных в ROM.
Рассмотрим подробнее средства, дополняющие Softune до расширенного пакета.
Softune C Checker представляет собой инструмент, воспринимающий написанную на языке C исходную программу, указывающий на те строки, характеристики и производительность которых могут быть улучшены, и распечатывающий диагностические сообщения, используемые при разработке программного обеспечения. Данный инструмент предоставляет информацию, позволяющую повысить эффективность разработки программ и подготовки объектных кодов. Инструмент поддерживает встроенные функции компиляторов C микроконтроллеров фирмы Fujitsu.
Softune C Checker обеспечивает выполнение следующих функций:
- устранение ошибок кодирования на ранних этапах;
- возможность разобраться в новых программах за короткое время;
- возможность создания качественного
кода C даже начинающим разработчикам;
- максимальное использование опыта программирования;
- использование с CPU Fujitsu программных ресурсов CPU других фирм;
- понимание возможностей компиляторов C фирмы Fujitsu.
Softune C Checker проверяет коды на удобство сопровождения, расширяемость и перемещаемость, указывая на области, в которых качество и характеристики могут быть улучшены. После этого пользователь может переписать код.
Рис. 3. Встроенные отладчики
Softune C Analyzer обеспечивает отображение и распечатку структуры исходных программ, написанных на языке C, и состояния данных, используемых программой. Это может быть использовано для повышения эффективности разработки программ и кодов объектных программ, и это средство соответствует также встроенным возможностям компилятора Softune C семейства F2MC-16LX.
Softune C Analyzer разработан для следующих целей:
- для обследования структуры программы или процесса ее выполнения, если отсутствует автор программы или документация на эту программу;
- для структурных программных выборок в рассчитываемую структуру и обработку во время разработки программы;
- для проверки эффективности альтернативных программ;
- для создания внутренней документации программы;
- для исследования возможности повышения эффективности программы.
Структура и использование данных в исходной C-программе отображаются визуально. Внутренняя структура данных, дерево функционирования, использование стека и другая информация могут быть собраны и сохранены в файле.
Еще одним модулем Softune является модуль встраиваемой операционной системы реального времени REALOS с модулями конфигуратора (REALOS Configurator) и анализатора (REALOS Analyser).
Softune REALOS, разработанная в ответ на быстрый рост потребности в обработке в масштабе реального времени и работающая, в частности, на микроконтроллерах семейства F2MC-16LX (REALOS/907), является управляемой событиями многозадачной операционной системой, соответствующей требованиям спецификации µTRON 2.01, ориентированной на управление оборудованием.
Рис. 4. Функции REALOS/907
Рис. 5. Структура прикладной программы
Ядро Softune REALOS/907 системы является основой прикладной системы и выполняет функции контроля и управления. Главными функциями ядра являются: управление задачами, их синхронизацией и связью между ними, управление временными промежутками и динамически изменяемыми массивами памяти (memorypool).
Прикладными программами являются программы, которые создаются пользователем и которые могут быть написаны на языке C или на ассемблере. Программы, выполняющие стандартные операции, включают задачи, обработчик инициирования и обработчики временных промежутков. Примером программы, выполняемой при возникновении нестандартной ситуации, является обработчик исключения.
Программы, выполняющие обычную обработку
- Задачи. Задачи являются наименьшими исполняемыми блоками программ и программными блоками, на основе которых распределяется процесс обработки.
Обработка в прикладной системе организуется через координацию работы множества задач. Поскольку Softune REALOS/ 907 является многозадачной операционной системой, то множество задач ранжируется по приоритетному признаку и процессорное время на выполнение задачи выделяется на основе приоритетов. Такое распределение называется планированием.
- Обработчик инициирования. Первым после запуска ядра начинает работать обработчик инициирования. Данный обработчик инициирует задачи и выполняет различные задания по инициированию.
- Обработчик прерывания. Эта процедура выполняется при генерации прерывания. Запросы прерывания от периферийных устройств принимает обработчик прерывания, который затем запрашивает обработку задачи.
- Обработчики временных промежутков. Это обработчики, работающие циклически, и обработчики сигналов предупреждений, срабатывающие в заданный момент времени. Данные обработчики работают как составные части обработчика системной синхронизации.
Программы, работающие в нестандартных ситуациях
- Обработчики исключений. Обработчики исключений начинают работать при возникновении нестандартной ситуации в процессе выполнения задачи или работы обработчика. Обработка исключительной ситуации происходит в ряде нестандартных случаев, возникающих в процессе нормальной обработки.
Рис. 6. Последовательность выполнения задач
На рис. 6 показана структура прикладной программы, а на рис. 6 — последовательность выполнения задач
Представленная на рис. 6 диаграмма показывает случай, когда во время выполнения задачи C запрашивается обработка задач A и B и когда принимается внешний запрос прерывания (задача D).
Задачи, работающие под Softune REALOS/ 907, контролируются управляемой событиями системой планирования на основе приоритетов. Обычно ядро ранжирует задачи на основе состояния задачи и уровня ее приоритета. Затем задачи, находящиеся в состоянии READY, выполняются последовательно, начиная с задачи с наивысшим приоритетом. Если имеется несколько задач с одинаковым приоритетом, то они выполняются в той последовательности, в которой они переходили в состояние READY.
В заключение отметим, что для работы интегрированной среды Softune необходим совместимый с IBM PC/AT главный компьютер с установленной ОС Windows 2000/95/98/NT 4.0 и следующими возможностями:
- процессор — Pentium 150 МГц или выше (рекомендуется Pentium 200 МГц или выше);
- объем оперативной памяти 48 Мбайт или более (рекомендуется не менее 64 Мбайта;
- не менее 50 Мбайт свободного пространства на жестком диске.
В данной статье рассматривались только те средства, которые могут быть использованы для программирования микроконтроллеров семейства F2MC-16LX. Однако на компакт-диске, который можно приобрести в Консультационно-техническом центре по микроконтроллерам (КТЦ-МК) совместно с ПО для микроконтроллеров семейства F2MC-16LX,
размещены программные средства для программирования и других микроконтроллеров и микропроцессоров фирмы Fujitsu и, что не менее важно, руководства пользователей и описания как программных средств, так и руководства пользователей и описания самих микроконтроллеров. Кроме того, на компакт-диске размещено большое количество примеров и рекомендаций по применению устройств.
Сергей Гаврилюк,
Евгений Крылов
info@cec-mc.ru
|