Руководства, Инструкции, Бланки

Iar Embedded Workbench руководство img-1

Iar Embedded Workbench руководство

Рейтинг: 4.8/5.0 (1914 проголосовавших)

Категория: Руководства

Описание

Iar embedded workbench описание

Страница

Iar embedded workbench описание

Название. Iar embedded workbench описание
Лицензия. Нет
Операционная система. Windows XP, Vista, Windows-7 32-bit, XP 32-bit
Интерфейс. мультиязычный
Добавил.
Место в рейтинге. 551
Скачано раз (за вчера). 37
Скачано раз (всего). 52566
Файл проверен. NOD 32
Последнее обновление. 27.06.1013
Файл. iar_embedded_workbench_opisanie.rar


Приглашаем всех наших посетителей в профессиональный мир справочной литературы. учебники которые в понятной форме расскажут вам обо всем на свете и помогут найти профессионально подобранный ответ на любой вопрос. А также мы предлагаем тесты и прочее. Литература информационно-справочного характера, используемая для получения наиболее обобщенной, не вызывающей сомнений в достоверности текстов по тому или иному вопросу. предлагаем прочитатьосновные виды справочной литературы. В идеале справочные издания должны содержать только научно доказанные факты и реально отражать существующий на данный момент объем человеческих знаний. Однако, на практике не возможно полностью разграничить факты от интерпретаций и субъективных, подразумеваемых исключений, если не скачать iar embedded workbench описание на нашем сайте. Company producing compilers, debuggers and state machine design tools for embedded systems. Product information, technical support, events and demo downloads. IAR Embedded Workbench is an integrated development environment with C/C++ compiler and C-SPY debugger, available for a wide selection of 8-, 16-, and 32-bit IAR Embedded Workbench Kickstart

IAR Embedded Workbench, IAR Embedded Workbench® - IAR Systems - World leading provider of, IAR Embedded Workbench Kickstart - Free 4KB IDE - IAR-KICKSTART, IAR Embedded Workbench for TI MSP430 - Texas Instruments Wiki, IAR Embedded Workbench for Eclipse, IAR Embedded Workbench® MISRA C, IAR Embedded Workbench Kickstart for TI MSP430 Release Notes, c - IAR Embedded Workbench - setting endian-ness of variable, IAR Embedded Workbench for Eclipse (ARM 650x) Release Notes, WineHQ - IAR Embedded Workbench Kickstart 461,

Другие статьи

IAR: установка и регистрация среды разработки EmbeddedWorkbench компании IAR Systems

IAR: установка и регистрация среды разработки EmbeddedWorkbench компании IAR Systems

IAR Embedded Workbench — это интегрированная отладочная среда разработки приложений (IDE), обладающая рядом неоспоримых преимуществ. К ним относятся удобный пользовательский интерфейс, генерирование компактного объектного кода, поддержка различных типов RTOS (Micrium μC/OS,II, OSEC ORTI) и JTAG-адаптеров третьих фирм (OLIMEX, Phyton, ASHLING), а также подробная техническая документация. Компания IAR Systems поставляет IDE для широкого спектра 8-, 16-, 32-разрядных микропроцессоров таких фирм, как ARM, Infineon, Cypress, Atmel, Analog Devices, Microchip Technologies, Ember, NXP, National Semiconductor, STMicroelectronics, Texas Instruments, Renesas, Freescale, Silicon Labs и др.

Типовой комплект IAR Embedded Workbench содержит: C/C++ компилятор, транслятор языка ассемблера, компоновщик, управляющие программы для работы с библиотечными подпрограммами, редактор, менеджер проектов, C-SPY отладчик [1 ]. Для большинства IDE поставка возможна в трех вариантах: Standard (полная профессиональная версия), Baseline (ограничения на объем генерируемого кода, отсутствие годовой технической поддержки) или Limited (не входят C-SPY отладчик, RTOS-модули, отсутствует поддержка MISRA C).

Рекомендуемая конфигурация компьютера для работы со средой разработки IAR Embedded Workbench Stand Alone License: процессор Pentium с частотой не менее 100 МГц, свободная область на жестком диске 200 Мбайт или более и дополнительно 10 Мбайт на системном диске, память ОЗУ 128 Мбайт или более, операционная система Mi crosoft Windows 98, Windows ME, Windows XP, Windows 2000 или Windows NT 4.

В статье описывается пошаговый порядок действий пользователя для успешной установки/обновления и регистрации локальной версии среды разработки IAR Embedded Workbench. Для индивидуальной настройки рекомендуется обратиться к более подробному руководству InstallationGuide [2 ], которое предоставляет производитель.

Инсталляция IAR Embedded Workbench с использованием временного ключа (QuickStart key)

Для прохождения этого этапа [3 ] требуется отключить от компьютера все внешние USBустройства и вставить инсталляционный диск в привод CD-ROM. После этого должна автоматически запуститься программа установки. Если этого не произошло, необходимо вручную запустить с инсталляционного диска файл autorun.exe. Далее необходимо выбрать команду Install IAR Embedded Workbench и принять условия лицензионного соглашения. В результате на экране появится диалоговое окно (рис. 1), в котором необходимо ввести имя пользователя, название компании и 17-значный номер лицензии, указанный на обложке диска.

Рис. 1. Ввод имени пользователя и номера лицензии

Далее вводится 16-значный номер временного ключа (рис. 2). Он тоже указан на обложке диска.

Рис. 2. Ввод 16-значного номера временного ключа

После этого выбирается тип устройства, к которому будет «привязана» лицензия (рис. 3). Например, это может быть сетевая карта компьютера ( My computer ) или аппаратный ключ DGL-USB ( Hardware dongle ), который входит в состав поставки.

Рис 3. Выбор устройства,
к которому будет «привязана» лицензия

Рекомендуется «привязывать» лицензию к аппаратному ключу (DGL-USB). Такая организация работы впоследствии позволяет легко переносить лицензионную среду разработки с одного компьютера на другой. При выборе опции Hardware dongle следует внимательно следить за сообщениями установочной программы в процессе инсталляции. В определенный момент времени на экране должно появиться диалоговое окно с предложением подключить аппаратный ключ к USB-порту.

Рис. 4. Выбор директории
для установки среды разработки

Далее следует указать директорию, в которую будет установлена среда разработки IAR Embedded Workbench (рис. 4) и выбрать требуемую конфигурацию (рис. 5): полная ( Complete ) или пользовательская ( Custom ).

Рис. 5. Выбор требуемой конфигурации

Для того чтобы установить только те компоненты, которые необходимы для реализации данного проекта, рекомендуется выбирать опцию Custom. После этого можно запускать процесс на инсталляцию. По завершении этого этапа автоматически запускается программа активирования лицензии. В результате на экране появится диалоговое окно (рис. 6), в котором будет предложено зарегистрировать среду разработки сразу же, либо позже.

Рис. 6. Диалоговое окно
для регистрации среды разработки

Регистрация и активирование лицензии

Незарегистрированной средой разработки IAR Embedded Workbench можно пользоваться только в течение 30 дней. Для получения годовой технической поддержки и права бессрочного пользования требуется активировать лицензию: отправить в компанию IAR Systems свои регистрационные данные (рис. 7).

Рис. 7. Пример регистрационных данных пользователя

В течение пяти рабочих дней компания IAR Systems должна выслать постоянный ключ ( Permanent key ) по электронному адресу, указанному в регистрационной форме. Для инсталляции постоянного ключа необходимо запустить программу IAR Systems License Manager в меню Start. В появившемся диалоговом окне необходимо выбрать команду License>Install. скопировать постоянный ключ в текстовое поле появившегося окна License key (рис. 8) и выбрать опцию Install.

Рис. 8. Окно License key с текстом постоянного ключа

На этом процесс установки среды разработки IAR Embedded Workbench считается полностью завершенным. В течение года после регистрации действует официальная техническая поддержка от компании IAR Systems (SUA). В этот период версии компиляторов обновляются бесплатно. При поступлении запроса на обновление за месяц до окончания SUA действует скидка 80% от полной стоимости. При обращении за обновлением в период 1–3 лет с момента покупки действует скидка 50%. Если прошло 3 и более лет, скидка на обновление версии среды IAR Embedded Workbench будет составлять 25%.

Скачивать обновления версий в период SUA, следить за текущим статусом лицензии, получать дополнительную техническую документацию теперь можно, зарегистрировавшись на сайте www.iar.com/mypages .

Процедура обновления среды разработки IAR Embedded Workbench

Для обновления используются текущие номер лицензии и постоянный ключ [4 ]. Эти данные можно посмотреть, запустив программу IAR Systems License Manager (рис. 9).

Рис. 9. Диалоговое окно программы
IAR Systems License Manager

В появившемся окне нужно выбрать тип лицензии (например, Stand Alone ) и дважды щелкнуть по нему левой кнопкой мыши. В результате появится информационное окно License Information. в котором будут отображены все необходимые сведения о текущей лицензии (рис. 10).

Рис. 10. Окно License Information
с данными о текущей лицензии

Перед началом выполнения процедуры обновления рекомендуется сделать копии командных файлов компоновщика, библиотек и конфигурационных файлов, подвергавшихся редактированию в текущей версии среды разработки. Рабочие файлы проекта в процессе обновления не затрагиваются. Далее требуется удалить предыдущую версию IAR Embedded Workbench, выбрав команду Uninstall IAR Embedded Workbench. Последующий порядок действий аналогичен выполняемому на этапе инсталляции. Требуется вставить инсталляционный диск в привод CD-ROM, выбрать команду Install IAR Embedded Workbench и принять условия лицензионного соглашения. После ввода имени пользователя и названия компании (номер лицензии обычно прописывается автоматически), откроется диалоговое окно для ввода постоянного ключа. В текстовом поле окна License key уже должно быть прописано значение текущего ключа. Если поле пустое, необходимо скопировать в него требуемую информацию и выбрать опцию Install. Далее указывается директория для установки среды разработки, выбирается требуемая конфигурация и запускается инсталляция. По окончании инсталляции процесс обновления можно считать полностью завершенным.

Заключение

Компиляторы IAR Embedded Workbench представляют собой среду разработки верхнего уровня. Это мощный, но вместе с тем простой и очень удобный инструмент программирования для встраиваемых микропроцессорных устройств и систем. Качество IDE IAR Systems признано многими известными мировыми производителями промышленного и телекоммуникационного оборудования, компьютерной и медицинской техники (Apple Computer Inc. Black&Decker, Cisco Systems, Ember, Ericsson, Hewlett-Packard, Motorola Inc. Panasonic Communications, Siemens и др.). Отладочные средства компании IAR становятся популярными и среди российских разработчиков. Для успешной работы со средой IAR Embedded Workbench мы рекомендуем всем пользователям ознакомиться с минимальными техническими требованиями, предъявляемыми к аппаратному и программному обеспечению компьютера.

Литература Другие статьи по данной теме:

IAR EW ARM: как перенаправить вывод printf и putchar

В IAR имеется довольно удобная возможность для отладки - вывод в окно терминала текстовых сообщений.

[Вывод отладочных сообщений в окно терминала ]

Для вывода отладочных сообщений используется оператор printf. По умолчанию все отладочные сообщения выводятся во встроенное в IAR окно терминала (Terminal I/O). Чтобы задействовать эту возможность, нужно выполнить следующие простые шаги:

1. Добавьте в код заголовочный файл stdio.h.

2. Укажите в нужном месте кода, где должен быть отладочный вывод, оператор printf с нужным текстовым сообщением:

3. Запустите отладку () и откройте окно терминала (View -> Terminal I/O). После выполнения оператора printf в окне терминала Вы увидите свое сообщение.

Обработка форматного вывода (%) printf может занимать много места в памяти программ. Поэтому В IAR есть выбор опций вывода printf, что иногда полезно для экономии памяти и ресурсов микроконтроллера. Выбор типа форматера printf (как и scanf) задается через настройку опций библиотеки проекта, Project -> Options. -> General Options -> закладка Library options (Full, Large, Small, Tiny). На возможности вывода также влияет выбор на закладке Library Configuration (None, Normal, Full, Custom). Подробнее по возможностям вариантов настройки форматтера смотрите Руководство разработчика IAR (IAR C/C++ Development Guide), раздел "Choosing formatters for printf and scanf".

[Перенаправление вывода printf IAR 4 ]

Вывод printf можно перенаправить в любое устройство ввода/вывода, например в DBGU или на экран LCD. Встроенная в IAR библиотека содержит готовый модуль, который для этого Вам нужно заменить на свою собственную реализацию, причем нет необходимости перекомпилировать всю библиотеку. Библиотечные файлы исходного кода, которые пользователь может перезадать на свои, для IAR 4.0 находятся в папке C:\Program Files\IAR Systems\Embedded Workbench 4.0 Evaluation\ARM\src\lib\. Здесь приведена пошаговая инструкция для изменения низкоуровневого вывода printf, для чего нужно определить свою собственную версию модуля write.c (нужно будет исправить код функции __write ), и добавить реализацию функции MyLowLevelPutchar. В оригинальной версии модуля write.c функционал перенаправления вывода закомментирован, и в нем даны инструкции, как этот функционал включить.

1. Скопируйте файл write.c в папку своего проекта IAR, где находятся все модули исходного кода программы.
2. Добавьте скопированный модуль write.c в Ваш проект (Project -> Add Files. ), и откройте его в текстовом редакторе. Посмотрите реализацию функции __write: в ней блоком #if 0 / #else удалена реализация низкоуровневого вывода printf. Функция __write предназначена для вывода size символов из буфера buffer, причем она может делать этот вывод специальным, определяемым Вами способом (благодаря вызову MyLowLevelPutchar). Удалите директивы #if 0 / #else / #endif и последний ненужный оператор return _LLIO_ERROR; (он находится между #else и #endif).
3. Определите в проекте (в любом модуле, или прямо в модуле write.c) код функции MyLowLevelPutchar. Эта функция предназначена для низкоуровневого вывода одного символа на любое устройство вывода. Это может быть порт DBGU, файл, экран LCD или любой выбранный Вами интерфейс, поэтому в этой функции Вы сами должны определить код для вывода символа. Функция MyLowLevelPutchar должна возвратить тот же символ, который был у неё во входном параметре, либо -1 в случае ошибки (_LLIO_ERROR).

Внимание: после вышеуказанных шагов вывод printf во встроенное окно терминала перестанет работать (теперь printf будет выводить символы в указанное Вами устройство вывода).

Ниже приведен код модуля write.c, где перенаправление вывода раскомментировано, и дан пример реализации функции MyLowLevelPutchar, которая осуществляет отображение информации на пользовательском устройстве вывода.

Пример пользовательской реализации функции MyLowLevelPutchar. Функция пишет графику символов в видеопамять, массив video_memory, и обрабатывает символы CR, LF и TAB. Код скроллинга экрана ScrollUp не приведен (для упрощения).

[Перенаправление вывода printf IAR 5 ]

Для версии IAR 5.0 вывод printf настраивается аналогичным образом. Если подключен заголовок utility/trace.h, и определен символ TRACE_DBGU, то по умолчанию printf и putchar выводят символы в порт DBGU. Если Вы у себя в программе настроите этот порт (как это делать, см. в примерах от IAR - PIO_Configure (pPinsDBGU, PIO_LISTSIZE(pPinsDBGU)); DBGU_Configure (DBGU_STANDARD, 115200, BOARD_MCK);), и подключите к COM-порту компьютера, то увидите в консольной программе вывод printf. Для перенаправления вывода printf нужно также добавить в проект файл write.c (c:\Program Files\IAR Systems\Embedded Workbench 5.0 Evaluation\ARM\src\lib\write.c), подправить код функции __write (закомментировать #if 0/#endif), и написать код для функции int MyLowLevelPutchar(int x).

IAR EWARM (IAR Embedded Workbench for ARM) - среда разработки или toolchain для ARM Cortex

IAR EWARM (IAR Embedded Workbench for ARM) - среда разработки или toolchain для ARM Cortex

IAR Embedded Workbench(IAR EWARM) является платной средой разработки для микроконтроллеров на основе ARM7, ARM9, ARM9E, ARM10E, ARM11, SecurCore, Cortex M0, M0+, M1, M3, M4(F). R4(F), R5, R7, A5, A7, A8, A9, A15 и XScale от таких производителей как Analog Devices, Atmel, Cirrus, Cypress, Ember, EnergyMicro, Epson, Faraday, Freescale, Fujitsu, Hilscher, Holtek, Infineon, Intel, Marvell, Micronas, MicroSemi, NetSilicon, NordicSemi, Nuvoton, NXP, OKI, ON Semiconductor, Renesas, Samsung, SiLabs, Socle, Sonix, Spansion, ST, Texas Instruments, Toshiba, Xilinx, то есть, практически присутствуют все фирмы, выпускающие микроконтроллеры.

Страница в интернет:
iar.com/Products/IAR-Embedded-Workbench/ARM/

У меня этот toolchain был установлен более года назад. Особых проблем по скачиванию, установки и настройки рабочей версии я не помню, значит всё было просто и понятно. В интернет информации вполне достаточно.

Этот toolchain хорош тем, что для него практически все фирмы изготовители микроконтроллеров предлагают своё программное обеспечение и готовые примеры разработки, которые показывают как лучше использовать те или иные возможности их микроконтроллера.

Просто в папке с примерами к микроконтроллеру нужно найти папочку с названием "EWARM ", а в ней файл с расширением ".eww ", например "STM32F4-Discovery_Demo.eww ".

Если IAR Embedded Workbench(IAR EWARM) был уже установлен, то у файла будет иконка из перекрещенных отвертки и ключа. Во всяком случае у меня так. Достаточно просто дважды щелкнуть мышкой и пример будет загружен в среду разработки IAR EWARM. после чего с ним можно разбираться.

Примеры использования возможностей микроконтроллеров не обязательно копировать в рабочую папку проектов IAR Embedded Workbench. Можно создать свою папку и копировать туда. У меня, например, все проекты и примеры находяться в папке "E:\PROJ\STM32F4\" и пока всё работает нормально.

Книги:

IAR Embedded Workbench for AVR

IAR Embedded Workbench for AVR v5.50

Система StaffCop отслеживает запуск программ, приложений и веб-сайтов, перехватывает сообщения в ICQ, Skype, E-mail и любые нажатия клавиатуры, контролирует USB-устройства, позволяет делать снимки экрана и многое другое.

Скачать StaffCop бесплатно >>


IAR Embedded Workbench for AVR - представляет собой мощную интегрированную среду разработки и отладки программ для микроконтроллеров AVR с помощу языка C, C++ и ассемблера. Она обеспечивает расширенную поддержку устройств AVR и создает очень компактный и эффективный код. В неё входят компилятор языка С и C++, ассемблера, компоновщик и отладчик, при этом возможно взаимодействие с внешними программами типа AVR Studio. Встроенный редактор специально настроен на синтаксис языка С, а дополнительные утилиты и хорошая встроенная система помощи дополнительно облегчают написание программ.

Редактор исходного текста

  • Удобный интерфейс пользователя;
  • Автоматическое выделение ошибок;
  • Настраиваемая панель инструментов;
  • Выделение директив C/C++;
  • Развитые средства поиска.

Компилятор языка C/C++
  • Один из лучших компиляторов по эффективности кода;
  • Полная совместимость с ANSI C;
  • Несколько моделей для эффективного распределения памяти;
  • Алгоритмы оптимизации специально для AVR-микроконтроллеров;
  • Расширения языка для встроенных систем.

Ассемблер
  • Интегрированный макроассемблер для приложений реального времени;
  • Включает препроцессор для компилятора C.
  • Поддерживает полную компоновку, размещение, и создание формата;
  • Поддерживает более 30 стандартных выходных форматов для использования совместно с внутрисхемными эмуляторами;
  • Загрузка модулей только при необходимости;
  • Выходной формат полностью совместим с AVR Studio.

Симулятор и отладчик
  • Отладка в кодах C, C++ и ассемблера;
  • Различные точки останова;
  • Язык описания периферии и операций ввода/вывода;
  • Просмотр областей CODE, DATA, EEPROM и регистров ввода/вывода;
  • Обработка прерываний с предсказанием;
  • Контроль любых переменных и стека;
  • Комплексные типы данных.

Поддерживаются большинство микроконтроллеров Atmel AVR. В новой версии добавлена поддержка микроконтроллеров ATtiny4, ATtiny5, ATtiny9, ATtiny10, ATtiny20 и ATtiny40.

Скачать программу IAR Embedded Workbench for AVR v5.50 (189,96 МБ):

Зарегистрируйтесь, чтобы увидеть ссылки

Iar embedded workbench for avr руководство

Iar embedded workbench for avr руководство

IO header files contain identifiers for all the register names and bit names for a particular processor. Можно создавать свои конфигурации. And the following disadvantages: More complex. However, there is a whole Watchdog Timer API available in AVR GCC that can be found in . Ниже - tool bar с кнопками. If you want to create a debug build select the Debug Info radio button. Запуск скрипта без параметров выводит список всех поддерживаемых опций (параметров) компиляции. This has the following advantages. This macro requires that you include . Разрешаем использование имен битов определенных в хедер файлеВ General Options > System ставим галочку Enable bit definitions in I/O-Include filesХоть нам и не понадобится сейчас эта настройка, полезно знать где она находится.Включаем генерацию ассемблерного листинга.

Simpler to setup. IAR has individual header files for each processor and they must be included when registers are being used in the code. As mentioned above, the C language Standard, strangely, does not specify a standard way of declaring and defining an ISR. Hence, every compiler seems to have their own special way of doing so. Locked Register (R15) Register R15 is defined in the project file as "locked" - making it unavailable to the compiler. Это может произойти, если опции с которыми скомпилированы файлы прошивок из релиза или репозитория вас не устраивают. This warning has also been switched off in the project file. WinAVR можно скачать здесь2. Care must be taken when deciding the stack sizes! Впервые пишу на Си (mikroC).

Навигация по записям

IAR Embedded Workbench for AVR

IAR Embedded Workbench for AVR. Быстрый старт.

IAR — это один из лучших компиляторов С/С++ для множества микроконтроллеров, начиная от 8051 и заканчивая продвинутыми ARMами. Про создание проектов для ARM уже писали в учебном курсе имени этого же контроллера, я же напишу про создание проекта для AVR, особенностей работы и отладки в нем.

Для avr существует 2 версии — бесплатная, с ограничением по коду до 4кБ и полная с 30-и дневным триалом. Так же не трудно найти вылеченную. Какую выбрать каждый решит для себя сам, скажу только что для нормальной работы вылеченной нужно запрещать программе выход в интернет. Последняя на данный момент версия 5.51. Ее я и буду использовать.
Настройка среды.
После установки стоит сделать начальные настройки среды.
1. Tools->Options. В Messages в пункте Show build messages выбрать тип All. После этого при компиляции будет выводиться информация о размере программы и данных.
2. Т.к. среда не поддерживает программаторы типа AVR ISP, то стоит к ней прикрутить внешний программатор, например SinaProg. Для этого жмем Tools->Configure Tools.

Настройки там понятны и без объяснений. Строку Initial Directory можно оставить пустой или указать в ней путь к выходным файлам текущего проекта. Тогда после запуска сразу будет выбираться папка с прошивкой. В принципе для этого предназначена галка Redirect to Output Window. с которой путь должен автоматом подставляться для текущего проекта. Но у меня она почему-то не заработала.

Создание проекта.
Запускаем IAR Embedded Workbench и видим главное окно программы:

Выбираем в меню — Project->Create New Project. . В появившемся окне можно выбрать язык (ASM, C, C++) и тип проекта. Совместимость с AVR Studio нам не к чему, поэтому создадим приложение на обычном С.

Программа сразу предложит сохранить полученный проект. Сохраняем и получаем на выходе следующий сгенерированный код:

Да, iar точно знает, что краткость сестра таланта:) Пользоваться этим пока не возможно, поэтому можно переходить к настройкам проекта.

Настройка проекта.
Выбираем в меню — Project->Options. или жмем Alt+F7 и видим первое окно настроек:

Обязательно выбираем тип используемого процессора. Тип памяти влияет на размер адреса переменных в памяти данных. У модели tiny — 1 байт на адрес, у small — 2 байта.
Далее переходим к вкладке С/С++ Compiler:

В принципе по началу тут можно ничего и не трогать, но про самые основные вкладки сказать стоит. В Plain 'char' is выбирается тип переменной char по умолчанию — со знаком или нет.
В Optimization как нетрудно догадаться выбирается тип и уровень оптимизации.
И на вкладке List можно включить опцию генерации ассемблерного листинга.
И последняя, весьма важная вкладка — Linker

По умолчанию линкер создает свой, весьма специфический, файл с расширением *.d90. Со всей отладочной информацией и прочей кучей мусора. Прошивать его в контроллер напрямую нельзя, поэтому вывод необходимо перенастроить. Тут есть 2 пути:
1. Переназначить типы выходных файлов во что-то стандартное. Но тут есть свои тонкости. Например, если на вкладке Output сделать выходной файл intel-standart, то потеряется возможность символьной отладки. Т.к. отлаживать через листинг радости мало, то нужно ставить тип выходного файла в debug-intel-std, а на вкладке Extra Output уже выбирать intel-standart. Тогда будет и нормальная отладка в симуляторе и готовый выходной файл для прошивки. Но если в программе используются переменные из eeprom, то получим ошибку линкера. Поэтому всегда лучше использовать второй путь.
2. Если в программе используется eeprom, то линкеру надо сообщить что ему необходимо создать 2 файла. Для этого сразу переходим к последней вкладке Extra Options. разрешаем использовать их и в поле вводим:

В результате получим на выходе 3 файла:
  • *.d90 — для отладки
  • *.eeprom.hex — для прошивки eeprom
  • *.flash.hex — сама прошивка
На этом настройку проекта можно считать законченной и переходить к написанию программы.

Написание Hello World.
На самом деле писать программу мигающую чем-то я не буду;) А только опишу особенности реализации С в применении к iar. Итак, сразу включаем в самое начало программы следующее:

Без определения *1 не будут доступны битовые поля регистров. Почему так сделано мне самому не понятно:) В *2 идет как раз описание регистров. Без *3 не будет некоторых макроопределений.

Задержки в iar сделаны через количество тактов, однако в 99% случаев гораздо удобней указывать время задержки в микро или миллисекундах. Поэтому добавим следующие определения:

Теперь задержку можно сделать так:

Для размещения констант во флеш используется модификатор __flash:

Для переменных в eeprom соответственно модификатор __eeprom.

Как читать и писать такие переменные компилятор разберется сам, при этом для чтения не нужны извращения типа pgm_read_byte. Все переменные этих типов могут быть только глобальными и запись во флеш не поддерживается. Т.е. команд типа SPM нет. Как пример запись в eeprom константы из flash:

Прерывания объявляются следующим образом:

Где TIMER2_OVF_vect тип прерывания, имена прерываний можно посмотреть в файле описания конкретного процессора. Для mega16 — это C:\\Program Files (x86)\\IAR Systems\\Embedded Workbench 5.4\\avr\\inc\\iom16.h
TIMER2_interrupt — просто имя прерывания, можно написать что угодно.
В остальном тут такой же С как и в любой другой среде.

Отладка в IAR
Отлаживать программу можно в железе, через любые аппаратные отладчики. JtagIce и Dragon самые известные и доступные из них. При этом показывается содержимое регистров, переменные, снимаются/устанавливаюся аппаратные флаги и срабатывают прерывания. Причем в отличие от gcc + студия переменные показываются вне зависимости от ее типа и расположения. В общем отладка в железе в iar проста и приятна. Тип отладчика выбирается в свойствах проекта. Там же он и настраивается.
У кого отладчиков нет можно использовать симулятор. Тут уже не так радостно. IAR, в отличие от студии, не эмулирует работу процессора. Это означает, что таймеры в симуляторе не считают, флаг готовности аппаратного i2c не устанавливается и так далее. И установка флага нужного прерывания вручную не приведет к вызову этого прерывания. Но переменные все равно показываются правильно. После gcc это неимоверно доставляет.
Итак, отладка в iar. Для запуска отладчика нажимаем зеленый треугольник на правом панеле.

Дополнительные окна открываются через меню View .
Переменные (окно 4) могут показываться в окнах Watch, Auto, Statics и Locals. В окне Watch отображаются только выбранные переменные, в Statics все статические, а в Locals только локальные переменные. В окне Auto будут только переменные недавно изменившие значение. В качестве переменных можно указывать названия регистров. К примеру на переменную PORTB будет выводиться текущее состояние этого порта.
При желании можно сделать вывод каждого окна отдельно или выбирать нужное закладкой внизу окна. Способ вывода меняется перетягиванием нужных окон.
Окно Регистры (окно 3)отличается от переменных тем, что в нем выводится не только значение выбранного регистра, но и связанные с ним регистры. Например для порта А также будет выведены DDRA и PINA. Так же значение каждого регистра можно развернуть для показа битовых полей.
В окне дизасемблера (окно 2) и самой программы (окно 1) будет текущий выполняемый фрагмент кода. Если при этом выбрать окно ассемблера, то при при трассировке будет выполнятся каждая ассемблерная команда по очереди. Так же ставить точки останова можно в любом окне.
Так можно отладить всю логику программы, кроме работы железа и прерываний. И если с симуляцией железа сделать ничего нельзя, кроме как ставить нужные биты вручную, то вызвать прерывания автоматически все таки можно. Хоть и не удобно, но все же можно. Для этого выбираем Simulator->Interrups.

В этом окне выбирается тип прерывания, через сколько времени оно начнет работать и интервалы срабатывания. После установки прерывания оно начнет регулярно срабатывать. До симулирования работы проца конечно далеко, но все же лучше чем вообще ничего.

$PROJ_DIR$ — это путь до твоего файла проекта (.ewp)
Песня в том, что объявляя относительные пути ты можещь запустить проект из любого места, не меняя настроек. Примерно так как во вложении.

В окошке инструментов стартовый каталог определяет место откуда будет запускаться тулза.
Пусть нужна вот такая команда
«C:\IAR\JLinkARM_V358c\JLinkGDBServer.exe»
Можно сделать так


в первом случае рабочий каталог $PROJ_DIR$ (там где лежит .ewp), во втором C:\IAR\JLinkARM_V358c

Почему-то ссылки не вставились. (

$PROJ_DIR$ — это путь до твоего файла проекта (.ewp)
Песня в том, что объявляя относительные пути ты можещь запустить проект из любого места, не меняя настроек. Примерно так как во вложении.
dl.dropbox.com/u/12253020/path.gif

В окошке инструментов стартовый каталог определяет место откуда будет запускаться тулза.
Пусть нужна вот такая команда
«C:\IAR\JLinkARM_V358c\JLinkGDBServer.exe»
Можно сделать так
dl.dropbox.com/u/12253020/rel.gif
или так
dl.dropbox.com/u/12253020/abs.gif

в первом случае рабочий каталог $PROJ_DIR$ (там где лежит .ewp), во втором C:\IAR\JLinkARM_V358c

А я пытаюсь «подружить»: SVN (VisualSVN для VS2008), Proteus 7.6 (ISIS), Enterprise Architect, VS2008, IAR 5.51, WinAVR-20100110, AVR Studio 4 и AVR Studio 5… ух, короче, всё это в одном проекте.
Вот хранилище поделки: mysvn.ru/cop/Example/
Там читать: mysvn.ru/cop/Example/readme.txt

Думается мне, что если писать на чистом C++, без особых выкрутасов, то можно иметь кросс-компиляторный проект в одном почти флаконе. Конкретно этот у меня компилируется и в IAR 5.51 и в WinAVR-20100110.

Отлаживаю одновременно в: ISIS, IAR и AVR Studio (через ubrof8, который генерится IAR'ом в папке exe специально для этого).

Цели:
1. Проектирование сверху (UML2).
2. Использование удобной IDE VS2008.

Я пишу «образ» проекта в EA, используя редактор UML2, потом генерю образ(ы) класса(ов) в виде исходников и подключаю их в VS2008. Там же в студии через Makefile компилирую. Отладку, симуляцию можно делать где угодно.
Переключение компилятора в Defines.h (одном месте).
Моделируемая схема: Example.dsn — Proteus ISIS 7.6 (пока что-то не задаётся работа с LCD 20x4).

Не обязательно вставлять этот макрос. В меню GENERAL OPTIONS во вкладке System достаточно поставить галочку в поле "Enable bit definitions in I/O-include files " и будут доступны битовые поля регистров.

IAR Embedded Workbench for 8051

15 декабря 2011, 21:56 10 комментариев

IAR Embedded Workbench for 8051 - одна из самых фаворитных сред проектирования для микроконтроллеров 8051 на языке C, C++ и ассемблер. В состав среды разработки заходит компилятор, компоновщик и отладчик. Среда проектирования имеет очень качественный оптимизатор. Дополнительные программки и отменная интегрированная система поддержки дополнительно облегчают написание программ. Она обеспечивает расширенную поддержку микроконтроллеров 8051 и формирует слишком малогабаритный и действующий код.

Редактор начального текста

- Удобный интерфейс пользователя;
— Автоматическое выделение ошибок;
— Настраиваемая панель инструментов;
— Выделение директив C/C++;
— Развитые средства поиска.

Компилятор языка C/C++

- Один из наилучших компиляторов по эффективности кода;
— Полная совместимость с ANSI C;
— Некоторое количество моделей для действенного распределения памяти;
— Алгоритмы оптимизации специально для 8051-микроконтроллеров;
— Расширения языка для встроенных систем.

- Интегрированный макроассемблер для приложений настоящего времени;
— Включает препроцессор для компилятора C.

- Поддерживает полную компоновку, размещение, и создание формата;
— Поддерживает наиболее 30 обычных выходных форматов для использования совместно с внутрисхемными эмуляторами;
— Загрузка модулей только только при необходимости.

Симулятор и отладчик

- Отладка в кодах C, C++ и ассемблера;
— Разные точки останова;
— Язык описания периферии и операций ввода/вывода;
— Просмотр областей CODE, DATA, EEPROM и регистров ввода/вывода;
— Обработка прерываний с пророчеством;
— Контроль любых переменных и стека;
— Нетривиальные типы данных.


Поддерживаются множество микроконтроллеров 8051.

- добавлена поддержка эталона ISO/IEC 9899:1999 (C99);
— обновлена CLIB библиотека;
— выпущено руководство пользователя для работы с отладчиком C-SPY.

- Операционная система Microsoft Windows XP (SP3), Vista (SP2) или Windows 7.
— 1 Гбайт оперативной памяти и 500 Mб свободного дискового пространства.
— Adobe Acrobat Reader, для того, что бы добыть доступ к документации по продукту.

Название программы и Версия: IAR Embedded Workbench for 8051 v8.10.3
Операционная система: Windows® 2000/XP/Vista/7
Год выхода: 2011
Язык интерфейса. Русский, Англиский
Лекарство: Присутствует
Размер файла: 125.34 Mb

Необходимо зарегистрироваться чтобы прочитать текст или скачать файлы