189 похожих чатов

Доброго времени суток, коллеги! Тут проблема у меня возникла, может

кто-то еще сталкивался или подскажет куда копать? Портирую код с контроллера stm32f415 на китайский мк фирмы Artery at32f415. По задействованной в прошивке периферии все плюс-минус похоже, что не похоже - переписано. И столкнулся я с такой странностью - прошивка на китайце через разные промежутки времени (от 10 секунд до 3 минут) вываливается в обработчик прерывания XMC_Handler. XMC - это аналог FSMC у stm, только дело в том, что в моей прошивке эта периферия вообще не используется и никак не настраивается. Торчит контроллер в вечном лупе пока обработчик в стартап файле описан как weak. Стоит мне его написать в другом файле программы - прошивка вываливается уже в прерывание оконного таймера, который тоже никак не используется. Поступаю с этим обработчиком как с предыдущим - вываливается уже в UsageFault. Затем в обработчик USART. Предположу, что такое будет, пока обработчики не закончатся. Ощущение, что что-то в прошивке то ли инициализирует периферию, то ли лезет в адрес обработчика - сказать сложно. Курение errata и интернета ничего не дало. Может кто подскажет куда копать? Заранее спасибо))

6 ответов

22 просмотра

Если процессор имеет на борту MPU, можно попробовать поставить запрет на использование блоков памяти, куда попадает XMC. У ST-шников была подобная тема с QSPI.

Evgeny Alexeev
Если процессор имеет на борту MPU, можно попробова...

Заодно можно отловить попытку доступа к этой области.

Nikita- Автор вопроса
Evgeny Alexeev
Если процессор имеет на борту MPU, можно попробова...

не, процессора нет. Только лишь микроконтроллер. Да и странно, что на stm такое не происходит

Nikita
не, процессора нет. Только лишь микроконтроллер. Д...

Понятно, что контроллер. MPU - Memory Protection Unit. С большой вероятностью он есть. По крайней мере у ST-шников уже давно и почти везде.

Nikita- Автор вопроса
Evgeny Alexeev
Понятно, что контроллер. MPU - Memory Protection U...

понял о чем вы) да, у китайца есть MPU, только мне пока это кажется как из пушки по воробьям. Когда совсем отчаюсь - попробую)

Nikita
понял о чем вы) да, у китайца есть MPU, только мне...

Такие проблемы реально бывают, сам сталкивался, поэтому и посоветовал сразу. Там кусок кода в 20 строк, который, возможно, решит проблему.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта