Компилятор — это компьютерная программа (или набор программ), которая преобразует исходный код, написанный на языке программирования (исходный язык), в другой компьютерный язык (обычно двоичный формат). Наиболее распространенной причиной для преобразования является создание исполняемой программы. Название «компилятор» в основном используется для программ, которые переводят исходный код с языка программирования высокого уровня на язык низкого уровня (например, язык ассемблера или машинный код).
Кросс-компилятор
Если скомпилированная программа может работать на компьютере с другим процессором или операционной системой, чем на компьютере, на котором компилятор программы скомпилировал, то этот компилятор называется кросс-компилятором.
Decompiler
Программа, которая может переводить программу с языка низкого уровня на язык высокого уровня, называется декомпилятором.
Языковой конвертер
Программа, которая переводит программы, написанные на разных языках высокого уровня, обычно называется переводчиком языка, переводчиком источника в источник или преобразователем языка.
Компилятор может выполнять следующие операции:
- предварительная обработка
- анализ
- Семантический анализ (синтаксически-ориентированный перевод)
- Генерация кода
- Оптимизация кода
Монтажники
Ассемблер — это программа, которая берет базовые компьютерные инструкции (называемые ассемблером) и преобразует их в последовательность битов, которую процессор компьютера может использовать для выполнения своих основных операций. Ассемблер создает объектный код, переводя мнемонику инструкций на ассемблере в коды операций, преобразовывая символические имена в ячейки памяти. Язык ассемблера использует мнемонику для представления каждой низкоуровневой машинной операции (код операции).
Инструменты отладки во встроенной системе
Отладка — это методический процесс, позволяющий найти и уменьшить количество ошибок в компьютерной программе или части электронного оборудования, чтобы она работала так, как ожидалось. Отладка затруднена, когда подсистемы тесно связаны, потому что небольшое изменение в одной подсистеме может вызвать ошибки в другой. Инструменты отладки, используемые во встроенных системах, сильно различаются по времени разработки и функциям отладки. Мы обсудим здесь следующие инструменты отладки —
- Имитаторы
- Стартовые комплекты микроконтроллера
- Эмулятор
Имитаторы
Код тестируется для MCU / системы, моделируя его на главном компьютере, используемом для разработки кода. Симуляторы пытаются смоделировать поведение всего микроконтроллера в программном обеспечении.
Функции симуляторов
Симулятор выполняет следующие функции —
-
Определяет семейство процессоров или устройств обработки, а также его различные версии для целевой системы.
-
Контролирует подробную информацию части исходного кода с метками и символическими аргументами, поскольку выполнение продолжается для каждого отдельного шага.
-
Предоставляет информацию о состоянии оперативной памяти и моделируемых портов целевой системы для каждого отдельного пошагового выполнения.
-
Контролирует реакцию системы и определяет пропускную способность.
-
Обеспечивает трассировку вывода содержимого счетчика программы по сравнению с регистрами процессора.
-
Предоставляет подробный смысл настоящей команды.
-
Отслеживает подробную информацию о командах симулятора, поскольку они вводятся с клавиатуры или выбираются из меню.
-
Поддерживает условия (до 8, 16 или 32 условий) и безусловные точки останова.
-
Предоставляет точки останова и трассировку, которые вместе являются важным инструментом тестирования и отладки.
-
Облегчает синхронизацию внутренней периферии и задержек.
Определяет семейство процессоров или устройств обработки, а также его различные версии для целевой системы.
Контролирует подробную информацию части исходного кода с метками и символическими аргументами, поскольку выполнение продолжается для каждого отдельного шага.
Предоставляет информацию о состоянии оперативной памяти и моделируемых портов целевой системы для каждого отдельного пошагового выполнения.
Контролирует реакцию системы и определяет пропускную способность.
Обеспечивает трассировку вывода содержимого счетчика программы по сравнению с регистрами процессора.
Предоставляет подробный смысл настоящей команды.
Отслеживает подробную информацию о командах симулятора, поскольку они вводятся с клавиатуры или выбираются из меню.
Поддерживает условия (до 8, 16 или 32 условий) и безусловные точки останова.
Предоставляет точки останова и трассировку, которые вместе являются важным инструментом тестирования и отладки.
Облегчает синхронизацию внутренней периферии и задержек.
Стартовый комплект микроконтроллера
Стартовый комплект микроконтроллера состоит из —
- Аппаратная плата (Оценочная плата)
- Внутрисистемный программист
- Некоторые программные инструменты, такие как компилятор, ассемблер, компоновщик и т. Д.
- Иногда IDE и размер кода ограничены оценочной версией компилятора.
Большое преимущество этих наборов перед симуляторами состоит в том, что они работают в режиме реального времени и, таким образом, позволяют легко проверять функциональность ввода / вывода. Стартовые наборы, однако, вполне достаточны и являются самым дешевым вариантом для разработки простых проектов микроконтроллеров.
эмуляторы
Эмулятор — это аппаратный набор или программное обеспечение, или оба они могут эмулировать функции одной компьютерной системы (гостя) в другой компьютерной системе (хосте), отличные от первой, так что эмулированное поведение очень похоже на поведение реальной системы (гость).
Под эмуляцией понимается способность компьютерной программы в электронном устройстве эмулировать (имитировать) другую программу или устройство. Эмуляция фокусируется на воссоздании оригинальной компьютерной среды. Эмуляторы имеют возможность поддерживать более тесную связь с подлинностью цифрового объекта. Эмулятор помогает пользователю работать с любым видом приложения или операционной системы на платформе аналогично тому, как программное обеспечение работает в своей исходной среде.
Периферийные устройства во встроенных системах
Встроенные системы взаимодействуют с внешним миром через свои периферийные устройства, такие как следующие & mins;
- Интерфейсы последовательной связи (SCI), такие как RS-232, RS-422, RS-485 и т. Д.
- Интерфейс синхронной последовательной связи, такой как I2C, SPI, SSC и ESSI
- Универсальная последовательная шина (USB)
- Мультимедийные карты (SD-карты, Compact Flash и т. Д.)
- Сети, такие как Ethernet, LonWorks и т. Д.
- Полевые шины, такие как CAN-Bus, LIN-Bus, PROFIBUS и т. Д.
- Такие устройства, как PLL (s), Capture / Compare и Time Processing Units.
- Дискретный ввод-вывод или универсальный ввод / вывод (GPIO)
- Аналого-цифровой / Цифро-аналоговый (АЦП / ЦАП)
- Отладка, например, JTAG, ISP, ICSP, BDM Port, BITP и DP9.
Критерии выбора микроконтроллера
Выбирая микроконтроллер, убедитесь, что он соответствует поставленной задаче и является экономически эффективным. Мы должны посмотреть, сможет ли 8-разрядный, 16-разрядный или 32-разрядный микроконтроллер наилучшим образом удовлетворить вычислительные потребности задачи. Кроме того, при выборе микроконтроллера следует учитывать следующие моменты:
-
Скорость — Какую максимальную скорость поддерживает микроконтроллер?
-
Упаковка — это 40-контактный DIP (двойной встроенный пакет) или QFP (Quad flat)? Это важно с точки зрения пространства, сборки и создания прототипа конечного продукта.
-
Потребляемая мощность — это важный критерий для продуктов с батарейным питанием.
-
Количество ОЗУ и ПЗУ на чипе.
-
Количество выводов ввода / вывода и таймеров на чипе.
-
Стоимость за единицу. Это важно с точки зрения конечной стоимости продукта, в котором будет использоваться микроконтроллер.
Скорость — Какую максимальную скорость поддерживает микроконтроллер?
Упаковка — это 40-контактный DIP (двойной встроенный пакет) или QFP (Quad flat)? Это важно с точки зрения пространства, сборки и создания прототипа конечного продукта.
Потребляемая мощность — это важный критерий для продуктов с батарейным питанием.
Количество ОЗУ и ПЗУ на чипе.
Количество выводов ввода / вывода и таймеров на чипе.
Стоимость за единицу. Это важно с точки зрения конечной стоимости продукта, в котором будет использоваться микроконтроллер.
Кроме того, убедитесь, что у вас есть такие инструменты, как компиляторы, отладчики и ассемблеры, доступные с микроконтроллером. Самое главное, вы должны купить микроконтроллер из надежного источника.