assert_param triggered in USB module
vitkorob opened this issue · comments
When I do implementation of assert_failed function and use #define USE_ASSERT_INFO 2
, I observed that assert statement occurred in file MDR32F9Qx_usb_device.c line 740
static void USB_EP_SetReady(USB_EP_TypeDef EPx, uint32_t val)
{
...
/* Clear pending bits */
USB_SetSIS(USB_SIS_Msk);
...
}
Function USB_SetSIS uses the IS_USB_SIS_VALUE(...) macro with argument USB_SIS_Msk. Need fix IS_USB_SIS_VALUE macro.
@vitkorob Please check bug fix
Now code is good. Thank you! But I still have triggered assert_param.
USB_Result USB_DeviceDispatchEvent(void)
{
...
/* Get masked interrupt flags */
USB_IT = USB_GetSIS();
...
/* Clear pending bits, except for SCTDONE */
USB_SetSIS(USB_IT & (~USB_SIS_SCTDONE_Set));
...
}
I think this time it's hardware problem, because in the manual MDR_USB->SIS has 5 first significant bits, but it can return 6th bit.
I will write letter to technical support and I'll keep you informed.
@vitkorob, Ok.
The first message:
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru
Дата: 6 июля 2016 г., 12:42
Тема: Запрос N [], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра
Кому: Victor KorobkovskyЗдравствуйте Виктор Андреевич,
Бит 5 (считая с 0) в регистре MDR_USB->SIS устанавливается в 1 при включении блока USB. Его необходимо игнорировать.
В следующую версию спецификации будут внесены соответствующие изменения.С наилучшими пожеланиями,
Отдел технической поддержки ЦП ИС АО «ПКК Миландр»
E-mail: support@milandr.ru
Skype: support.milandr
Телефон: +7(495)221-13-55
The second message:
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru
Дата: 11 июля 2016 г., 10:52
Тема: Запрос N [], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра
Кому: Victor KorobkovskyЗдравствуйте Виктор Андреевич,
Бит 5 устанавливается в "1" при вклюении блока USB в тех микроконтроллерах, в которых есть такой же блок USB. Блок USB одинаковый в 1986ВЕ1Т, 1986ВЕ9х, 1901ВЦ1Т.
С наилучшими пожеланиями,
Отдел технической поддержки ЦП ИС АО «ПКК Миландр»
E-mail: support@milandr.ru
Skype: support.milandr
Телефон: +7(495)221-13-55
@vitkorob Please test.
От кого: Отдел технической поддержки ЦП ИС АО ПКК Миландр support@milandr.ru
Дата: 12 июля 2016 г., 11:03
Тема: Запрос N [], Re: 1986BE92QI (aka MDR32F9Q2I) поведение MDR_USB->SIS регистра
Кому: Victor KorobkovskyЗдравствуйте Виктор Андреевич,
Да, 1986ВЕ3 это тоже касается, там такой же USB блок.
С наилучшими пожеланиями,
Отдел технической поддержки ЦП ИС АО «ПКК Миландр»
E-mail: support@milandr.ru
Skype: support.milandr
Телефон: +7(495)221-13-55