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

 
 
> Источник исключени HardFault в LPC1768
TAutomatic
сообщение Sep 7 2012, 09:34
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 59
Регистрация: 11-12-11
Пользователь №: 68 798



Как определить причину вызова этого исключения? Столкнулся с проблемой возникновения этого исключения, хотя версия этого проекта трехдневной давности работает нормально. Причем и текущий проект работает нормально, если одну из ножек замкнуть на корпус. Непонятная ситуация.....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
MBR
сообщение Sep 12 2012, 06:58
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 107
Регистрация: 26-09-10
Пользователь №: 59 748



1. hard fault вызывается всегда, если не включены обработчики bus fault, usage fault, mem fault. man по регистрам SCB.
2. если обработчики включены, а все равно hard fault - есть биты, определяющие признак hard fault в том же SCB. В частности, невозможность прочитать таблицу векторов.
3. Если и там нет информации - наиболее типичная причина - вызов svc, когда прерывания запрещены.
4. если ничего не помогло - смотрим lr на входе, по адресу возврата определяем, использовался ли msp или psp. Раскручиваем стек, находим вызывающий xPSR, PC, LR.

в принципе, все это умеет моя операционка, mkernel. Я сегодня буду делать коммит, как раз с этой частью кода. Пример можно взять там.
Go to the top of the page
 
+Quote Post



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

 


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


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