реклама на сайте
подробности

 
 
> Вопрос большим спецам по x51!, Проблема работы с ПЗУ > 64K
NeoN
сообщение Oct 29 2004, 18:37
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 150
Регистрация: 18-10-04
Пользователь №: 901



Суть вот в чем: есть железка, в которой и программа и большая порция данных хранится во внешнем ПЗУ (29С020). Доступ ко всему объему памяти осуществляется постранично по 64К, страницы переключаются битами порта 3. Программа продублированна во всех страницах, т.е. переключение страниц во время выполнения программы не должно ее сбивать. Однако, вслучае выполнения вот такой например конструкции:
sbit P3.x ; выбор страницы
acall yyy
подпрограмма вызывается не с того адреса, причем если использовать lcall - все Ок.
Глюк проявляется на AT89C52, на DS80C320, например, такого нет.

Сразу скажу: в данном случае проблема была решена вставкой nop после sbit, однако не приведет ли в каком-либо другом случае подобных механизм доступа более чем к 64К памяти к глюкам?

Спасибо.


--------------------
user posted image
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ASN
сообщение Oct 30 2004, 18:42
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



NeoN
Давно я 51 занимался. Может быть и ошибаясь smile.gif
Размер команды acall - 2 байта, команды lcall - 3 байта, поэтому в одном случае шина успевает переключаться, в другом - нет. Введение nop просто даёт дополнительный такт. Надо смотреть времянки памяти и процессора. Если на шине сидят еще устройства, но они могут вносить дополнительную емкостную нагрузку и затягивать фронт. Тут надо смотреть характеристики микросхем. Я порт P3 использовал для переключения банков, всё работало без сбоев, просто ёще раз внимательно просмотрите времянки.
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01348 секунд с 7
ELECTRONIX ©2004-2016