|
STM32 Обработка hard fault exception, Как правильно с ним работать |
|
|
|
 |
Ответов
|
Dec 28 2010, 03:36
|
Местный
  
Группа: Участник
Сообщений: 338
Регистрация: 1-02-06
Из: Королев, М.О.
Пользователь №: 13 846

|
Исключение Hard Fault, также как сброс и NMI, является системным исключением с фиксированным приоритетом и разрешено всегда. Данное исключение генерируется при появлении исключений Bus Fault, MemManage Fault, Usage Fault, если соответствующие исключения запрещены. Также Hard Fault может генерироваться при отказе шины во время выборки вектора из таблицы. Причина исключения Hard Fault - см. регистр HFSR (0xE000ED2C). Примечание: Если очень нужно запретить HArd Fault, то можно установить регистр FAULTMASK - при этом разрешенным останется только NMI
Сообщение отредактировал IgorKossak - Dec 28 2010, 11:06
Причина редактирования: Бездумное цитирование
--------------------
-Да как так-то?/-Да как-то так/-Ну так-то да
|
|
|
|
|
Dec 28 2010, 12:14
|

Знающий
   
Группа: Свой
Сообщений: 966
Регистрация: 27-05-06
Из: СПб
Пользователь №: 17 499

|
Цитата(Harvester @ Dec 28 2010, 09:36)  Также Hard Fault может генерироваться при отказе шины во время выборки вектора из таблицы. Причина исключения Hard Fault - см. регистр HFSR (0xE000ED2C). Примечание: Если очень нужно запретить HArd Fault, то можно установить регистр FAULTMASK - при этом разрешенным останется только NMI Спасибо за ответы, но мне не понятно главное- суть системы исключений. Слово "отказ" я воспринимаю как некую неисправность, возникающую по причине несоответствия конструкции (в данном случае контроллера) условиям работы. Это некие "затычки" против системных отказов? Как вообще может возникнуть "отказ шины" (имеется в виду, очевидно, внутренняя шина данных контроллера? ) Больше всего интересует, что я могу в программе написать такое, чтобы возникло это исключение? Ведь так или иначе, после компиляции мы получаем набор ассемблерных команд. В архитектуру заложена некие запрещенные последовательности таких команд? Недавно перешел с более простой архитектуры ( AVR) там, такого понятия нет, вот и спрашиваю....
|
|
|
|
|
Dec 28 2010, 13:59
|

фанат дивана
     
Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684

|
Цитата(Serj78 @ Dec 28 2010, 20:14)  Больше всего интересует, что я могу в программе написать такое, чтобы возникло это исключение? Например вот так: Код void make_hard_fault() { __asm volatile ( "MOVS r0, #1 \n" "LDM r0,{r1-r2} \n" "BX LR \n" ); } Это попытка чтения по невыровненному адресу. Будет исключение.
--------------------
Если бы я знал, что такое электричество...
|
|
|
|
Сообщений в этой теме
Serj78 STM32 Обработка hard fault exception Dec 28 2010, 02:19 zltigo QUOTE (Serj78 @ Dec 28 2010, 08:19) Но ка... Dec 28 2010, 05:03 Dron_Gus Например, Вы можете попытаться обратиться или выпо... Dec 28 2010, 12:46 Serj78 Спасибо за примеры!
Но это если я, образно го... Dec 28 2010, 15:48 AHTOXA Цитата(Serj78 @ Dec 28 2010, 23:48) По ид... Dec 28 2010, 16:56  sonycman Цитата(AHTOXA @ Dec 28 2010, 23:56) Нет, ... Dec 28 2010, 23:50   AHTOXA А если адрес получается извне? Например, читается ... Dec 29 2010, 00:29    sonycman Цитата(AHTOXA @ Dec 29 2010, 08:29) А есл... Dec 29 2010, 02:53     AHTOXA Цитата(sonycman @ Dec 29 2010, 10:53) А в... Dec 29 2010, 03:40 sonycman У меня была как то проблема с таким вылетом - в ис... Dec 29 2010, 06:40 AHTOXA Цитата(sonycman @ Dec 29 2010, 14:40) Не ... Dec 29 2010, 09:31  sonycman Цитата(AHTOXA @ Dec 29 2010, 17:31) Я вид... Dec 29 2010, 11:58   AHTOXA Цитата(sonycman @ Dec 29 2010, 19:58) А н... Dec 29 2010, 13:11    sonycman Цитата(AHTOXA @ Dec 29 2010, 21:11) Ха... Dec 29 2010, 14:37     igorsk Цитата(sonycman @ Dec 29 2010, 16:37) И о... Apr 7 2011, 21:45 pan_oleg День добрый.
Нужна помощ.
Код для STM32F101BT6 нап... Jan 5 2011, 11:31 Haamu Цитата(pan_oleg @ Jan 5 2011, 15:31) Код ... Apr 11 2014, 02:30  Сергей Борщ Цитата(Haamu @ Apr 11 2014, 04:30) Подска... Apr 11 2014, 03:09 Атмег Цитата(pan_oleg @ Jan 5 2011, 14:31) День... Apr 5 2011, 16:48 KnightIgor Цитата(Атмег @ Apr 5 2011, 18:48) При изм... Apr 6 2011, 12:32 Атмег Цитата(KnightIgor @ Apr 6 2011, 15:32) Эт... Apr 6 2011, 17:10 Атмег Кажется, причины ясны, проблема не в моем коде. У ... Apr 7 2011, 17:45 aaarrr Цитата(Атмег @ Apr 7 2011, 21:45) Кажется... Apr 7 2011, 22:11 Атмег Цитата(aaarrr @ Apr 8 2011, 01:11) Можно ... Apr 8 2011, 07:53 aaarrr Цитата(Атмег @ Apr 8 2011, 11:53) PLL нас... Apr 8 2011, 08:49 Атмег Цитата(aaarrr @ Apr 8 2011, 11:49) А FMR?... Apr 8 2011, 09:48 aaarrr Цитата(Атмег @ Apr 8 2011, 13:48) код из ... Apr 8 2011, 09:54 Атмег Это я взял как есть из примера. Как будет очередно... Apr 8 2011, 10:23 aaarrr Цитата(Атмег @ Apr 8 2011, 14:23) Запись ... Apr 8 2011, 10:28 Атмег Цитата(aaarrr @ Apr 8 2011, 14:28) В том-... Apr 8 2011, 10:57 aaarrr Если программа стартует из флеш, то загрузчик не з... Apr 8 2011, 11:06 Атмег Цитата(aaarrr @ Apr 8 2011, 15:06) Если п... Apr 8 2011, 15:39 aaarrr Цитата(Атмег @ Apr 8 2011, 19:39) Имел в ... Apr 8 2011, 16:13 Атмег Цитата(aaarrr @ Apr 8 2011, 20:13) Процес... Apr 8 2011, 17:28 aaarrr Цитата(Атмег @ Apr 8 2011, 21:28) Отличае... Apr 8 2011, 20:29 Атмег Да, вы были правы, действительно дело оказалось EE... Apr 12 2011, 22:02 aaarrr Цитата(Атмег @ Apr 13 2011, 02:02) Но Атм... Apr 12 2011, 22:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|