Program exit reached.

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Program exit reached.

Сообщение bishop-strip »

Добрый вечер! Работаю с платой STM32F4DISCOVERY, по SPI1 подключил плату enc28j60.
Разрабатываю в IAR'е. Прикрепил билиотеку FATFS, вроде всё работает.... однако стали иногда появлятсься такие вот ошибки:
Mon Aug 26, 2013 00:13:28: Program exit reached.
И отладка уходила в бесконечный цикл. Происходило это при выполнении строки:
char *xmlMessage = (char*)malloc(cmdStop + strlen("</Command>") - cmdStart)

посмотрите на рисунке:
http://clip2net.com/s/5D5PwW

Вот какая незадача...:(, что случилось? почему при попытки выделить память, плата уходит в бесконечный цикл?
заранее спасибо!
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Re: Program exit reached.

Сообщение bishop-strip »

Товарищи профессионалы и любители, неужели никто с такой проблемой не сталкивался и не знает, что может быть?!?! :o
Аватара пользователя
balmer
Это не хвост, это антенна
Сообщения: 1433
Зарегистрирован: Вс дек 02, 2012 03:13:48
Откуда: Калининград

Re: Program exit reached.

Сообщение balmer »

Обычно в библиотеках уходят в бесконечный цикл, когда происходит непоправимая ошибка. Например в твоем случае возможно память кончилась. Даже стандартный assert - это просто бесконечный цикл внутри.

В твоем же случае скорее всего была вызвана стандартная функция exit для выхода из приложения.
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Re: Program exit reached.

Сообщение bishop-strip »

Неужели так памяти мало, что я не могу выделить в стеке 550 байт + 550 для Ethernet, в итоге 1кб? И вылетает ошибка void HardFault_Handler(void);
Я исаользоват FatFS, но так как из-за возможной нехватки памяти возникала ошибка, я сделал на PETIT FS, которая гораздо меньше и всё равно таже ошибка!!:(:(
Вот что я снял в дизассемблере:

До HardFault_Handler:
Изображение
После:
Изображение

Уходит в HardFault_Handler if (fmt) return FR_NO_FILESYSTEM;
Изображение

может конечно этой информации малова-то, но всё же...
Помогите с этой проблемой товарищи! :o
bishop-strip
Открыл глаза
Сообщения: 71
Зарегистрирован: Чт окт 28, 2010 11:20:39

Re: Program exit reached.

Сообщение bishop-strip »

Проблема исчезла, похоже была из-за записи данных за пределы неконтролируемых ( те которые я не выделял в стеке или куче) областей памяти.
misyachniy
Прорезались зубы
Сообщения: 219
Зарегистрирован: Вт июл 02, 2013 09:17:49

Re: Program exit reached.

Сообщение misyachniy »

bishop-strip писал(а):Неужели так памяти мало, что я не могу выделить в стеке 550 байт + 550 для Ethernet, в итоге 1кб? И вылетает


Для malloc стек как бы не очень нужен.
malloc берет память из кучи(heap)
Ответить

Вернуться в «ARM»