Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как настроить iar для AT89C2051 для вывода HEX
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > Программирование
grek81
Не могу настроить компилятор версии 4.05 8051 для вывода нормального HEX файла.То есть получается так, что после компиляции программы она работает в симуляторе(использую протеус),а после того как заливаю в контроллер,программа как мертвая.Думаю что,что то с частотой,так как нет генерации.Программа записанная на другом компиляторе(keil) и зашитая в контроллер нормально работает.Я немного не понимаю где вообще указывается частота на которой работает контроллер,как мне объяснили она не указывается.Не могли бы помочь с вопросом по настройке компилятора,потому что при изменении некоторых параметров появляются непонятные мне ошибки.
Sanya_kv
В Линкере в формате установи intel
grek81
Да уж отправили к начинающим хотя вопрос немного не к ним.Может конечно это просто,но не у меня одного такая проблема.В настройках стоит intel-standart.Ну начну с самого начала.Стоял у меня IAК 6.10 и на нем у меня обнаружилась такая фигня.После компиляции забиваю файл прошивки в контроллер AT89C2051 и он как не живой хотя настройки вроде все сделаны.Думал, что может что то с компилятором,скачал и установил новую версию 7.20D,но все тоже самое что мы не пытались так и не сделали.Как я понимаю компилятор не прошивает(компилирует) частоту с которой работает процессор.А настройки не как не можем подобрать,то компилятор пишет что не могу открыть какой то файл то еще что то.Так как в симуляторе сам задаешь частоту то в нем программа работает,но вот в микросхеме ни как заводится не хочет.Не могли бы вы прислать скриншот с наиболее важными настройками для компилятора.Свои настройки я оставил во вложении.У нас на этом компиляторе написано массу программ для этого контроллера,но перейдя на последнюю версию не можем разобраться с настройками.Вроде все просто,а нет не получается.
zltigo
Цитата(grek81 @ May 26 2009, 18:16) *
Как я понимаю компилятор не прошивает(компилирует) частоту с которой работает процессор...
Программа записанная на другом компиляторе....

Да, это не к начинающим, но до начинающих градаций на этом форуме не предусмотрено. Разве только оффтопик.
grek81
я согласен но проблему надо решить,так окажите помощь если у кого точно все настройки работают пришлите скриншотами.
zltigo
Цитата(grek81 @ May 26 2009, 18:30) *
если у кого точно все настройки работают пришлите скриншотами.

Видете-ли, как не прискорбен этот факт, но программирование заключается не выставлении волшебных галочек в IDE. По этой причине ответа на поставленый Вами "вопрос" какую галочку поставить, дабы получить некую программу, Вы не пролучите.
P.S.
Да, после наскальной живописи (сриншотов) человечество изобрело письменность - настоятельно не рекомендую загромождать форум картинками.
grek81
Зато на картинках все наглядно и понятно,может все таки пришлеш,либо хотя бы намекни в чем может быть проблема...????
DpInRock
-Ointel-standard,(CODE)=$PROJ_DIR$\programname.hex
-Ointel-standard,(XDATA)=$PROJ_DIR$\eprom.hex

Это все записать на вкладку линкер -- добавить команду, чтоль...
grek81
Hex стал другой,но пока не попробовал.Программатор на работе,а не объясните в чем может быть проблема?
DpInRock
Закладка Линкер -- Экстраопшенз.
defunct
Цитата(grek81 @ May 26 2009, 21:24) *
в чем может быть проблема?

Цитата
Программа записанная на другом компиляторе(keil) и зашитая в контроллер нормально работает.

Проблема в том что вы полезли пользовать IAR, а не надо было. ;>
Почему бы не продолжать работать с keil.
DpInRock
Чисто совет топикастеру.
Метод научного тыка должен быть научным по определению метода.
Метод просто тыка - до первой розетки без УЗО.

Сильно рекомендую больше читать.
grek81
Попробовал я этот HEX файл,как установил что вы сказали и все тоже самое контроллер стоит молчит,не нравятся мне в прошивке FF.То есть если смотреть HEX редактором то в начале идут цифры а потом ШТУК 8 FF? Так почемуто и получается что нет генерации частоты?Где она указывается,частота на которой работает контроллер?
defunct
Цитата(grek81 @ May 27 2009, 16:33) *
То есть если смотреть HEX редактором то в начале идут цифры а потом ШТУК 8 FF?

Так и должно быть

Цитата
Так почемуто и получается что нет генерации частоты?Где она указывается,частота на которой работает контроллер?

Частота не зависит от программы.
Частота зависит от того, что и как подключено к ножкам XTAL.
Читайте Даташит на МК с которым работаете.
DpInRock
Цитата(grek81 @ May 27 2009, 17:33) *
Попробовал я этот HEX файл,как установил что вы сказали и все тоже самое контроллер стоит молчит,не нравятся мне в прошивке FF.То есть если смотреть HEX редактором то в начале идут цифры а потом ШТУК 8 FF? Так почемуто и получается что нет генерации частоты?Где она указывается,частота на которой работает контроллер?

Моя бабушка, ЦЕН, с той же степенью профессионализма электронщика объясняла мастеру-ремонтнику что не работает в телевизоре - "Включаешь- не работает".
Еще раз совет: уберите руки от мышки и почитайте что-нибудь.
grek81
Да вы читайте,я же написал что компилирую другим компилятором все работает,и что вы тут пишите про электронику.Да я много не знаю,но я схему запуска и два конденсатора и кварц подсоединил.Поэтому и спрашиваю,ну нет у меня частоты,а какие настройки компилятора неправильные не знаю,уже много настроек перепробовал,либо пишет что не хватает какого то файла,который находится в папки LIB/clib но там действительного его нет,либо компилирует делает hex файл но в микроконтроллере не работает???Если бы было все так просто....
defunct
Цитата(grek81 @ May 27 2009, 19:01) *
Да вы читайте,я же написал что компилирую другим компилятором все работает

Вы тоже читайте, я же написал - засуньте IAR в место, где не светит солнце, и возвращайтесь к Keil который работает.

Цитата
Поэтому и спрашиваю,ну нет у меня частоты

Скажу прямо - у этого контроллера AT89x2051 частота программно не задается. Достаточно подцепить кварц с конденсаторами и все.
Отсутсвие клока - это только аппаратная проблема, проверьте все ли в порядке с nRST, питанием и пайкой кварца и конденсаторов.

Да и поясните наконец детально какой частоты, на каком пине, чем измеряете, что получаете вместо ожидаемого.
DpInRock
Цитата
Да я много не знаю

Вы не знаете гораздо больше, чем полагаете.
Цитата
что компилирую другим компилятором все работает

И врать тут необязательно. Школьницы на другом форуме тусуются.

Что Keil, что ИАР генерируют (могут генерировать) HEX одинакового формата.
Что мешает сравнить? Например, напростой программе, где можно легко прочитать коды?
grek81
А всего то нужно было скачать и указать на файл настроек XCL biggrin.gif
grek81
А как все таки правильно настроить xlc файл для правильной работы IAR 7.20D?У меня 6.10 работает без каких либо проблем,а вот на с 7.20 ругается на разные ошибки(в xlc файле).Может у кого есть настроенный xlc файл для работы с AT89C2051?
Метценгерштейн
на вкладке Extra options ставим галочку Use command line options,
в окно вписываем:
-Ointel-extended,(CODE)=.hex
-Ointel-extended,(XDATA)=.ee.hex

После линковки в директории $PROJ_DIR$\Debug\EXE будем получать файлы
$PROJ_NAME$.d90 - файл для симулятора C-SPY
$PROJ_NAME$.hex - прошивка флеш
$PROJ_NAME$.ee.hex - прошивка eeprom


это под АВР, возможно под 8051 одинаково все.
SasaVitebsk
Цитата(grek81 @ Jun 10 2009, 09:49) *
А как все таки правильно настроить xlc файл для правильной работы IAR 7.20D?У меня 6.10 работает без каких либо проблем,а вот на с 7.20 ругается на разные ошибки(в xlc файле).Может у кого есть настроенный xlc файл для работы с AT89C2051?

Вам 10 раз написали - уберите руки от мыши. Почитайте!
В директории куда IAR установился есть каталог DOC. В нём куча документов. Вам нужно описание LINKера. Файл xlc это файл настроек для LINKера. Типовые файлы линкера находятся в каталоге config (у меня по крайней мере).

Судя по вопросам прогу писали не вы. Вы не в состоянии. А судя по рвению, никогда и не напишете. Соответственно в опциях настроек линкера вы тоже не разберётесь. А судя по тому, что со стандартными настройками у вас не работает, в проекте есть какие-то особенности. Поэтому совет - обратитесь к автору проги, пусть вам доступно объяснит.

PS: Я файл xcl пишу для конкретного проекта (если он нестандартный). То есть несуществует универсального xcl файла. В нём указываются размеры стеков, распределение сегментов и т.п. Конечно непонятно несколько... в 2051 особо распределять то нечего... Могу только предположить, что при стандартном xcl файле прошивка не влазит в отведённую область. Соответственно в уникальном xcl файле подрезаются ненужные вектора.

Не видя проекта, ответ вам никто не даст. Ну а копаться в чужом проекте, мало кто захочет...
Harbinger
Маленький момент. В AT89C2051 EEPROM, которую несколько раз косвенно упоминали, отсутствует. smile.gif
По совместимости компиляторов... за IAR не скажу, ибо пользую его только для MSP430, но был случай, когда Keil и Raisonance сгенерировали совершенно одинаковый код, байт в байт. smile.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.