Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Hard fault на EXTI
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Страницы: 1, 2
pitt
Цитата(Golikov A. @ Oct 20 2015, 02:51) *
правильнее сказать методом тыка обнаружили место куда вбить костыль чтобы ошибка перестала проявляться как раньше.

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


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

Absolutely not. I did find what is happening and just now figure out exactly why and what is the case. The short answer is alignment. The exti_s struct is in the one .h file used by two different .c files. One treats it as packed(expected behaviour), another is not. That is how one static variable overwrites another.


Sermo animi est imago: qualis vir, talis et oratio est

Цитата(aaarrr @ Oct 20 2015, 04:28) *
А автор не нашел, несмотря на наличие содержимого stack frame и "мурзилки" с его описанием. Чем тут можно помочь?

Help is always possible but desire and patience are required.
smalcom
да используйте уже наконец http://electronix.ru/forum/index.php?showforum=92
или DNS теперь по-умолчанию на edaboard редиректит?
Golikov A.
Да русский он, на английском пишет для солидностиsm.gif

Вон английского мало, он латынь подключил, правда пока в основном пословицами и не всегда подходящего содержания, но в целом нормальноsm.gif солидно звучитsm.gif

Ну если вы нашли что у вас проблемы с выравниванием, кстати вдруг понял что реально не знаю что за проц используется, но думаю что кортекс м4 sm.gif , так вот если вы нашли проблемы с выравниванием, то так и надо писать что из-за выравнивания в одной функции переменные налезали и бла бла бла, а не то что она переменная портит другую....

Если вы пакованную структуру передаете в функцию, объявите в функции прием пакованных параметров на вход, и должно полегчать. А еще лучше через typdef сразу объявить пакованную структуру и как структуру и как подставляемую в функцию переменную.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.