Полная версия этой страницы:
Вопрос по IAR
ingord
Jan 10 2008, 10:43
Пытаюсь освоить IAR. Скачал 30-дневную версию 4.30. Написал для начала простенькую программу. Все компилируется без ошибок. А где искать hex-файл? Или где что указать? И следующий вопрос - можно ли где взять пилюлю?
forever failure
Jan 10 2008, 10:52
В опциях линкера задаётся формат выходного файла. hex - это чо-то вроде Intel hex По умолчанию может иметь расширение .a90 и находится в под каталоге Release/Exe
id_Alx
Jan 10 2008, 10:54
Project options -> Linker -> указать имя файла и его формат. Для конфигурации Release по умолчанию файл в $PROJECT_DIR$\Release\Exe
AndyBig
Jan 10 2008, 10:54
Во-первых, в опциях проекта на закладке линкера надо указать формат выходного файла intel-standard или intel-extended (по умолчанию там стоит C-SPY). Выходной хекс-файл (с расширением .a90) будет создаваться в подкаталоге /debug/exe или /release/exe.
Все это можно изменить в опциях проекта, закладка линкера.
ingord
Jan 10 2008, 10:59
Т.е. нужно просто переименовать (в смысле изменить расширение)? Спасибо, попробую.
SasaVitebsk
Jan 10 2008, 11:34
Лучше при создании проекта указать, что делаем Си для AVR Studio. IAR сам все опции выставит. Ну и указать release
ingord
Jan 10 2008, 11:57
Спасибо профессионалам! А что бы еще обязательно указывать при создании нового проекта?
SasaVitebsk
Jan 10 2008, 12:19
Покопайтесь в закладках Project/Options... Учитывайте, что могут быть разные опции для режима debug и для release. Обязательно выбирается процессор, распределение стеков и кучи, тип памяти, листинги.
Про размер стэка надо помнить... в ИАРе это важно
ingord
Jan 10 2008, 13:17
А вот и он, стек... Получаю
Building configuration: Master - Release
Updating build tree...
Linking
Error[e16]: Segment CSTACK (size: 0x20 align: 0) is too long for segment definition. At least 0x20 more bytes needed. The problem occurred while
processing the segment placement command "-Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE", where at the moment
of placement the available memory ranges were "DATA:0--1"
Total number of errors: 1
Total number of warnings: 0
Куда смотреть дальше? Уж не обижайтесь, что пристаю с такими мелочами, но на русском книг нет, а с английским мануалом мой быстрый старт растянется на полгода, если не больше.
Project/Options/... дальше вроде General и на предпоследнюю вкладку и менять CSTACK И RSTACK. У меня сейчас нет установленного ИАРа, потому координаты приблизительные...
zltigo
Jan 10 2008, 13:44
Цитата(ingord @ Jan 10 2008, 12:43)

Пытаюсь освоить IAR..
Считаю правильным путем освоить скрипрт линкера и в нем уже задавать любое количество любых выходных форматов.
Документация по линкеру у IAR достаточно хорошая.
Вопросы генерации разных форматов на форуме уже обсуждались.
Moderator:
Просьба давать более внятные названия тем и размещить их по назначению.
Тему перенес.
Сергей Борщ
Jan 10 2008, 13:46
Цитата(ingord @ Jan 10 2008, 15:17)

Z(DATA)CSTACK+_..X_CSTACK_SIZE=_..X_SRAM_TBASE:+_..X_SRAM_TSIZE"
Оно пытается разместить стек во внешней (X_SRAM) памяти. А она у вас есть вообще? Если есть, то где-то на вкладках должны указываться ее размер и адрес. Если нет - на вкладке General проверьте, что указан правильный процессор и вообще поищите, где включается/выключается внешняя память.
ingord
Jan 10 2008, 14:03
Все! С вашей помощью (и помощью такой-то матери) заработало! Всем большое спасибо! А я пошел оттачивать мастерство. Надеюсь, сегодня больше не буду всех доставать дурацкими вопросами.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.