Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: пошаговая отладка в Eclipse
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > GNU/OpenSource средства разработки
winniethepooh
Здравствуйте.
Имеется проектик типа “hello world” под Eclipce (Mars.2 Release (4.5.2)) . Используется Sourcery CodeBench Lite Edition 4.8.3 и JLinkGDBServer для cortex m3.
В течении пары дней гуглинга не удалось найти решения проблемы связанной с пошаговой отладкой Eclipse. Хотя проект загружается и даже в отладке в случае Run все хорошо, НО
При пошаговой отладке сразу же попадает в обработчик Default_Handler(или HardFault_Handler)
Код обработчика выглядит так:
Код
static void HardFault_Handler( void ) __attribute__( ( naked ) );
static void HardFault_Handler(void)
{
    __asm volatile
    (
        " tst lr, #4                                                \n"
        " ite eq                                                    \n"
        " mrseq r0, msp                                             \n"
        " mrsne r0, psp                                             \n"
        " ldr r1, [r0, #24]                                         \n"
        " ldr r2, handler2_address_const                            \n"
        " bx r2                                                     \n"
        " handler2_address_const: .word prvGetRegistersFromStack    \n"
    );
}
Команды стартапа выглядят так:
Код
target remote localhost:2331
monitor speed 1000
# monitor flash device = MB9BF506N
monitor flash device = MB9BF618T
monitor flash download = 1
# Set gdb server to little endian
monitor endian little
# Set JTAG speed to 30 kHz
monitor speed 30
# Reset the chip to get to a known state.
monitor reset
monitor sleep 10
# Set JTAG speed in khz
monitor speed auto
load
monitor sleep 100
# Reset the chip to get to a known state.
monitor reset
monitor sleep 10
подскажите пожалуйста, что может вызывать этот обработчик?
Aaron
Мб взведён IWDT, WDT или что-то типа такого? Как только останавливается выполнение кода при отладке, у вас сторожевой таймер генерирует прерывание ненастроенное?
winniethepooh
Спасибо Аарон за быстрый ответ.

Ошибку в отладчике появилась из за неверно указанного пути к elf файлу (для файлов отлаживаемого проекта я использовал предыдущий проект и скопировав его файлы в папку с новым проектом настройки debug configuration\main\c/c++ Application указывали на elf файл предыдущего проекта)
Интересно то, что различий между этими проектами в момент начала отладки не было (кроме того что добавился обработчик HardFault_Handler)
Причины по которым при (только) пошаговой отладке происходит вызов HardFault_Handler мне не понятны.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.