Splinter 0 4 января, 2016 Опубликовано 4 января, 2016 · Жалоба Есть устройство на тайваньском МК IP210S - это 8051 + Ethernet на борту. Нужно расширить его функционал, для чего провожу декомпиляцию. Есть загвоздка, усложняющая задачу. Прошивка помещается во внешний Flash емкостью 512 кБ. Эта Flash делится на банки по 64 кБ (всего 8 банков). Управление банками производится с помощью 3-х GPIO (3 верхних линии адреса). Подскажите, можно ли в IDA как-то упростить себе задачу, реализовав автоматическое управление банками. Или может можно как-то поместить их в сегменты и хотя-бы вручную их переключать? Сейчас у меня запущенно 8 копий IDA, в каждой из которых открыто по одному банку кода. Это ужасно неудобно. И еще подскажите есть ли какой-то симулятор/отладчик в котором можно управлять банками кода (хотя-бы вручную)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 4 января, 2016 Опубликовано 4 января, 2016 · Жалоба а что, протеус ведь справляется с внешней памятью? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Splinter 0 5 января, 2016 Опубликовано 5 января, 2016 · Жалоба Спасибо за наводку. Поставил Протеус, поигрался немного и возникла пара вопросов. Во время симуляции где смотреть ассемблерный листинг, где ставить бряки? Нашел окно регистров CPU, там отображается только текущая инструкция. Как править содержимое регистров? В частности есть необходимость оперативно изменять регистр РС (кстати его нигде не вижу). Может кто-нибудь накидать примерчек с подключением внешних RAM (32кБ) и ROM (512 кБ А16-P3.5, A17-P3.4, А18-P1.7) к 8051 в Протеусе? Можно ли на основе имеющегося в Протеусе МК сделать свой с нужной периферией (судя по описанию все 8051 в Протеусе используют одну dll для симуляции)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Splinter 0 6 января, 2016 Опубликовано 6 января, 2016 (изменено) · Жалоба Промаялся с Протексом 2 дня. Я в тупике. Взял базовую модель 80С51. Модели для памяти 512 кБ не нашел, взял 8 шт. по 64 кБ (27С512) и навесил дешифратор адреса на 74LS138. Насколько я понял в свойствах 80С51 нужно поставить Simulate Program Fetches = yes для работы с внешним ROM и /EA посадить на землю. Но нифига не работает. На линиях адреса и данных высокоимпедансное состояние. Хотя линия выбора внешнего ROM /PSEN падает в ноль. В окошке текущей выполняемой инструкции одни NOP. Подскажите что делаю не так? ______.zip Изменено 6 января, 2016 пользователем Splinter Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться