Возвращаем автозавершение и подсказки в IAR
Бедный IAR, его редактор и так хейтят, а после того как у него слетело автодополнение и подсказки для функций, пользоваться им стало невозможно от слова совсем…
Читать дальше
Читать дальше
Тёмная подсветка синтаксиса в IAR
Подсветка синтаксиса
Для тех, кому всё-таки приходится пользоваться средой разработки IAR и нет желания заморачиваться с плагинами для VS Code и Eclipse.
Как выглядит IAR ARM 7.8 с моим вариантом раскраски:

Читать дальше
IAR project manager
IAR project manager
Хочу поделиться небольшой программой для работы с проектами IAR EWARM для микроконтроллеров STM32F с ядрами M0, M3, M4, M7 (и другими со схожей организацией структуры папок ST CMSIS).
Нескромное название программы — IAR project manager, предназначена для ускорения типовых рутинных процессов при работе с IAR EWARM. Её основные возможности:
— создание нового проекта со всеми необходимыми файлами CMSIS;
— добавление новой директории в проект;
— переименование «воркспейса» и проекта;
— очистка проекта;
Программа написана на Python 3.6.0 и имеет зависимость от LXML.
На данный момент “exe” версии программы нет, поэтому для её запуска необходим интерпретатор Python.
Распространяется под лицензией MIT, соответственно: "...THE SOFTWARE IS PROVIDED «AS IS», WITHOUT WARRANTY OF ANY KIND ..."
Ссылка на проект: GitHub
Далее о работе с программой.
Читать дальше
- 0
- 07 марта 2017, 03:24
- avilezhaninov
- 15
Если IAR ARM не заливает прошивку
Может кому сэкономит время потом. Хотя наверное детская ошибка. IAR ARM 7.50.2 по нажатию Ctrl-D не прошивал у меня микроконтроллер STM32F030F4 через ST-Link хоть ты тресни. Оказалось надо в свойствах проекта (Alt-F7) поставить чекбокс.

Полночи угробил на поиски. ((

Полночи угробил на поиски. ((
Makefile для IAR + CodeBlocks
Открыл для себя Code::Blocks, чего и всем желаю.
Преднастроенных в ней компиляторов для STM8 нету, попытался добавить туда EWSTM8 но плюнул на эту затею.
Случайно попал на Atomthreads и обратил внимание, что там есть мейкфайлы под иар и космик.
Взял и причесал под себя иаровский, с космиком пока не срослось.
Полученный мейкфайл успешно испольую с CB.
Я понимаю, что тут нет нормальной отладки, но при особой нужде недолго поднять иаровский проект.
Вобщем — выкладываю, авось кому пригодится.
Конструктивная критика приветствуется.
Преднастроенных в ней компиляторов для STM8 нету, попытался добавить туда EWSTM8 но плюнул на эту затею.
Случайно попал на Atomthreads и обратил внимание, что там есть мейкфайлы под иар и космик.
Взял и причесал под себя иаровский, с космиком пока не срослось.
Полученный мейкфайл успешно испольую с CB.
Я понимаю, что тут нет нормальной отладки, но при особой нужде недолго поднять иаровский проект.
Вобщем — выкладываю, авось кому пригодится.
Конструктивная критика приветствуется.
Шаблоны проектов IAR для STM8S/STM8L SPL

Честно говоря запарился я на каждый проект перетаскивать исходники, настраивать пути, прописывать хедеры и прочее прочее. И наконец-то созрел сделать себе нормальные шаблоны. Лучше ведь поздно чем никогда, верно?
И для того чтобы не забыть, что и где я правил в оригинальной библиотеке, да и чтобы где-то забэкапить результаты своих трудов решил написать эту заметку. Ну а если кому-то это поможет сэкономить время — буду только рад =)
Для создания шаблонов использовался IAR 1.42.3, и библиотеки STM8S SPL v2.2.0, STM8L51x SPL v1.6.1.
Читать дальше
mbed LPC1768 + IAR + CMSIS-DAP (шаблон проекта)

Всем привет!
Думаю что тем, кто среди вас является поклонниками IAR и у кого внезапно завалялся mbed LPC1768 (он же mbed обыкновенный), может пригодиться шаблон, который я состряпал и оформил на днях.
Почему рабочий и такой весь распрекрасный mbed может внезапно заваляться? Ну хотя-бы потому, что он, сикут эт ардуинус вульгарис, не поддерживает нормальную отладку из коробки со своим онлайн-компилятором. Именно поэтому он завалялся и у меня, после того, как я с ним наигрался. Что уж поделать — жирую я, привык к нормальной отладке :)
Так вот, относительно недавно у mbed было феерическое обновление прошивки интерфейса, в которую добавили поддержку CMSIS-DAP. Кто следит за событиями и в теме — тот знает. Кто не следит и не в теме — это такой специальный стандарт, разработанный ARM, который описывает универсальный отладчик.
Таким образом, mbed получил возможность полноценно отлаживаться по евойному USB проводочку, что есть очень хорошо. Но бида заключалась в том, что на тот момент, когда я обновил свой mbed и решил испробовать этот функционал, единственной средой, которая поддерживала CMSIS-DAP была среда Keil MDK (кто бы сомневался!). Я далеко не фанат этой среды, но чисто для интереса, поставил ее и решил попробовать. Действительно, отладка работала и делала это очень хорошо. Тем не менее, MDK я удолил, а все попытки узнать что-то про поддержку CMSIS-DAP у IAR приводили ко вполне обоснованным предположениям, что IAR тесно повязан с Segger и такую поддержку реализует не скоро. Если вообще реализует. По крайней мере интернеты были именно такого мнения и настроя.
Но на днях, обновив IAR на относительно последний, я узрел, что чудо свершилось! Поддержка CMSIS-DAP появилась и в IAR. Естественно, я сразу же начал запиливать блинки, который можно было бы отлаживать на mbed в IAR'е. Очень помогло то, что все библиотеки mbed с некоторого времени лежат с открытыми исходниками — это замечательно. Тем не менее, после создания и первичной настройки/нафаршировки проекта, простой блинки не то чтобы отлаживаться, он и компилироваться-то не особо хотел. Вот тут-то и начались грабли.
Проблемы компиляции были решены небольшим допилом mbed'овской либы. Также, либа была немного реструктурирована для упрощения. Был убран либовский CMSIS, ибо в IAR есть возможность подключить встроенный. После этих шаманств дело пошло, блинки загружался и работал нормально. Но вот отлаживаться упорно не хотел.
В результате долгих мудовых рыданий была обнаружена совершенно неочевидная вещь, связанная со скриптом линкера, о которой, походу, никто не в курсе. По всей видимости, это такая специфическая особенность работы связки mbed, IAR и CMSIS-DAP. Дело в том, что если оставить скрипты линкера как у всех, в частности, начало региона ROM в 0x00000000, то программа успешно компилируется, запускается и работает, но вот отлаживаться (именно в IAR'e) не желает — отладка жутко глючит и проц периодически ресетится и валится. Я так и не понял с чем это связно, но мне кажется, что это всяко связано с механизмом защиты кода NXP. Поэтому, ставим начало региона ROM в 0x00000300 (за областью защиты) и радуемся — отладка начинает работать как часы. Вот так.
Было еще несколько разных мелких нюансов, которые я причесал в шаблоне, и которые уже не упомню. Но тем не менее, можете качать на здоровье и пользоваться. Вполне себе мило и работает.
Да. Вот еще что. У IAR'a то-ли такая специфическая реализация CMSIS-DAP, то-ли просто баг на первой версии библиотеки поддержки этого типа отладчиков, то-ли просто какая-то несовместимость с mbed, но просто так, через механизмы отладки, загрузить прошивку в mbed не получается. Вообще никак. Загрузка только ручками на диск mbed, как обычно.
На самом деле это не сильно большая проблема, т.к. решается она просто — в свойствах проекта задается команда автоматического копирования исполняшки на диск mbed после сборки, а в свойствах отладки ставится галка, что загрузку производить не надо. Вот и все. Процедура работы при этом такая: собираем исполняшку (она автоматически грузится на диск mbed), жмем на mbed кнопу reset (исполняшка шьется в контроллер), жмем отладку в IAR, отлаживаем. В общем-то, не сильно много неудобств. Но я на всякий случай написал в суппорт mbed об этой шняге — посмотрим, что они ответят.
- +1
- 06 июня 2013, 01:38
- darksimpson
- 14
- 1
Это-ж open source!
Хороши продукты с открытым исходным кодом — бесплатны, свободны, сообщество и всё такое. Да вот ошибки в ни, к сожалению не редкость. Но это-ж open source! Нашел ошибку, исходный код есть — возьми и почини. Сказать легко. Дальше маленькое расследование одной редкой, но неприятной ошибки в пакете binutils для ARM.
История одной ошибки
История одной ошибки
8L-Курс, Часть 1 - Hello светодиод!
← Часть 0 — Начало Содержание Часть 2 — GPIO →
Внимание!
Если вы читали статью про STM8L-модуль, а конкретно часть про быстрый старт, то вы увидите здесь кучу знакомого текста и читать вам будет немного скучно. И не говорите потом, что вас не предупреждали.
В прошлой части у нас был обзор и немного теории (надеюсь достаточно для того, чтобы понять что вообще происходит), а в этой будет практика. Мы разберемся с подключением и прошивкой МК, поставим и настроим IAR, напишем в нем простенькую мигалку светодиодом и запустим ее.
Кроме того, в этой части я хочу учинить жестокую расправу над неопределенностями: у нас есть три варианта железа: одинокая STM8L-Discovery с отладчиком, PINBOARD2+STM8L модуль (без отладчика, но с бутлоадером) или discovery + PINBOARD2. Я все устройства и примеры буду собирать на пинборде, но для тех, кто пользуется другой железкой, оставлю для каждого примера схему, чтобы можно было собрать на чем угодно.
Читать дальше
Внимание!
Если вы читали статью про STM8L-модуль, а конкретно часть про быстрый старт, то вы увидите здесь кучу знакомого текста и читать вам будет немного скучно. И не говорите потом, что вас не предупреждали.
В прошлой части у нас был обзор и немного теории (надеюсь достаточно для того, чтобы понять что вообще происходит), а в этой будет практика. Мы разберемся с подключением и прошивкой МК, поставим и настроим IAR, напишем в нем простенькую мигалку светодиодом и запустим ее.
Кроме того, в этой части я хочу учинить жестокую расправу над неопределенностями: у нас есть три варианта железа: одинокая STM8L-Discovery с отладчиком, PINBOARD2+STM8L модуль (без отладчика, но с бутлоадером) или discovery + PINBOARD2. Я все устройства и примеры буду собирать на пинборде, но для тех, кто пользуется другой железкой, оставлю для каждого примера схему, чтобы можно было собрать на чем угодно.
Читать дальше
Шаблоны проектов на C++ для AVR [GCC, IAR]
Шаблоны проектов для микроконтроллеров: ATmega48, ATmega16, ATmega32, ATmega128.
Хотел оформить в виде ссылки, да забыл стиль поста выбрать. Подробности и обсуждение на форуме тут: Шаблоны проектов на C++ для AVR [GCC, IAR]
Хотел оформить в виде ссылки, да забыл стиль поста выбрать. Подробности и обсуждение на форуме тут: Шаблоны проектов на C++ для AVR [GCC, IAR]