реклама на сайте
подробности

 
 
> Прошу помощи с STM32F051, Периодическое сваливание в HardFault
nanorobot
сообщение Aug 8 2014, 18:41
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 244
Регистрация: 29-02-08
Пользователь №: 35 503



Отлаживаю дивайс на STM32F051. интенсивно используется DMA - все каналы. Периодически (1 раз в 1- 4 часа) происходит HardFault.Ввел обработчик ХардФаулт из Definitive Guide, получил листинг регистров. Не могу полноценно осознать результаты. Судя по содержимому PC, инструкция, вызвавшая HardFault была расположена в RAM. Непонятно. Указатели на функции не использую.
Во вложении кусочек скриншота с регистрами.
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Aug 20 2014, 07:28
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А вы по специальности работали?sm.gif ...

мне вот очень важно сколько бит int, потому что когда вы его массивами на компьютер шлете и обратно принимаете хорошо бы знать сколько переменных пошло. Так же я напомню что есть big endian и little endian, хорошо про них не знать, но в железе редко имеем дело с одним процессором, а если еще ПЛИС, а в ней удобнее big endian, а между процом и ПЛИС тоже интерфейсы и передача данных.

также мы вспоминаем о структурах и их преобразовании в байтовый массив и обратно, где так же важно знать типы, размеры полей, их последовательность и прочее... И тут в полный рост встает архитектура, по посылайте на компьютер не пакованные структуры с какого-нить СМ0, и попробуйте их с позиции "не програмерово собачье дело" их преобразовать.


Ну и пример про грузовик:
void - это не просто машина, это такая машина, которая может все, и потому если запросили void машину, то она сто пудово подойдет, только надо с пониманием к ней отнестись, и найти где входsm.gif, а все остальное она сделает, и груз перевезет и на работу по пробкам доставит. И продолжая этот пример, трудности на себя берет водитель, чтобы клиенты не парились!


Цитата
Ну включаем логику. Как может стать понятнее, если табличку "Иванов, 28 лет, пневмония, лечащий врач Сидоров" заменить на табличку "очередной больной"?


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

Иногда в поисках ошибок находятся разные места кода, и смотрите на них и думаете а нет ли тут ошибки, и иногда с таким явным уточнением вы понимаете что тут все верно. Особенно это часто это происходит когда идут двойные указатели и всякие их разименования...



Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- nanorobot   Прошу помощи с STM32F051   Aug 8 2014, 18:41
- - adnega   Стека точно хватает?   Aug 8 2014, 19:22
|- - nanorobot   Цитата(adnega @ Aug 9 2014, 01:22) Стека ...   Aug 8 2014, 19:25
- - Golikov A.   так сгенерите карту памяти, и поглядите. Если огро...   Aug 9 2014, 06:15
- - nanorobot   увеличил размер стека в 1.5 раза. не помогло.   Aug 9 2014, 09:21
- - ViKo   Причина HardFault описана в Fault регистрах. В той...   Aug 9 2014, 10:06
|- - nanorobot   Цитата(ViKo @ Aug 9 2014, 16:06) Причина ...   Aug 9 2014, 10:18
|- - jcxz   Цитата(nanorobot @ Aug 9 2014, 16:18) Есл...   Aug 9 2014, 15:25
|- - nanorobot   Цитата(jcxz @ Aug 9 2014, 21:25) ... Ес...   Aug 9 2014, 16:44
|- - jcxz   Цитата(nanorobot @ Aug 9 2014, 22:44) Есл...   Aug 9 2014, 18:32
|- - nanorobot   Цитата(jcxz @ Aug 10 2014, 00:22) Пристой...   Aug 9 2014, 18:35
|- - jcxz   Тогда эта модификация стека произошла в вашем обра...   Aug 9 2014, 18:50
|- - nanorobot   Цитата(jcxz @ Aug 10 2014, 00:50) Тогда э...   Aug 9 2014, 19:21
|- - ViKo   Цитата(nanorobot @ Aug 9 2014, 22:21) Осо...   Aug 9 2014, 20:50
- - ViKo   С CM0 знаком меньше. Может, таблица векторов преры...   Aug 9 2014, 10:33
- - KnightIgor   Цитата(nanorobot @ Aug 8 2014, 20:41) Отл...   Aug 9 2014, 11:17
|- - nanorobot   Цитата(KnightIgor @ Aug 9 2014, 17:17) .....   Aug 9 2014, 11:23
- - nanorobot   Со стеком разобрался. Нашел точку в которой происх...   Aug 9 2014, 20:47
|- - KnightIgor   Цитата(nanorobot @ Aug 9 2014, 22:47) Точ...   Aug 10 2014, 12:21
|- - Сергей Борщ   Цитата(KnightIgor @ Aug 10 2014, 15:21) Т...   Aug 10 2014, 14:57
||- - KnightIgor   Цитата(Сергей Борщ @ Aug 10 2014, 16:57) ...   Aug 10 2014, 16:49
||- - Сергей Борщ   Цитата(KnightIgor @ Aug 10 2014, 19:49) У...   Aug 11 2014, 08:43
||- - jcxz   Цитата(Сергей Борщ @ Aug 11 2014, 14:43) ...   Aug 11 2014, 09:11
||- - KnightIgor   Цитата(Сергей Борщ @ Aug 11 2014, 10:43) ...   Aug 12 2014, 10:08
||- - Сергей Борщ   Цитата(KnightIgor @ Aug 12 2014, 13:08) в...   Aug 12 2014, 11:39
||- - KnightIgor   Цитата(Сергей Борщ @ Aug 12 2014, 13:39) ...   Aug 12 2014, 12:33
||- - Сергей Борщ   Цитата(KnightIgor @ Aug 12 2014, 15:33) н...   Aug 12 2014, 17:39
|- - nanorobot   Цитата(KnightIgor @ Aug 10 2014, 18:21) Г...   Aug 10 2014, 15:14
|- - MiklPolikov   Очень интересная тема ! Подскажите, нет ли в и...   Aug 17 2014, 11:18
|- - adnega   Цитата(MiklPolikov @ Aug 17 2014, 15:18) ...   Aug 17 2014, 11:45
|- - MiklPolikov   Цитата(adnega @ Aug 17 2014, 15:45) Почем...   Aug 17 2014, 11:54
|- - adnega   Цитата(MiklPolikov @ Aug 17 2014, 15:54) ...   Aug 17 2014, 13:46
- - nanorobot   Thank. День прожит не зря. ))   Aug 9 2014, 21:03
- - Golikov A.   вроде как-то уже такое обсуждали, но так и не смог...   Aug 11 2014, 09:59
|- - jcxz   Не правы. Здесь совсем о другом разговор. Почитайт...   Aug 11 2014, 10:11
- - Golikov A.   ну типа Кодchar Array[10]; int *p = ...   Aug 17 2014, 14:07
|- - adnega   Цитата(Golikov A. @ Aug 17 2014, 18:07) н...   Aug 17 2014, 14:36
|- - Сергей Борщ   Цитата(Golikov A. @ Aug 17 2014, 17:07) Н...   Aug 17 2014, 22:22
|- - KnightIgor   Цитата(Сергей Борщ @ Aug 18 2014, 00:22) ...   Aug 18 2014, 07:50
|- - Сергей Борщ   Цитата(KnightIgor @ Aug 18 2014, 10:50) К...   Aug 18 2014, 09:56
|- - KnightIgor   Цитата(Сергей Борщ @ Aug 18 2014, 11:56) ...   Aug 18 2014, 12:31
|- - Сергей Борщ   Цитата(KnightIgor @ Aug 18 2014, 15:31) Н...   Aug 18 2014, 12:48
|- - LightElf   QUOTE (KnightIgor @ Aug 18 2014, 16:31) Я...   Aug 18 2014, 13:13
|- - KnightIgor   Цитата(LightElf @ Aug 18 2014, 15:13) До ...   Aug 18 2014, 14:45
|- - Сергей Борщ   Цитата(KnightIgor @ Aug 18 2014, 17:45) Е...   Aug 18 2014, 15:09
||- - KnightIgor   Цитата(Сергей Борщ @ Aug 18 2014, 17:09) ...   Aug 18 2014, 16:31
|- - LightElf   QUOTE (KnightIgor @ Aug 18 2014, 18:45) К...   Aug 19 2014, 07:30
- - Golikov A.   это же условно... может же быть входной байтовый...   Aug 17 2014, 17:11
|- - adnega   Цитата(Golikov A. @ Aug 17 2014, 21:11) э...   Aug 17 2014, 20:45
- - Golikov A.   если тот кто пишет прошивку об этом знает и следит...   Aug 18 2014, 07:00
|- - adnega   Цитата(Golikov A. @ Aug 18 2014, 11:00) П...   Aug 18 2014, 07:38
- - Golikov A.   ЦитатаПочему вы упорно валите с больной головы на ...   Aug 18 2014, 11:39
|- - Tahoe   Цитата(Golikov A. @ Aug 18 2014, 15:39) п...   Aug 19 2014, 03:16
- - Golikov A.   ЦитатаИз указателя на int делать указатель на char...   Aug 18 2014, 15:37
- - Golikov A.   даже в мего защищенном С# есть object и var. Так ч...   Aug 19 2014, 05:05
|- - Сергей Борщ   Цитата(KnightIgor @ Aug 18 2014, 19:31) С...   Aug 19 2014, 06:10
||- - KnightIgor   Цитата(Сергей Борщ @ Aug 19 2014, 08:10) ...   Aug 19 2014, 08:21
||- - LightElf   QUOTE (KnightIgor @ Aug 19 2014, 12:21) Я...   Aug 19 2014, 10:29
||- - LightElf   QUOTE (KnightIgor @ Aug 19 2014, 12:21) Т...   Aug 21 2014, 11:51
||- - MiklPolikov   Подскажите пожалуйста, как увидеть карту занятости...   Aug 26 2014, 11:54
|- - Tahoe   Цитата(Golikov A. @ Aug 19 2014, 09:05) В...   Aug 20 2014, 05:39
- - Golikov A.   Сергей Борщ очень правильно указал зачем применяет...   Aug 19 2014, 19:40
|- - Tahoe   Цитата(Golikov A. @ Aug 20 2014, 11:28) м...   Aug 20 2014, 08:30
- - Golikov A.   ЦитатаСдаюсь. Видимо, умение программировать дано ...   Aug 20 2014, 08:44
|- - Tahoe   Цитата(Golikov A. @ Aug 20 2014, 12:44) п...   Aug 20 2014, 10:46
- - Golikov A.   ну в целом все как бы ясно, и про вас и про ваш по...   Aug 20 2014, 11:24
- - Tahoe   Согласен. Потихоньку слиться - лучшее, что можно с...   Aug 20 2014, 12:17
- - Golikov A.   если опустить маалоки и рекурсию, то надо поставит...   Aug 26 2014, 12:22


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 04:44
Рейтинг@Mail.ru


Страница сгенерированна за 0.01506 секунд с 7
ELECTRONIX ©2004-2016