Перейти к содержанию

    

Управление банками памяти для 8051

Есть устройство на тайваньском МК IP210S - это 8051 + Ethernet на борту. Нужно расширить его функционал, для чего провожу декомпиляцию. Есть загвоздка, усложняющая задачу. Прошивка помещается во внешний Flash емкостью 512 кБ. Эта Flash делится на банки по 64 кБ (всего 8 банков). Управление банками производится с помощью 3-х GPIO (3 верхних линии адреса).

Подскажите, можно ли в IDA как-то упростить себе задачу, реализовав автоматическое управление банками. Или может можно как-то поместить их в сегменты и хотя-бы вручную их переключать? Сейчас у меня запущенно 8 копий IDA, в каждой из которых открыто по одному банку кода. Это ужасно неудобно.

И еще подскажите есть ли какой-то симулятор/отладчик в котором можно управлять банками кода (хотя-бы вручную)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за наводку. Поставил Протеус, поигрался немного и возникла пара вопросов.

Во время симуляции где смотреть ассемблерный листинг, где ставить бряки? Нашел окно регистров CPU, там отображается только текущая инструкция.

Как править содержимое регистров? В частности есть необходимость оперативно изменять регистр РС (кстати его нигде не вижу).

Может кто-нибудь накидать примерчек с подключением внешних RAM (32кБ) и ROM (512 кБ А16-P3.5, A17-P3.4, А18-P1.7) к 8051 в Протеусе?

Можно ли на основе имеющегося в Протеусе МК сделать свой с нужной периферией (судя по описанию все 8051 в Протеусе используют одну dll для симуляции)?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Промаялся с Протексом 2 дня. Я в тупике.

Взял базовую модель 80С51. Модели для памяти 512 кБ не нашел, взял 8 шт. по 64 кБ (27С512) и навесил дешифратор адреса на 74LS138. Насколько я понял в свойствах 80С51 нужно поставить Simulate Program Fetches = yes для работы с внешним ROM и /EA посадить на землю.

Но нифига не работает. На линиях адреса и данных высокоимпедансное состояние. Хотя линия выбора внешнего ROM /PSEN падает в ноль.

В окошке текущей выполняемой инструкции одни NOP.

Подскажите что делаю не так?

______.zip

Изменено пользователем Splinter

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация