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

 
 
4 страниц V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Hard fault на EXTI
zltigo
сообщение Oct 19 2015, 17:13
Сообщение #31


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (pitt @ Oct 19 2015, 20:02) *
Obscurum per obscurius

Oculos habebat et not videbat sad.gif



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 19 2015, 17:38
Сообщение #32


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(zltigo @ Oct 19 2015, 13:13) *
Oculos habebat et not videbat sad.gif

Aliena vitia in oculis habemus, a tergo nostra sunt.
Docendo discimus

Сообщение отредактировал pitt - Oct 19 2015, 17:41


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 19 2015, 18:06
Сообщение #33


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Я в обработчике HardFault нахожу адрес программы, с которого процессор улетел. Больше мне, собственно, ничего не нужно. А регистры состояния в отладчике видны, как в AN209 показано.
Код
__asm void HardFault_Handler(void)
{
  TST LR, #4
  ITE EQ
  MRSEQ R0, MSP        ; Main Stack was used, put MSP in R0
  MRSNE R0, PSP        ; Process Stack was used, put PSP in R0
  LDR R0, [R0, #24]    ; Get stacked PC from stack
  B .
}
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 19 2015, 18:22
Сообщение #34


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (ViKo @ Oct 19 2015, 21:06) *
А регистры состояния в отладчике видны, как в AN209 показано.

Чукча не читатель. Чукча писатель вопросов. Ответов, даже столь разжованных, как этом самом AN209, он не понимает sad.gif.
QUOTE (ViKo @ Oct 19 2015, 21:06) *
Я в обработчике HardFault нахожу адрес программы, с которого процессор улетел. Больше мне, собственно, ничего не нужно.

LR и стек все-же нужен - отследить вызовы, ибо далеко не всегда виноват именно код в этом месте.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 19 2015, 18:27
Сообщение #35


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(aaarrr @ Oct 19 2015, 13:11) *
Прочитайте наконец свой же документ со стр. 12 и ниже.

From my .map:

os_dly 0x20003fc8 Data 24 rt_list.o(.bss)
__initial_sp 0x200043e0 Data 0 startup_stm32f40_41xxx.o(STACK)

SP = 0x200043A0
R14= FFFFFFF1

0x200043A0 20001E94
A4 08000000
A8 0
AC 0
B0 0
B4 080064E7


Code:
0x080064E4 BLX, r1
0x080064E6 POP (r4, pc)




Does it mean that I've exhausted RTX(idle) stack?


Цитата(zltigo @ Oct 19 2015, 14:22) *
Чукча не читатель. Чукча писатель вопросов. Ответов, даже столь разжованных, как этом самом AN209, он не понимает

Est proprium stultitiae aliorum vitia cernere, oblivisci suorum
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 19 2015, 18:35
Сообщение #36


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (pitt @ Oct 19 2015, 21:27) *
Est proprium stultitiae aliorum vitia cernere, oblivisci suorum

Нang the blame on someone else sm.gif.



--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 19 2015, 18:38
Сообщение #37


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(zltigo @ Oct 19 2015, 14:35) *
Нang the blame on someone else sm.gif.

Injuriam facilius facias quam feras
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 19 2015, 18:57
Сообщение #38


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(pitt @ Oct 19 2015, 21:27) *
SP = 0x200043A0

0x200043B4 080064E7

Внимание, вопрос: что находится в stack frame по этому смещению?
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 19 2015, 19:17
Сообщение #39


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(aaarrr @ Oct 19 2015, 14:57) *
Внимание, вопрос: что находится в stack frame по этому смещению?

If I understood your question correctly, but I'm not sure....





Сообщение отредактировал pitt - Oct 19 2015, 19:22


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 19 2015, 19:27
Сообщение #40


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(pitt @ Oct 19 2015, 22:17) *
If I understood your question correctly, but I'm not sure....

Нет, я задавал вопрос более общего характера. Итак, что находится в stack frame по смещению 0x14?
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 19 2015, 19:31
Сообщение #41


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(aaarrr @ Oct 19 2015, 15:27) *
Нет, я задавал вопрос более общего характера. Итак, что находится в stack frame по смещению 0x14?





--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
pitt
сообщение Oct 20 2015, 02:22
Сообщение #42


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Проблему я решил.
К моему сожалению, все это копание с регистрами ни к чему не привело. Извините, не могу понять, как оно помогает другим. Справился путем комментирования кусочков кода...
К еще большему сожалению, не понял природу проблемы, которая заключалась в том, что в СТАТИЧЕСКОЙ переменной типа exti_s(структура, описывающая EXTI), портился указатель на обработчик прерывания. Причем, его портила другая и тоже СТАТИЧЕСКАЯ переменная совершенно другого типа, но из того же файла. Почему?!
Буду весьма благодарен, если квалифицированно, без раздувания ноздрей, закатывания глаз, выкатывания губ и глубокомысленных замечаний об'ясните, а иначе, пожалуйста, не утруждайте себя, используйте энергию в мирных целях.

В любом случае, большое спасибо тем, кто старался помочь.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
smalcom
сообщение Oct 20 2015, 05:41
Сообщение #43


Профессионал
*****

Группа: Свой
Сообщений: 1 292
Регистрация: 26-06-07
Пользователь №: 28 718



покажите sym-файл, сразу или потом покажите исходники.


Цитата
Проблему я решил.

чот я не понял. вы исправили ошибку?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Oct 20 2015, 06:51
Сообщение #44


Гуру
******

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



правильнее сказать методом тыка обнаружили место куда вбить костыль чтобы ошибка перестала проявляться как раньше.

Без кода одна статическая переменная может портить другую статическую переменную только из вредности. Это я опускаю тот факт что вообще переменная переменную испортить не может а вот программа работая с переменными может.


Я бы конечно сказал бы что виноват стэк, но для статических переменных это вроде бы не верное утверждение, так что думаю проблема лежит глубже, вы просто задавили один из симптомов, потому прошли и другие симптомы, а проблем вы не обнаружили, и как следствие не исправили... ну или похвастайтесь уже кодом...
Go to the top of the page
 
+Quote Post
zltigo
сообщение Oct 20 2015, 07:27
Сообщение #45


Гуру
******

Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244



QUOTE (Golikov A. @ Oct 20 2015, 09:51) *
правильнее сказать методом тыка обнаружили место куда вбить костыль чтобы ошибка перестала проявляться как раньше.

Да.


--------------------
Feci, quod potui, faciant meliora potentes
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 16:08
Рейтинг@Mail.ru


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