Цитата(Sergio66 @ Mar 9 2005, 22:11)
Среда IAR AVR 4.10A.
Подскажите, плз., как сгенерить выходной файл проекта (*.hex, *.eep), или, какие они могут иметь расширения?
Вроде все заработало, проект компилится без ошибок, линкуется, но того, что заливать в камень найти не могу. Все опции перебрал.
В RELEASE генерится dbg файл, а в DEBUG - hex, но размером с паровоз. 231 К. Это при том, что код пишется для М32. ICC генерил файлы размером 40 - 50 К. Загрузчик AS-2 не может загрузить полученный файл. А eep вообще не генерится. Хотя, __eeprom переменные я использую.
Заранее благодарен.
Инициализируете ли Вы переменные типа __eeprom? Если нет, то делаем так:
Заходим в Options->Linker->Output, в области Format ставим галочку напротив строки "Other", в графе "Output standart выбираем требуемый формат (я использую обычно intel-standart).
После чего компилируем. В результате в папке пороекта в подпапке Debug/Exe или в Release/Exe - в зависимости от выбранной конфигурации сгенерится файл *.a90 . Это и есть файл в формате HEX, который нужно прошивать в контроллер. Если Вы хотите, чтобы файл имел расширение *.hex, то там же поставьте галочку напротив Override default, и в появившемся окошечке введите требуемое имя.
Ваш файл HEX имел такой большой размер потому, что в нем хранится много отладочной информации - типа текствых названий портов, исходника на С и т.д.
Если же Вы инициализируете __eeprom переменные, то получить выходной файл HEX будет сложнее, но также возможно.
Кроме того поэкспериментируйте с настройками оптимизации - Вы будете приятно удивлены размером кода. Но внимательно следите, чтобы компилятор в таком случае не проглотил куски кода. Хотя с этим можно бороться...
Удачи. Если что не получится - спрашивайте.