Миландр

Ключевым подразделением нашей компании является Центр Проектирования интегральных микросхем
Текущее время: 2018-ноя-14 19:30

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-14 15:47 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 670
Откуда: г. Санкт-Петербург
Alex писал(а):
Здравствуйте! Так и не удалось запустить программу из внешнего ПЗУ. Опишу полностью , что делалось.
...
//--- Ports configuration ---
void PortConfig()
{
PORTE->FUNC = 0x00000000; // tip port I/O
...

В спецификации сказано:
"2. При использовании режима работы с ITCMLAEN=0 по умолчанию порты А и В настраиваются как двунаправленная 32-разрядная шина данных, порт С[2:0] как сигналы CLKO, nRD, nWR, а порты PF[15:3], PD[15], PE[2:0] как шина адреса A[16:0]. Можно расширить программно-адресную шину до требуемого количества разрядов."

Вы в своей программе перенастраиваете PE[2:0] в режим обычного порта

также не понятно назначение строки
PORTC->CLRTX=0x0200; //EXT_BUS=0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-14 17:00 
Не в сети

Зарегистрирован: 2012-июн-05 15:48
Сообщения: 11
Время доступа к ПЗУ 60 нс, но оно не причем т.к. программу пробовали запускать когда ЦП работает от внутренней частоты по умолчанию (8 Мгц), а там время обращения к шине "по-моему" более 500 нс. Тем более была написана доп программа, которая на максимальной частоте (100 Мгц) процессора из внутренней памяти тестировало код прошитый во внешнюю ПЗУ. Поэтому у меня пока нет предположений, почему не работает программа из внешней памяти. ОЧЕНЬ НАДЕЮСЬ НА ВАШУ ПОМОЩЬ.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-14 17:10 
Не в сети

Зарегистрирован: 2012-июн-05 15:48
Сообщения: 11
vasili писал(а):
При использовании режима работы с ITCMLAEN=0 по умолчанию порты А и В настраиваются как двунаправленная 32-разрядная шина данных, порт С[2:0] как сигналы CLKO, nRD, nWR, а порты PF[15:3], PD[15], PE[2:0] как шина адреса A[16:0].

Этого размера шины вполне достаточно для этого маленького куска кода.

vasili писал(а):
Вы в своей программе перенастраиваете PE[2:0] в режим обычного порта.


Светодиод висит на ноге PE7.
vasili писал(а):
также не понятно назначение строки
PORTC->CLRTX=0x0200; //EXT_BUS=0

этой стоки в тексте не должно быть ( случайно попала при копировании)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-14 22:41 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 670
Откуда: г. Санкт-Петербург
Alex писал(а):
Этого размера шины вполне достаточно для этого маленького куска кода.



Вы настраиваете выводы pe0-pe2 (A14-A16 )на ввод и если они заведены на входы внешней пзу, то адрес на входах пзу неопределен.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-15 11:13 
Не в сети

Зарегистрирован: 2012-июн-05 15:48
Сообщения: 11
vasili писал(а):
Вы настраиваете выводы pe0-pe2 (A14-A16 )на ввод и если они заведены на входы внешней пзу, то адрес на входах пзу неопределен.

Спасибо! Упустил данный момент, когда лепил тестовую программу. Буду проверять результат.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-15 12:35 
Не в сети

Зарегистрирован: 2012-июн-05 15:48
Сообщения: 11
Ещё раз СПАСИБО vasili. Заработало, но возник ещё один вопрос.
--- Для изменения режима старта используются выводы MODE[2:0] (PA[2:0]), подскажите , сколько времени необходимо держать нужный код на этих вывода для обеспечения выбора режима загрузки. Вариант с внешними резисторами не совсем подходит, т.к. есть необходимость менять режимы загрузки, поэтому используем ПЛИС для задания кода на данных выводах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-15 13:23 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 670
Откуда: г. Санкт-Петербург
Alex писал(а):
Ещё раз СПАСИБО vasili. Заработало, но возник ещё один вопрос.
--- Для изменения режима старта используются выводы MODE[2:0] (PA[2:0]), подскажите , сколько времени необходимо держать нужный код на этих вывода для обеспечения выбора режима загрузки. Вариант с внешними резисторами не совсем подходит, т.к. есть необходимость менять режимы загрузки, поэтому используем ПЛИС для задания кода на данных выводах.

Режим загрузки задается только при подаче питания на МК. После подачи питания и формирования внутреннего сброса запускается программа загрузчика из масочного ПЗУ МК, которая анализирует состояние выводов MODE[2:0]. Время от начала работы программы загрузчика до момента определения состояния выводов MODE[2:0] можете оценить сами, проанализировав код загрузчика.
viewtopic.php?f=34&t=529#p3014


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2014-июл-15 13:48 
Не в сети

Зарегистрирован: 2012-июн-05 15:48
Сообщения: 11
vasili писал(а):
Режим загрузки задается только при подаче питания на МК. После подачи питания и формирования внутреннего сброса запускается программа загрузчика из масочного ПЗУ МК, которая анализирует состояние выводов MODE[2:0]. Время от начала работы программы загрузчика до момента определения состояния выводов MODE[2:0] можете оценить сами, проанализировав код загрузчика.
viewtopic.php?f=34&t=529#p3014

СПАСИБО


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2018-ноя-07 14:38 
Не в сети

Зарегистрирован: 2014-сен-09 07:21
Сообщения: 23
Возможна ли работа с внешней ПЗУ 1636РР4У через системную шину с разрядностью данных 8-бит (порты PA0-PA7)?
В основном внешняя память нужна для чтения/записи массивов данных типа const unint8_t, но думаю ещё использовать для хранения кода.
Адресное пространство начинается с 0x00A00000 или 0x10A00000.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2018-ноя-08 10:00 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 175
Откуда: ПКК "Миландр"
В 1986ВЕ1Т внешняя шина умеет работать в байтном режиме, для этого выведен бит LOW8. (Спецификация стр. 127)

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2018-ноя-09 17:15 
Не в сети

Зарегистрирован: 2015-апр-17 18:52
Сообщения: 2
Vasiliy писал(а):
В 1986ВЕ1Т внешняя шина умеет работать в байтном режиме, для этого выведен бит LOW8. (Спецификация стр. 127)


Хочу уточнить.
1986ВЕ1Т 4 ревизии может выполнять код из внешнего ПЗУ (1636РР4У) в 8ми битном режиме?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Внешнее ПЗУ
СообщениеДобавлено: 2018-ноя-12 10:52 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 175
Откуда: ПКК "Миландр"
Andrey писал(а):
rf.serega писал(а):
В 4-ой ревизии случайно не появилась возможность работать с внешней памятью программ в 8 или 16-битном режиме? Очень бы пригодилась такая возможность.

Такая возможность появилась уже с 3-й ревизии. При установке соответствующих бит LOW8 или LOW16 и выполнении программы из внешней памяти 32 разрядный код считывается автоматически за 4 или 2 такта соответственно.
....
Соответственно ответ на вопрос: выполнять из 8 или 16 разрядной памяти программу можно, но стартует контроллер всегда в 32 разрядном режиме.


отсюда: viewtopic.php?f=34&p=9058#p9058

_________________
Отдел технической поддержки support@milandr.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 27 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: brutal_codemaker и гости: 7


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB