My favorites ▼
| Sign in

sieelf-dev

SieELF Developing

Project Home

Downloads

Wiki

Issues

Source

Настройка компилятора IAR в Code::Blocks

Настройка компилятора

Настраиваем парсер ошибок.

Настройка компилятора

1. Создаём в папке IAR'а папку bin и кидаем в неё 3 файла со следующим содержанием:
iccarm

#!/bin/sh
wine /path_to_IAR/ARM/bin/iccarm.exe $@

aarm

#!/bin/sh
wine /path_to_IAR/ARM/bin/aarm.exe $@

xlink

#!/bin/sh
wine /path_to_IAR/common/bin/xlink.exe $@

2. Запускаем Codeblocks и открываем настройки компилятора ("Settings" -> "Compiler and debugger")

3. Выбираем компилятор с наименьшим числом стандартных параметров (во вкладке "Compiler Flags") копируем его и обзываем как-нибудь вроде "IAR ARM С/CPP Compiler" можно сразу задать его как основной компилятор (кнопка "Set as default")

4. лезем во вкладку "Toolchain executables" и выбираем папку с установленным иаром ("Compiler's installation directory")
в полях "C Compiler" и "C++ Compiler" пишем "iccarm" (без ковычек)
в поля "Linker ..." пишем "xlink" (без ковычек)
в поле "Resource compiler" пишем "aarm" (без ковычек)

5. во вкладке "Compiler settings"->"Other options":

-s9
--no_wrap_diagnostics
--only_stdout
--no_unroll
--cpu_mode arm
--endian little
--cpu ARM926EJ-S
--stack_align 4
--interwork
-e
--fpu None
--inline_threshold=2
--dlib_config $IAR_PATH/ARM/LIB/dl5tpainl8n.h
-I $IAR_PATH/ARM/inc/

6. во вкладке "Linker settings" в поле "Other linker options":

-Felf
-f test.xcl
-ynpra
$IAR_PATH/ARM/LIB/dl5tpainl8n.r79
-s main

7. во вкладке "Custom variables" жмём на add, в поле "key" пишем "IAR_PATH", в поле "value" адрес папки иара

8. ползём вкладку "Other options" (самая правая) и жмём на кнопку "Advanced options..."
на вопрошание об уверенности в своих действиях отвечаем "Yes" или "Да"

9. в выпадающем списке "Commands" выбираем "Compile single file to object file" и в поле "Command line macro" пишем:

$compiler "$file $options $includes -o $object"

9.1 добавляем инструкцию для компиляции asm файлов: тыкаем на '+' под надписью "Source ext." в всплывшем окне пишем "asm" без кавычек в поле "Command line macro":

$rescomp "$file --endian little --cpu ARM926EJ-S --fpu None -o $object"

9.2 для наименшего гемора с файлами типа config_data.c добавляем расширение cc и переименовываем файло в config_data.cc для этого опять же тыкаем на '+' под надписью "Source ext." и в всплывшем окне пишем "cc" (латиницей) без кавычек в поле "Command line macro":

$compiler "$file $options --segment code=CONFIG --segment data=CONFIG $includes -o $object"

9.2.1 Или Можно выполнить такой хинт:
жмакаем ПКМ на файле содержимого конфига, далее жмем Properties, идем на вкладку Advanced, ставим галку на Use custom command to build this file и пишем следующее:

$compiler "$file $options --segment code=CONFIG --segment data=CONFIG $includes -o $object"

Разумеется, вместо конфиг можно подставить имя нужного сегмента

9.4 Там же тыкаем на '+' под надписью "Source ext." и в всплывшем окне пишем "cpp" (латиницей) без кfвычек в поле "Command line macro":

$compiler "$file --eec++ $options $includes -o $object"

10. в выпадающем списке "Commands" выбираем "Link object file to console executable" и в поле "Command line macro" пишем:

$linker "$link_objects $link_options -o $exe_output"

Настраиваем парсер ошибок.

1. открываем кодблокс и лезем в расширенные настройки иаровского компилятора. ( "Settings" -> "Compiler and debugger" -> вкладка "Other options" -> кнопка "Advanced options..." ) 2. открываем вкладку "Output parsing" 2.1. в списке "Parsing expressions" выбираем "Compiler warning", в поле "Regular expression" пишем:

^".*:(.*)",([0-9]*).*Warning(.*)[^.](.*)

ставим в поля:
"message" - 3
"Filename" - 1
"Line" - 2
остальные 0

2.2. выбираем "Compiler error" и в поле "Regular expression" пишем:

^".*:(.*)",([0-9]*).*[eE]rror(.*)

ставим в поля:
"message" - 3
"Filename" - 1
"Line" - 2
остальные 0

2.3. Выбираем "Linker error" и в поле "Regular expression" пишем:

^[eE]rror\[(.*)\]:\ (.*) \(\ (.*)\ \)

ставим в поля:
"message" - 2
"Filename" - 3
остальные 0

3. для корректного парсинга с рабочим переходом к коду на линуксе в настройках вайна не должна быть настроена буква диска с исходниками

Скачать примеры проектов (положить в ~/.codeblocks/UserTemplates/)

P.S. Все описанное здесь описано для настройки Code::Blocks на Linux
P.P.S. статья взята отсюда, © titron

©2011 Google -
Terms -
Privacy -
Project Hosting Help

Powered by Google Project Hosting