[an error occurred while processing this directive] [an error occurred while processing this directive]
А я встречал более полный к р я к - когда-то здесь он пробегал (сам не пробовал) - по-моему он "лечит" и отладчик (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)
[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

Отправлено Беня 17 октября 2001 г. 12:29
В ответ на: Спасибо за ссылку, но там DDD на отладчик " положил" отправлено Glk 17 октября 2001 г. 11:36

Для всех IAR : ПЕРЕД кряком запустить демо-версию компилятора,
создать проект и откомпилировать что-нибудь - хоть пару строк,
а потом уж накладывать кряк. Тогда все нормально получается.

======================================================================
Code limit:
a8051.dll: 104B5: B8 00 04 00 00 -> B8 FF FF FF 00
a8051.exe: 23be5: 00 -> 10

======================================================================
Code limit:
icc8051.dll: 137615: 00 08 00 00 -> FF FF FF 00
icc8051.exe: b8fbe: 00 -> 10

Поддержка -A/a:
icc8051.exe: 15737f: 68 98 83 58 00 68 A0 83 58 00 E8 92 FB 00 00 83
C4 08 E8 A4 39 F6 FF 33 C0 E9 32 00 00 00
->
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90

1573e7: 68 DC 83 58 00 68 E4 83 58 00 E8 2A FB 00 00 83
C4 08 E8 3C 39 F6 FF 33 C0 E9 35 00 00 00
->
90 90 90 90 90 90 90 90 90 90 90 90 90 90 90 90
90 90 90 90 90 90 90 90 90 90 90 90 90 90

Для создания корректного asm-файла (установка одного флага...)
( а то он не объявляет переменные и функции..)

b6b4a: 00 -> 01
4f2ee: 00 -> 01
b8010: 00 -> 01
10a487: 00 -> 01

может это убирать не надо... просто он объявлял функцию
так: "$DEFFN main(0,0,0,0,32768,0,0,0)", что значит - функия имеет 32768
параметров типа char. Не знаю, может так и надо, т.к. в его хелпе приведен
такой же пример, но у меня с таким приколом он не линковался.
b7e61: 80 -> 00

------------------------------------------------------------------------------------
Oн чуток глючит, объявляя функцию:
void main(void)
{
f();f();f();
}
объявляет функцию как
$DEFFN main(0,0,0,0,0,0,0,0),f,f,f
вместо
$DEFFN main(0,0,0,0,0,0,0,0),f


======================================================================
Code limit:
xlink.dll: 1ddc4: 74 09 -> eb 13
1bebe: 76 10 -> eb 10

------------------------------------------------------------------------------------
Этот Раздел нужно не ставить , если используется Window вариант
( так как Линкер тогда не понимает формата генерируемого icc8051 / a8051 !!!)
Можно только исправить xlink.exe и создавать asm файл для C из командной строки!!

enable all output formats:
xlink.exe
0000DD69 F6 -> 80
0000DD6A C3 -> E3
0000DD6B 01 -> 00
0001DDCE 76 -> EB
0001FCD4 74 -> EB
0001FCD5 09 -> 13
xlink.dll
0000BE1A F6 -> 80
0000BE1B C3 -> E3
0000BE1C 01 -> 00
0001BEBE 76 -> EB
0001DDC4 74 -> EB
0001DDC5 09 -> 13

======================================================================
Code limit C-SPY:
s8051.cdr: 1b187: 73 -> eb
15335: 75 -> eb

Установите опцию (Project->Options->Xlink->Format->Other->Output Format=debug-intel-std)
тогда создается в директории EXE два файла *.dbg и без расширения (HEX)!!
======================================================================


Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru