Паф 0 4 июня, 2013 Опубликовано 4 июня, 2013 · Жалоба Добрый день! МК STM32L152, IAR6.5 Работаю с EEPROM вроде бы правильно: функция записи в EEPROM, таблица векторов прерываний и обработчик критического прерывания в RAM(ну и вызываемые функции соответственно тоже). Перед записью в EEPROM запрещаю прерывания кроме критического. Работает без проблем. Осциллографом контролирую работу критического прерывания. Затем подключаю STM32F10x, STM32L1xx and STM32F3xx USB-FS-Device Driver Virtual COM port. Вижу, что программа залипает на время доступа к EEPROM(критическое прерывание не вызывается). USB прерывания запрещаю перед записью в EEPROM - проверил. Никакой передачи данных по VCP со стороны хоста и МК не делаю. Т.е. кто-то пытается доступиться до FLASH, если я правильно понимаю. Кто-нибудь сталкивался с подобным поведением или что-то я делаю не так? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Паф 0 6 июня, 2013 Опубликовано 6 июня, 2013 · Жалоба Была проблема с запрещением Suspend/Resume. Я неправильно запрещал Suspend в usb_pwr.с: __IO bool fSuspendEnabled = FALSE; /* true when suspend is possible */ Правильно делать так: STM32_USB-FS-Device_Lib_V4.0.0/Projects/Virtual_COM_Port/inc/usb_conf.h /* IMR_MSK */ /* mask defining which events has to be handled */ /* by the device application software */ // #define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_SUSPM | CNTR_ERRM | CNTR_SOFM \ // | CNTR_ESOFM | CNTR_RESETM ) // Disable Suspend/Resume response completely #define IMR_MSK (CNTR_CTRM | CNTR_WKUPM | CNTR_ERRM | CNTR_SOFM | CNTR_RESETM ) Работать стало как задумано. Осталось понять взаимосвязь.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorle 0 31 октября, 2013 Опубликовано 31 октября, 2013 · Жалоба Спасибо. Информация мне очень помогла. А откуда пришла идея менять IMR_MSK? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Добрый день! МК STM32L152, IAR6.5 Работаю с EEPROM вроде бы правильно: функция записи в EEPROM, таблица векторов прерываний и обработчик критического прерывания в RAM(ну и вызываемые функции соответственно тоже). Перед записью в EEPROM запрещаю прерывания кроме критического. Работает без проблем. Осциллографом контролирую работу критического прерывания. Затем подключаю STM32F10x, STM32L1xx and STM32F3xx USB-FS-Device Driver Virtual COM port. Вижу, что программа залипает на время доступа к EEPROM(критическое прерывание не вызывается). USB прерывания запрещаю перед записью в EEPROM - проверил. Никакой передачи данных по VCP со стороны хоста и МК не делаю. Т.е. кто-то пытается доступиться до FLASH, если я правильно понимаю. Кто-нибудь сталкивался с подобным поведением или что-то я делаю не так? Спасибо. Не подскажете работающий пример для STM32 USB? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Паф 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Спасибо. Информация мне очень помогла. А откуда пришла идея менять IMR_MSK? Идею подсказали на форуме поддержки ST. Могу поискать линк. Не подскажете работающий пример для STM32 USB? STM32_USB-FS-Device_Lib_V4.0.0 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rat 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Идею подсказали на форуме поддержки ST. Могу поискать линк. STM32_USB-FS-Device_Lib_V4.0.0 Спасибо ) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
igorle 0 1 ноября, 2013 Опубликовано 1 ноября, 2013 · Жалоба Идею подсказали на форуме поддержки ST. Могу поискать линк. Это конкретно вам ответили? Я искал на этом форуме. И, как оказалось, читал ту ветку, где говорилось о модификации IMR_MSK. Фокус в том, что там обсуждалось так много разных вариантов, что именно этот я не понял и пропустил :( Если это ваша ветка - дайте линк, пожалуйста. Поучусь, как спрашивать чтобы тебя поняли. Я вот эту ветку находил. PS. Этот их clive1 - это живой человек, или собирательный образ, типа кукрыниксы? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться