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

 
 
> STM32F1xx и Fault, Не получается отловить из какого места
XGoblinX
сообщение Aug 29 2011, 11:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 13-12-10
Пользователь №: 61 586



Всем здравствуйте!

Есть программка на иаре. Загружаю под SWD в STM32F103.
int main( void )
{
memset(0x20000000, 0, 0xffffff);
}

Во время выполнения естественно падаю в 0xC.
Но после этого я не могу посмотреть откуда именно (с какой инструкции) он туда свалился.
Хочу для себя понять на будущее, как ловить такие вещи.
Спасибо заранее.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
KnightIgor
сообщение Aug 29 2011, 11:49
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



Цитата(XGoblinX @ Aug 29 2011, 13:23) *
Всем здравствуйте!

Есть программка на иаре. Загружаю под SWD в STM32F103.
int main( void )
{
memset(0x20000000, 0, 0xffffff);
}

Во время выполнения естественно падаю в 0xC.
Но после этого я не могу посмотреть откуда именно (с какой инструкции) он туда свалился.
Хочу для себя понять на будущее, как ловить такие вещи.
Спасибо заранее.


А куда это Вы разогнались с более чем 16мио байт (0xffffff) в контроллере с не более чем 64kB RAM? Пишите в непонятно куда, вылетаете в защиту.
Go to the top of the page
 
+Quote Post
XGoblinX
сообщение Aug 29 2011, 12:17
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 13-12-10
Пользователь №: 61 586



Цитата(KnightIgor @ Aug 29 2011, 11:49) *
А куда это Вы разогнались с более чем 16мио байт (0xffffff) в контроллере с не более чем 64kB RAM? Пишите в непонятно куда, вылетаете в защиту.

Это специально сделано. Чтобы выйти за область рамы.


Цитата(SII @ Aug 29 2011, 11:33) *
А где пытаетесь смотреть? Адрес возврата (из которого можно восстановить адрес сбоя) при прерывании автоматически сохраняется в стеке прерванной программы.

Не смог найти. Я смотрю стек указывает на 0x200011B0.
По этому адресу хранится 0x20fffffC.
Это явно не то.
Если имелось в виду регистр связи, то тоже не то 0xFFFFFFF9

Сообщение отредактировал XGoblinX - Aug 29 2011, 12:18
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- XGoblinX   STM32F1xx и Fault   Aug 29 2011, 11:23
- - SII   А где пытаетесь смотреть? Адрес возврата (из котор...   Aug 29 2011, 11:33
|- - XGoblinX   Цитата(SII @ Aug 29 2011, 11:33) А где пы...   Aug 29 2011, 11:38
- - SII   Почитайте внимательно описание архитектуры на пред...   Aug 29 2011, 13:05
- - Aleksandr Baranov   Если я правильно понял вопрос, есть известный спос...   Aug 29 2011, 18:20
|- - XGoblinX   Цитата(Aleksandr Baranov @ Aug 29 2011, 18...   Aug 30 2011, 05:03
|- - demiurg_spb   Ребята, стал попадать в обработчик хард-фолта с та...   Jun 14 2012, 10:02
- - andrewlekar   По идее да. Смотрите в map файле, что за функция н...   Jun 14 2012, 11:13
- - brag   ЦитатаРебята стал попадать в обработчик хард-фолта...   Jun 14 2012, 11:46
|- - demiurg_spb   Огромное спасибо за столь исчерпывающие рекомендац...   Jun 14 2012, 12:04
- - brag   У Вас по ходу LR выводился из стека, а я думал то ...   Jun 14 2012, 12:10
- - demiurg_spb   Спасибо! Отличная мысль!   Jun 14 2012, 17:17


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

 


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


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