Основные ошибки отладки IAR Embedded Workbench for ARM 5.50.
1. При запуске отладки с отладчиком MT-LINK (J-Link) выводится окно с предупреждением: "The C-SPY option "Run to 'main'" is enabled, but due to a lack of breakpoints this will require single-stepping, which may take a long time. Do you want to execute anyway, or stop at the first instruction? Execute Stop". При этом также нельзя добавить точки останова, в окно сообщений вываливаются ошибки:
Thu Jan 27 13:12:37 2011: Failed to set breakpoint at 0x0012EF1C (out of breakpoints?) Thu Jan 27 13:12:38 2011: Failed to set breakpoint at 0x0012EF1C (out of breakpoints?) Thu Jan 27 13:12:41 2011: Failed to set breakpoint at 0x0012EF1C (out of breakpoints?) Thu Jan 27 13:12:41 2011: Performance warning: Lack of breakpoints forces single-stepping. Thu Jan 27 13:12:56 2011: Failed to set breakpoint at 0x0012EF30 (out of breakpoints?) Thu Jan 27 13:12:56 2011: Failed to set breakpoint: Driver error. Thu Jan 27 13:12:57 2011: Failed to set breakpoint at 0x0012EF30 (out of breakpoints?) Thu Jan 27 13:12:57 2011: Failed to set breakpoint: Driver error. Thu Jan 27 13:12:58 2011: Failed to set breakpoint at 0x0012EF30 (out of breakpoints?) Thu Jan 27 13:12:58 2011: Failed to set breakpoint: Driver error.
Решение: чтобы исправить ошибку, нужно зайти в Project -> Options... -> Debugger -> J-Link/J-Trace -> закладка Breakpoints -> выбрать в списке Default breakpoint type вариант Hardware, поставить галку Restore software breakpoints at main. Это решение позволяет устанавливать до двух аппаратных точек останова с драйвером JTAG-отладчика типа "J-Link/J-Trace". Второе решение, возможно более лучшее (если Вам мало двух точек останова) - установить для JTAG драйвер "RDI" (Project -> Options... -> Debugger -> RDI).
В IAR Embedded Workbench 5.50 драйвера J-Link уже нормальные, которые не имеют такое ограничения на точки останова, т. е. устанавливать отдельно драйвер RDI уже не нужно, см. [1].
2. Компилируемая программа загружается нормально, программа останавливается в дампе дизассемблера, но отладки по исходному коду нет, точки останова в текст исходного кода поставить нельзя.
Решение: Project -> Options... -> C/C++ Compiler -> Output -> поставить галку Generate debug information.
[Ссылки]
1. ARM: как начать работать с MT-LINK. 2. 121128J-Link-MT-LINK-RDI-drivers.zip - драйверы J-Link (MT-Link), RDI. |