Как добавить подсветку типов данных в IAR, AVR Studio и CodeVision AVR

24/09/2013 - 11:57 Павел Бобков

Введение

Если вы пользуетесь типами данных с фиксированной разрядностью, которые определены заголовочном файле stdint.h, то наверняка столкнулись с тем, что софт для программирования AVR не подсвечивает их. Unsigned char, unsigned int выделяет, а uint8_t, uint16_t нет. Вроде небольшое неудобство, но мешает. Оказывается в любой из трех программ - IAR, AVR Studio, CodeVision - это можно исправить и сделать это очень легко. 

Подсветка кода в IAR

Создаем текстовый файл с произвольным именем, допустим keywords.txt. Записываем в него типы данных, которые хотим подсветить. Каждая запись должна быть на новой строчке, вот так:

uint8_t
uint16_t
uint32_t
int8_t
int16_t
int32_t

Сохраняем файл где-нибудь в папке IAR`a, например, в IAR Systems\Embedded Workbench 5.0 Evalution\common\config. В этой же папке хранится файл шаблонов кода IAR`a - CodeTemplates.ENU.txt.

Далее открываем в IAR`е меню Tools > Options.


В разделе Editor > Setup Files ставим галочку Use Custom Keyword File и указываем путь к нашему файлу c ключевыми словами.


Ну а подсветку настраиваем в разделе Editor > Colors and Fonts >Syntax Coloring > User keyword.

Подсветка кода в AVR Studio

В AVR Studio подсветку нестандартных типов данных сделать еще проще. В папке, где установлена студия - ... Atmel\AVR Tools\AvrStudio4\edit\ есть файл AVRStudio_c.ini. В этом файле в разделе [Keywords] описаны все ключевые слова. Чтобы добавить подсветку типов данных с фиксированной разрядностью, нужно вставить в этот раздел такой текст:


int8_t      =Keyword
int16_t    =Keyword
int32_t    =Keyword
uint8_t    =Keyword
uint16_t  =Keyword
uint32_t  =Keyword

Ну и не забыть сохранить его. 

Подсветка кода в CodeVision AVR

CodeVision AVR позволяет настроить редактор кода редактор кода наиболее гибко. Открываем меню Settings > Editor.


На вкладке Syntax Highlighting выбираем Language Element > User defined keyword и в нижнем окошке прописываем типы данных.


Comments   

# Владимир 2013-09-24 15:31
Ух ты! Спасибо, очень полезная инфа!
# _Артём_ 2013-09-25 22:19
>>софт для программировани я AVR не подсвечивает их
Не совсем верно.
Смотря какой софт.
>>IAR, AVR Studio, CodeVision
Уже давно есть софт который всё это подсвечивает (в частности и не только это)
Поэтому редактор IAR, CodeVision и тд - в топку в архив, а то вдруг пригодится.
AtmelStudio и Eclipse (про Eclipse вы ничего не пишете почему-то) всё это поддерживает "из коробки".
# Pashgan 2013-09-26 06:32
В заголовке написано, про какой софт идет речь.
# Прохожий 2013-10-03 12:19
Переходить с IAR на Eclipse только из-за отсутствия подсветки типов по умолчанию, да неужели?
Спасибо за пост.
# САБ 2013-10-03 12:34
Не, не только. Поработав в Eclipse, редактор IAR больше не воспринимается как среда разработки. Там и всплывающие подсказки, и автодополнение, и быстрый переход на определение переменных/функ ций/макросов и т.д. И определения новых типов он находит сам "на лету", не нужно их вписывать вручную.
# Pyku_He_oTTyda 2013-10-01 09:42
Спасибо! Очень полезно!

У вас недостаточно прав для комментирования.