|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
STM32 HardFault в коде. strtok14.09.2020, 17:35. Показов 9992. Ответов 64
Метки нет (Все метки)
Код вилетаєт после нескольких визовов етой части кода.
В чем может бить ошибка?
0
|
||||||
| 14.09.2020, 17:35 | |
|
Ответы с готовыми решениями:
64
В коде не работает команда length_of_text и strtok, в чем может быть проблема? Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok реализация strtok без strtok |
|
|
|
| 15.09.2020, 17:55 | |
|
Ну вы сами-то посмотрите.............................. ........................................ ........................................ ........................................ ........................................ ........................................ ........................................ ...............
1
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 15.09.2020, 18:01 [ТС] | |
|
не те регистры
0
|
|
|
|
|||||||||||
| 15.09.2020, 18:03 | |||||||||||
|
Те, частично. Но остальные редко используются и здесь не выводятся.
Вот кусочек моего проекта на stm32f103, попробуйте прикрутить:
1
|
|||||||||||
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 15.09.2020, 18:06 [ТС] | |
|
нашел регистры
0
|
|
|
|
|
| 15.09.2020, 18:25 | |
|
Установлен бит IBUSERR в регистре BFSR.
Варианты:
От себя добавлю - никогда не юзайте код, выделяющий память из кучи. Если очень надо применить оператор new, есть т.н. placement new, который создаёт объект в указанном буфере памяти.
1
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 15.09.2020, 18:30 [ТС] | |
|
вот регистри
0
|
|
|
|
|
| 15.09.2020, 18:36 | |
|
См. выше, при IBUSERR всё равно не получится узнать адрес возникновения ошибки.
Добавлено через 1 минуту Почитайте на досуге How to debug a HardFault on an ARM Cortex-M MCU by Chris Coleman. Добавлено через 38 секунд Описание регистров SCB для Cortex-M3: https://developer.arm.com/docu... ck?lang=en
1
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
| 15.09.2020, 19:42 [ТС] | ||||||
|
я забрал весь код, оставил только объявления переменных и прием данных через DMA. Все равно вылетает код.
если убрать HAL_UART_Receive_DMA(&huart1, buff, 255); не вылетает. я брал код с отсюда: http://ausleuchtung.ch/f401re-gps/
0
|
||||||
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 15.09.2020, 20:12 [ТС] | |
|
может причина в том, что в настройках DMA в статье автора есть "stream" а у меня "Channel" ?
0
|
|
|
|
|
| 15.09.2020, 21:45 | |
|
Сколько памяти выделено под кучу? Может malloc выходит за пределы выделенной памяти, а может стек затирает область кучи/переменных.
У вас в майне локальных переменных больше чем на 1 КБ. Стека достаточно? Объявите их со спецификатором static и посмотрите что получится.
1
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 16.09.2020, 09:29 [ТС] | |
|
1. Сколько памяти выделено под кучу?
2. Может malloc выходит за пределы выделенной памяти? 3. Может стек затирает область кучи/переменных? Как это узнать?
0
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
||||||
| 16.09.2020, 11:22 [ТС] | ||||||
|
Откатил проект до состояния, когда я добавил код только в мэйн функцию. Все равно вылетает в HardFault_Handler.
![]() Плохо протестовал тогда ..
я встречаю первый раз такую ошибку в коде, и не понимаю как ее правильно исправить, и почему она возникла. Можно какие-то ссылки на информацию об этом?
0
|
||||||
|
|
||||
| 16.09.2020, 11:43 | ||||
|
Поэтому на Как защититься от переполнения стека (на Cortex M)? Простейшее профилирование памяти на STM32 и других микроконтроллерах
0
|
||||
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 16.09.2020, 14:49 [ТС] | |
|
В CubeIDE есть вкладка с размерами Heap size и Stack Size.
Может поменять эти значения? Вот скрин.
0
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 16.09.2020, 14:51 [ТС] | |
|
в .map файле
0
|
|
|
7 / 7 / 0
Регистрация: 26.11.2018
Сообщений: 262
|
|
| 16.09.2020, 15:00 [ТС] | |
|
Хорошо, попробую сделать как описано здесь https://habr.com/ru/post/443030/
0
|
|
| 16.09.2020, 15:00 | |
|
Ошибки HardFault FATFS и HardFault Отладка HardFault FreeRTOS + localtime() = hardfault HardFault при запуске Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет!
За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
|
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык.
Возвращает он вот это:
https:/ / i. **********/ vqBWLe2. png
Нужную строчку в 3й колонке просто выдумал. .
Это. . .
|
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor.
Это. . .
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|