Миландр

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

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




Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: Выполнение кода из внешнего ПЗУ
СообщениеДобавлено: 2018-мар-13 15:01 
Не в сети

Зарегистрирован: 2014-апр-14 15:08
Сообщения: 31
Откуда: Москва
Всем здравствуйте!

У меня проблема. При выполнении контроллером (1986ВЕ1Т) кода из внешнего ПЗУ (4 микросхемы1645РТ2У) возникает сбой. Примерно за 2 месяца, практически непрерывной работы прибора (климатические испытания), произошло 3 сбоя. Сбои не систематические, и искусственно их получить не удается. Единственно, что их объединяет, это то, что все 3 сбоя возникали после нагрева прибора до +50…+60 и последующего его остывания до нормальных условий. Сам сбой состоит в том, что контроллер просто перестает выполнять код (судя по телеметрии, т.к. внутрь еще не заглядывал, прибор заварен). Но самое удивительное, это то, что при передергивании питания работа прибора не возобновляется. Восстановление работы прибора происходит только после выполнения erase-FLASH по JTAG. Как содержимое FLASH-памяти влияет на выполнение кода из внешнего ПЗУ я понять не могу. Программных привязок нет.

Вопрос к пользователям. У кого ни будь есть успешный опыт выполнения контроллером ПО из внешней памяти в течении длительного времени?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 2018-апр-16 09:50 
Не в сети

Зарегистрирован: 2017-апр-26 14:51
Сообщения: 121
Откуда: ПКК "Миландр"
Действительно странно, состояние внутренней флеш на исполнение программы из внешней памяти никакого влияния не имеет.

Могу предположить, что успешность сброса зависит от неких манипуляций, которые производит программатор. Таких как Reset по JTAG или загрузка FLM (для запуска стирания) с какой-то инициализацией периферии МК. А из инициализации периферии там лишь

Код:
 
  PER_CLOCK = 0xFFFFFFFF;
  CPU_CLOCK&=~(1<<8); 


Запуск с внешней памяти осуществляет начальный загрузчик при включении питания - сначала он опрашивает выводы MODE, и если MODE=0 происходит рестарт с 0-го адреса. Далее:
- Если вывод ITCMLAEN = 0 то это будет 0 адрес на внешней шине. (Исполнение в внешней памяти)
- Если вывод ITCMLAEN = 1 то это будет 0 адрес внутренней флеш. (Исполнение из внутренней памяти)

Все последующие Reset будут приводить к запуску с 0-го адреса памяти. Начальный загрузчик отрабатывает только один раз, при подаче питания. Вывод ITCMLAEN должен стабильно выбирать один из вариантов памяти.

Надеюсь эта информация как-то поможет в поиске неисправности.

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


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

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


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

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