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

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

если у кого точно все настройки работают пришлите скриншотами.
Видете-ли, как не прискорбен этот факт, но программирование заключается не выставлении волшебных галочек в IDE. По этой причине ответа на поставленый Вами "вопрос" какую галочку поставить, дабы получить некую программу, Вы не пролучите.
P.S.
Да, после наскальной живописи (сриншотов) человечество изобрело письменность - настоятельно не рекомендую загромождать форум картинками.
grek81
May 26 2009, 16:08
Зато на картинках все наглядно и понятно,может все таки пришлеш,либо хотя бы намекни в чем может быть проблема...????
DpInRock
May 26 2009, 17:04
-Ointel-standard,(CODE)=$PROJ_DIR$\programname.hex
-Ointel-standard,(XDATA)=$PROJ_DIR$\eprom.hex
Это все записать на вкладку линкер -- добавить команду, чтоль...
grek81
May 26 2009, 18:24
Hex стал другой,но пока не попробовал.Программатор на работе,а не объясните в чем может быть проблема?
DpInRock
May 26 2009, 20:16
Закладка Линкер -- Экстраопшенз.
defunct
May 26 2009, 23:23
Цитата(grek81 @ May 26 2009, 21:24)

в чем может быть проблема?
Цитата
Программа записанная на другом компиляторе(keil) и зашитая в контроллер нормально работает.
Проблема в том что вы полезли пользовать IAR, а не надо было. ;>
Почему бы не продолжать работать с keil.
DpInRock
May 26 2009, 23:48
Чисто совет топикастеру.
Метод научного тыка должен быть научным по определению метода.
Метод просто тыка - до первой розетки без УЗО.
Сильно рекомендую больше читать.
grek81
May 27 2009, 13:33
Попробовал я этот HEX файл,как установил что вы сказали и все тоже самое контроллер стоит молчит,не нравятся мне в прошивке FF.То есть если смотреть HEX редактором то в начале идут цифры а потом ШТУК 8 FF? Так почемуто и получается что нет генерации частоты?Где она указывается,частота на которой работает контроллер?
defunct
May 27 2009, 14:09
Цитата(grek81 @ May 27 2009, 16:33)

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

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

Да вы читайте,я же написал что компилирую другим компилятором все работает
Вы тоже читайте, я же написал - засуньте IAR в место, где не светит солнце, и возвращайтесь к Keil который работает.
Цитата
Поэтому и спрашиваю,ну нет у меня частоты
Скажу прямо - у этого контроллера AT89x2051 частота программно не задается. Достаточно подцепить кварц с конденсаторами и все.
Отсутсвие клока - это только аппаратная проблема, проверьте все ли в порядке с nRST, питанием и пайкой кварца и конденсаторов.
Да и поясните наконец детально какой частоты, на каком пине, чем измеряете, что получаете вместо ожидаемого.
DpInRock
May 29 2009, 00:19
Цитата
Да я много не знаю
Вы не знаете гораздо больше, чем полагаете.
Цитата
что компилирую другим компилятором все работает
И врать тут необязательно. Школьницы на другом форуме тусуются.
Что Keil, что ИАР генерируют (могут генерировать) HEX одинакового формата.
Что мешает сравнить? Например, напростой программе, где можно легко прочитать коды?
А всего то нужно было скачать и указать на файл настроек XCL
grek81
Jun 10 2009, 06:49
А как все таки правильно настроить xlc файл для правильной работы IAR 7.20D?У меня 6.10 работает без каких либо проблем,а вот на с 7.20 ругается на разные ошибки(в xlc файле).Может у кого есть настроенный xlc файл для работы с AT89C2051?
Метценгерштейн
Jul 8 2009, 19:22
на вкладке 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
Jul 9 2009, 10:05
Цитата(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
Jul 14 2009, 05:41
Маленький момент. В AT89C2051 EEPROM, которую несколько раз косвенно упоминали, отсутствует.

По совместимости компиляторов... за IAR не скажу, ибо пользую его только для MSP430, но был случай, когда Keil и Raisonance сгенерировали совершенно одинаковый код, байт в байт.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.