Миландр

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

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 156 сообщений ]  На страницу « 17 8 9 10 11 »
Автор Сообщение
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2020-авг-11 12:57 
Не в сети

Зарегистрирован: 2020-авг-10 14:15
Сообщения: 3
Организация: АО "РКС"
Artem1 писал(а): *
Maxim Arzhanov писал(а): *
Добрый день! Использую МК 1986ВЕ81Т. Подскажите пожалуйста, почему после загрузки прошивки в МК пин 10 порта B остаётся в состояние "0".
Ссылка на проект (Keil)
https://github.com/Arzhanov/Milandr_1986BE81T_Blink.git
Нет записи в регистр ключа блока тактовых частот и порта B.

#define _KEY_ 0x8555AAA1

CLK_CNTR->KEY = _KEY_
PORTB->KEY = _KEY_

Рекомендуем загрузить последнюю версию pack и ознакомиться с примерами.

https://ic.milandr.ru/soft/

Software pack 1986ВЕ8(1)Т для Keil MDK 5 для МК 1986ВЕ8(1)Т
версия 0.4
zip / 262Кб
Спасибо!


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2020-ноя-13 12:06 
Не в сети

Зарегистрирован: 2016-ноя-22 11:08
Сообщения: 11
Организация: АО "НИИ ТП"
Artem1 писал(а): *
Ограничение, о котором Вы пишите, относится к частоте "FINT". Посмотрите, пожалуйста на описание бита 4 "DV", того же регистра.
Спасибо, и правда я упустил поле DV в описании.


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2020-дек-24 11:58 
Не в сети

Зарегистрирован: 2011-авг-16 14:44
Сообщения: 43
Такой вопрос.
Микросхема пятой ревизии. Перемычками установлен режим UART0+JA. Иногда возникают следующие сбои с подозрением на то, что микросхема устанавливается в другой режим:
1) После включения питания и автоматического сброса внешней RC-цепью, не выполняется загрузка программы по UART. Но если выполнить принудительный аппаратный сброс (кнопкой), то загрузка выполняется.
2) Обратная ситуация: после включения питания и автоматического сброса RC-цепью, загрузка программы выполняется, но после сброса кнопкой загрузка не выполняется.
В обоих случаях, если сброс кнопкой повторять, то загрузка может как выполняться, так и не выполняться.
С чем может быть связана проблема?


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2020-дек-24 16:06 
Не в сети
Support

Зарегистрирован: 2017-фев-14 11:21
Сообщения: 227
Организация: АО ПКК Миландр
Откуда: АО "ПКК Миландр"
Rom писал(а): *
Такой вопрос.
Микросхема пятой ревизии. Перемычками установлен режим UART0+JA. Иногда возникают следующие сбои с подозрением на то, что микросхема устанавливается в другой режим:
1) После включения питания и автоматического сброса внешней RC-цепью, не выполняется загрузка программы по UART. Но если выполнить принудительный аппаратный сброс (кнопкой), то загрузка выполняется.
2) Обратная ситуация: после включения питания и автоматического сброса RC-цепью, загрузка программы выполняется, но после сброса кнопкой загрузка не выполняется.
В обоих случаях, если сброс кнопкой повторять, то загрузка может как выполняться, так и не выполняться.
С чем может быть связана проблема?
Здравствуйте!

Скажите, пожалуйста, используется плата собственной разработки или демоплата производства Миландр? В общем случае нужно контролировать состояние на выводах mode в течение всего времени старта микроконтроллера. Если используется плата собственной разработки и на линиях mode есть микросхема-драйвера, возможно перетягивание линий mode в состояние, отличное от предполагаемого, и, как следствие, попытка запуска в другом режиме. Если рекомендация не помогла, пришлите, пожалуйста, схему включения на support@milandr.ru. Также проверьте, пожалуйста, соблюдение рекомендаций и подачу необходимых напряжений в соответствии с разделом: 6.1.1 - Домены питания, а также с типовой схемой включения.

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


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-15 14:24 
Не в сети

Зарегистрирован: 2014-авг-05 17:25
Сообщения: 44
Здравствуйте!

Подскажите пожалуйста, в чем может быть проблема - после разрешения прерывания для событий EVENT0..EVENT4

NVIC_EnableIRQ(FT_IF0_IRQn);

Происходит прерывание, в обработчике проверяю все эвенты с 0 по 12 - там везде 0.

Как понять причину вызова прерывания?


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-15 14:39 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 448
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
QuadMan писал(а): *
Здравствуйте!

Подскажите пожалуйста, в чем может быть проблема - после разрешения прерывания для событий EVENT0..EVENT4

NVIC_EnableIRQ(FT_IF0_IRQn);

Происходит прерывание, в обработчике проверяю все эвенты с 0 по 12 - там везде 0.

Как понять причину вызова прерывания?
Здравствуйте!

Используя внешние прерывания, необходимо не забывать о подтяжках линии входов для фиксации внешних событий. В противном случае вывод будет ловить любые наводки, и прерывание будет возникать условно "всегда". Убедитесь, пожалуйста, что входы имеют подтяжку к земле и сообщите, помогло ли это решить проблему. Спасибо.

Дополнение. Сообщение неактуально для данного обращения, потребуется время, чтобы уточнить информацию по блоку FT.

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


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-15 16:38 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 448
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
Lampadov писал(а): *
QuadMan писал(а): *
Здравствуйте!

Подскажите пожалуйста, в чем может быть проблема - после разрешения прерывания для событий EVENT0..EVENT4

NVIC_EnableIRQ(FT_IF0_IRQn);

Происходит прерывание, в обработчике проверяю все эвенты с 0 по 12 - там везде 0.

Как понять причину вызова прерывания?
Здравствуйте!

Используя внешние прерывания, необходимо не забывать о подтяжках линии входов для фиксации внешних событий. В противном случае вывод будет ловить любые наводки, и прерывание будет возникать условно "всегда". Убедитесь, пожалуйста, что входы имеют подтяжку к земле и сообщите, помогло ли это решить проблему. Спасибо.

Дополнение. Сообщение неактуально для данного обращения, потребуется время, чтобы уточнить информацию по блоку FT.
После проверки работоспособности вызова функции прерывания FT_IF0_Handler по событиям EVENT0-EVENT4 на отладочной плате производства компании Миландр, работа ведётся корректно, прерывание возникает только при фиксации событий. Подскажите, пожалуйста, с какой платой Вы работаете и с какой памятью? Дополнительно просим сообщить Вас информацию по используемым блокам микроконтроллера в Вашей программе. Внимательно посмотрите, пожалуйста, условия возникновений событий из групп EVENT0-EVENT4, в частности, обратите внимание на группу EVENT4, где в силу троированной логики, например, регистров BKP60-63, если заполнены не все три подрегистра каждого регистра, будет возникать одно из событий, которое приведёт к вызову функции прерывания. В данном случае лучше отслеживать состояние регистров EVENT0-4_HIGH блока FT_CNTR в ходе пошаговой отладки Вашей программы, например, при помощи IDE Keil с использованием стандартного .svd файла. Дополнительно, если проект сложный, можно попробовать постепенно исключать строчки кода конфигурации тех блоков, заполнение которых может потенциально вызвать одно из описанных событий в регистрах EVENT. Таким образом можно локализовать причину возникновения прерывания.

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


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-15 17:44 
Не в сети

Зарегистрирован: 2014-авг-05 17:25
Сообщения: 44
Lampadov писал(а): *
После проверки работоспособности вызова функции прерывания FT_IF0_Handler по событиям EVENT0-EVENT4 на отладочной плате производства компании Миландр, работа ведётся корректно, прерывание возникает только при фиксации событий. Подскажите, пожалуйста, с какой платой Вы работаете и с какой памятью? Дополнительно просим сообщить Вас информацию по используемым блокам микроконтроллера в Вашей программе. Внимательно посмотрите, пожалуйста, условия возникновений событий из групп EVENT0-EVENT4, в частности, обратите внимание на группу EVENT4, где в силу троированной логики, например, регистров BKP60-63, если заполнены не все три подрегистра каждого регистра, будет возникать одно из событий, которое приведёт к вызову функции прерывания. В данном случае лучше отслеживать состояние регистров EVENT0-4_HIGH блока FT_CNTR в ходе пошаговой отладки Вашей программы, например, при помощи IDE Keil с использованием стандартного .svd файла. Дополнительно, если проект сложный, можно попробовать постепенно исключать строчки кода конфигурации тех блоков, заполнение которых может потенциально вызвать одно из описанных событий в регистрах EVENT. Таким образом можно локализовать причину возникновения прерывания.
Спасибо за оперативный ответ.
Плата нашей разработки, программа выполняется из внешней памяти типа MRAM (подключены две 8-битных микросхемы).
Проблема возникает только в момент подачи питания, поэтому через отладчик разобраться не получается.
Все-таки хотел бы уточнить - при возникновении данного прерывания я обязательно должен считать какие-то не нулевые значения из регистров EVENT0..12?


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-16 09:35 
Не в сети
Support
Аватара пользователя

Зарегистрирован: 2018-авг-10 23:14
Сообщения: 448
Организация: АО «ПКК Миландр»
Откуда: Зеленоград
QuadMan писал(а): *
Lampadov писал(а): *
После проверки работоспособности вызова функции прерывания FT_IF0_Handler по событиям EVENT0-EVENT4 на отладочной плате производства компании Миландр, работа ведётся корректно, прерывание возникает только при фиксации событий. Подскажите, пожалуйста, с какой платой Вы работаете и с какой памятью? Дополнительно просим сообщить Вас информацию по используемым блокам микроконтроллера в Вашей программе. Внимательно посмотрите, пожалуйста, условия возникновений событий из групп EVENT0-EVENT4, в частности, обратите внимание на группу EVENT4, где в силу троированной логики, например, регистров BKP60-63, если заполнены не все три подрегистра каждого регистра, будет возникать одно из событий, которое приведёт к вызову функции прерывания. В данном случае лучше отслеживать состояние регистров EVENT0-4_HIGH блока FT_CNTR в ходе пошаговой отладки Вашей программы, например, при помощи IDE Keil с использованием стандартного .svd файла. Дополнительно, если проект сложный, можно попробовать постепенно исключать строчки кода конфигурации тех блоков, заполнение которых может потенциально вызвать одно из описанных событий в регистрах EVENT. Таким образом можно локализовать причину возникновения прерывания.
Спасибо за оперативный ответ.
Плата нашей разработки, программа выполняется из внешней памяти типа MRAM (подключены две 8-битных микросхемы).
Проблема возникает только в момент подачи питания, поэтому через отладчик разобраться не получается.
Все-таки хотел бы уточнить - при возникновении данного прерывания я обязательно должен считать какие-то не нулевые значения из регистров EVENT0..12?
Здравствуйте!

Все ошибки, возникающие в блоках, вызывают возникновение флагов в регистрах EVENTx блока FT_CNTR и при активации в нём прерываний - выработку соответствующих прерываний с обработчиками. Обратите, пожалуйста, внимание, что при подключении к микросхеме через отладчик, можно выполнить предварительный сброс микросхемы, где далее можно попробовать запуститься на исполнение с обработчика Reset_Handler, поскольку после его отработки произойдет переход к исполнению кода программы.

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


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-16 19:38 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 767
Откуда: г. Санкт-Петербург
QuadMan писал(а): *
Здравствуйте!

Подскажите пожалуйста, в чем может быть проблема - после разрешения прерывания для событий EVENT0..EVENT4

NVIC_EnableIRQ(FT_IF0_IRQn);

Происходит прерывание, в обработчике проверяю все эвенты с 0 по 12 - там везде 0.

Как понять причину вызова прерывания?
Я инициализирую FTControl следующим образом:
Открыть
void FT_Control_Init(void)
{
FTControl* ft = FT_CNTR;
	
	ft->KEY = _KEY_;
	
	ft->RESET_EVENT0 = 0;
	ft->RESET_EVENT1 = (1<<0)|(1<<1)|(1<<2)|(1<<4);		//разрешить прерывание FT_IF0 при отказaх в ядре
	ft->EVENT[1] = (1<<0)|(1<<1)|(1<<2)|(1<<4);
	ft->RESET_EVENT2 = (1<<1)|(1<<2);	//разрешить прерывание FT_IF0 при отказе памяти
	ft->EVENT[2] = (1<<1)|(1<<2);
	ft->RESET_EVENT3 = 0;
	ft->RESET_EVENT4 = (1<<1)|(1<<4)|(1<<5)|(1<<6);		//разрешить прерывание FT_IF0 при отказе в контроллерах памяти и FT_CNTR
	ft->EVENT[4] = (1<<1)|(1<<4)|(1<<5)|(1<<6);
		
	ft->IE_EVENT5 = (1<<0)|(1<<1)|(1<<3)|(1<<6)|(1<<7)|(1<<17)|(1<<24)|(1<<26); //разрешить прерывание FT_IF2 при отказе в тактировании периферии
	ft->IE_EVENT6 = (1<<2);		//разрешить прерывание FT_IF2 при переходе CPUCLK на HSI
	ft->IE_EVENT7 = (1<<9)|(1<<10)|(1<<11);		//разрешить прерывание FT_IF2 при сбое в контроллерах памяти и FT_CNTR
	ft->IE_EVENT9 = (1<<0)|(1<<1)|(1<<3)|(1<<6)|(1<<7)|(1<<17)|(1<<24)|(1<<26); //разрешить прерывание FT_IF3 при сбое в тактировании периферии
	
	NVIC->ICPR[(FT_IF0_IRQn >> 5)] = (1u<<(FT_IF0_IRQn & 0x1f));
	NVIC->ICPR[(FT_IF2_IRQn >> 5)] = (1u<<(FT_IF2_IRQn & 0x1f));
	NVIC->ICPR[(FT_IF3_IRQn >> 5)] = (1u<<(FT_IF3_IRQn & 0x1f));
	
	NVIC->ISER[(FT_IF0_IRQn >> 5)] = (1u<<(FT_IF0_IRQn & 0x1f));
	NVIC->ISER[(FT_IF2_IRQn >> 5)] = (1u<<(FT_IF2_IRQn & 0x1f));
	NVIC->ISER[(FT_IF3_IRQn >> 5)] = (1u<<(FT_IF3_IRQn & 0x1f));
}
Закрыть
При этом ложного прерывания не возникает.


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-17 17:33 
Не в сети

Зарегистрирован: 2021-мар-17 17:08
Сообщения: 2
Организация: АО "КБ НАВИС"
Здравствуйте! Мне не до конца понятен вопрос с прерываниями по событиям EVENT 0-4.
1) У меня по внешней шине подключена 32-х разрядная ОЗУ с параллельным ЕСС, подключенная к области REGION1. В случае, когда происходит одинарная ошибка ЕСС, какие события возникнут?
2) В EVENT1 есть биты событий ECCERR_EXTBUS0 и ECCERR_EXTBUS1, но какой из них (или оба?) выставляется в моем случае?
3) А в случае с двойной ошибкой ЕСС? Только ECC_EXTBUS_DE?
4) Какие прерывания порождают эти события? EXT_INTERROR1_Handler? FT_IF0_Handler? FT_IF1_Handler? Непонятно, чем IF0 отличается IF1.


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-17 18:13 
Не в сети

Зарегистрирован: 2010-сен-21 12:57
Сообщения: 767
Откуда: г. Санкт-Петербург
Дмитрий_НАВИС писал(а): *
...Непонятно, чем IF0 отличается IF1.
FT_IF0_IRQn можно замаскировать через RESET_EVENT.
FT_IF1_IRQn замаскировать нельзя.


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-18 10:16 
Не в сети

Зарегистрирован: 2021-мар-17 17:08
Сообщения: 2
Организация: АО "КБ НАВИС"
vasili писал(а): *
Дмитрий_НАВИС писал(а): *
...Непонятно, чем IF0 отличается IF1.
FT_IF0_IRQn можно замаскировать через RESET_EVENT.
FT_IF1_IRQn замаскировать нельзя.
Спасибо


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-мар-18 13:20 
Не в сети
Support

Зарегистрирован: 2017-май-31 15:10
Сообщения: 104
Организация: АО "ПКК Миландр"
Откуда: АО "ПКК Миландр"
Дмитрий_НАВИС писал(а): *
Здравствуйте! Мне не до конца понятен вопрос с прерываниями по событиям EVENT 0-4.
1) У меня по внешней шине подключена 32-х разрядная ОЗУ с параллельным ЕСС, подключенная к области REGION1. В случае, когда происходит одинарная ошибка ЕСС, какие события возникнут?
2) В EVENT1 есть биты событий ECCERR_EXTBUS0 и ECCERR_EXTBUS1, но какой из них (или оба?) выставляется в моем случае?
3) А в случае с двойной ошибкой ЕСС? Только ECC_EXTBUS_DE?
4) Какие прерывания порождают эти события? EXT_INTERROR1_Handler? FT_IF0_Handler? FT_IF1_Handler? Непонятно, чем IF0 отличается IF1.
Добрый день!

1) В блоке FTCNTR - никаких. В блоке контроллера внешний шины, в регистре ECCCS выставится флаг одиночной ошибки и произойдет инкремент счётчика одиночных ошибок.
2) Ни какой. Указанные биты выставляются если ошибка возникает при обращении ядром к контроллеру EXT_BUS по шине AHB. Ошибки при обращении самим контроллером EXT_BUS к памяти сигнализирует ECC_EXTBUS_DE.
3) Да, в случае двойной ошибки уже будет событие ECC_EXTBUS_DE в блоке FTCNTR, а в контроллере внешней шины, как в случае и с одиночной ошибкой, выставится флаг и увеличится счётчик.

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


Вернуться к началу
 Заголовок сообщения: Re: Проблемы с отладкой 1986BE8T
СообщениеДобавлено: 2021-июл-15 00:23 
Не в сети

Зарегистрирован: 2016-ноя-22 11:08
Сообщения: 11
Организация: АО "НИИ ТП"
Коллеги, в каком случае возникает ошибка FTCNTR AHB_EXTBUS_COMP_ERR? Это EVENT0, 12й бит.
Стала устойчиво воспроизводиться при определённых условиях при чтении внешней памяти некоторое время назад.


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 156 сообщений ]  На страницу « 17 8 9 10 11 »

Часовой пояс: UTC+03:00


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

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


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

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB