|
|
  |
89S52 эмуль/симуль ? |
|
|
|
Nov 4 2007, 11:41
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-09-05
Пользователь №: 8 578

|
Добрый день всем!
Имеется дамп флешки AT89S52, пробовал разбирать его работу дизассемблировав... но вот сейчас для лучшего понимания хочется найти какой то софт, и прошагать образ флешки там.
Даже и не знаю, как такой софт называется: эмулятор или симулятор...
Нашел пока только Analog Devices 812 Simulator, 1998 года
Подскажите, уважаемые профи, что попробовать.... желательно чтоб максимально точно реализовывалась архитектура AT89S52 и посвежее.
Заранее спасибо!
|
|
|
|
|
Nov 12 2007, 06:17
|
Участник

Группа: Свой
Сообщений: 70
Регистрация: 4-04-06
Из: г. Омск
Пользователь №: 15 777

|
Лучше Keil-а для 51 ничего нет в этом плане, да и в других аспектах по мнению большинства тоже. Почитайте здесь
|
|
|
|
|
Nov 13 2007, 21:27
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-09-05
Пользователь №: 8 578

|
У меня тоже похожий вопрос, но без конкретной привязки к Keil или IAR:
Был дамп флеш 89S52, обработал его в IDA, чуть ручками поправил и пробую прошагивать в симуляторе IAR и Keil. В IAR вроде все ОК, шагается, но наступает момент, когда нужно ввести данные по UART, просмотреть обработку прерывания и дальнейшую работу кода с принятыми данными.
Пока что у меня такое получилось только со стареньким Analog Devices 812 Simulator - а можно ли такое провернуть с IAR или в Keil ??
И еще вопрос, наверно совсем детский: в IAR внутреннее ОЗУ отображается корректно, все 256 байт, если нужно глянуть SFR - выпадает комбобокс... а вот в Kiel почему то когда даю: d:0x00 то вторая половина внутреннего ОЗУ отображается как SFR. Как получить нормальное отображение ОЗУ ?
|
|
|
|
|
Nov 16 2007, 06:53
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(swisst @ Nov 12 2007, 09:47)  При обработке прерывания по приему, в созданную переменную (глобальную или локальную) не копируется содержимое регистра SBUF. Прошу знающего человека подсказать... А, как в SBUF попало его содержимое? Вы должны помнить, что под одним именем "SBUF" в МК51 находятся два регистра - один содержит принятые данные (его можно только считать), другой - передаваемые (в него можно только записать). C этим при отладке всегда путаница... Чтобы в SBUF что-то попало, это что-то должно прийти "извне": например, нужно открыть окно "View->Serial window" и в нем набрать символ. Я при отладке UART под симулятором Keil'а использовал следующий приём. Поставил на компьютер драйвер, который создаёт виртуальные СОМ-порты и умеет их попарно "соединять". Выход симулятора UART Keil'а соединяю с одним виртуальным портом (команды отладчика ASSIGN и MODE). Ко второму виртуальному СОМ-порту ("соединенному" с первым) подключаю терминалку или программу в режиме отладки, в которой МК будет взаимодействовать в реале. В последнем случае, идет процесс отладки сразу двух программ, что несколько сложнее, но ускоряет время их общей отладки.
|
|
|
|
|
Nov 16 2007, 09:04
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-09-05
Пользователь №: 8 578

|
Цитата(Палыч @ Nov 16 2007, 09:53)  Поставил на компьютер драйвер, который создаёт виртуальные СОМ-порты и умеет их попарно "соединять". Выход симулятора UART Keil'а соединяю с одним виртуальным портом (команды отладчика ASSIGN и MODE). Ко второму виртуальному СОМ-порту ("соединенному" с первым) подключаю терминалку или программу в режиме отладки, в которой МК будет взаимодействовать в реале. В последнем случае, идет процесс отладки сразу двух программ, что несколько сложнее, но ускоряет время их общей отладки. А можно подробнее, что за драйвер? FTDI, Prolific или что то еще ? Стоят ли при этом физические (железные) порты? Интересуюсь, так как у меня в лаптопе только USB, при необходимости UART приходится использовать USB переходники....
|
|
|
|
|
Nov 16 2007, 11:14
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(gyrotron @ Nov 16 2007, 12:04)  А можно подробнее, что за драйвер? FTDI, Prolific или что то еще ? Стоят ли при этом физические (железные) порты? СОМ-порты - виртуальные. Т.е. "наружу" с них выхода нет, но драйвер может их "соединять" попарно. Выглятит это так: в компьютере есть один СОМ-порт; с помощью драйвера создаем еще два (можно и больше) виртуальных (СОМ3 и СОМ4) и "соединяем" их с помощью того же драйвера; если к СОМ3 и СОМ4 подключить терминалки, то что выдаем на один порт, принимается с другого. Удобно отлаживать на одном компьютере программы, взаимодействующие через СОМ (UART). Откуда брал драйвер - забылось. В самом драйвере такая инфа "ComEmulDrv serial port bridge driver Copyright © 2002 MixW team http://www.mixw.net"
|
|
|
|
|
Nov 16 2007, 15:56
|
Участник

Группа: Участник
Сообщений: 36
Регистрация: 15-09-05
Пользователь №: 8 578

|
@Палыч
Большое спасибо за подсказки, буду пробовать!
|
|
|
|
|
Apr 12 2010, 12:56
|
Участник

Группа: Участник
Сообщений: 15
Регистрация: 17-12-08
Пользователь №: 42 555

|
прошу прощения за то что занимаюсь своего рода архиологией скажите пожалуйста а такую же красивую симуляцию на УСБ игрушке замутить можно? т.е. у меня кристалик АТ89С5131 который работает через усб... попробовал через виртуальные ком порты - байтики не приходят, точнее приходят - прерывание происходит, но в буфер не попадают  хотя если руками править SBUF то реакция проги есть.
Сообщение отредактировал noobie - Apr 12 2010, 13:29
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|