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

 
 
> Вопрос большим спецам по 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
Ответов
NeoN
сообщение Oct 30 2004, 22:23
Сообщение #2


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

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



Странно. ИМХО, если проблема только в этом, то у lcall вместо acall опкод бы не правильнй выбирался, и это уже не lcall бы был smile.gif.
Но дело еще хуже - атмел просто не стабильно работает из внешнего ПЗУ - иногда прога улетает черти куда. тактовая - 16МГц с копейками... А даллас, который команда за 4 такта - идеально... Если смотреть сигналы атмела - не нравиться ~PSEN - фронт растянут на 50нс где-то, как будто там выход с открытым стоком и pullup. Но если верить доке - там двухтактный выходной каскад... Мрак просто.


--------------------
user posted image
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 00:59
Рейтинг@Mail.ru


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