Как в проекте AVR Studio + gcc добиться нормальной отладки |
![]() |
Добавил(а) microsin |
При отладке в AVR Studio иногда невозможно нормально производить пошаговую отладку и просматривать (Watch) значения локальных переменных. Это происходит из-за того, что включена оптимизация кода. Для того, чтобы исправить положение, нужно эту оптимизацию отключить. Для компилятора avr-gcc.exe (находится в папке c:\WinAVR-20080610\bin\) оптимизация задается опцией -O (с добавками, которые управляют типом оптимизации). У меня, например, была включена опция -Os, что задавало оптимизацию по скорости. Если убрать совсем опцию -O, то оптимизация отключается, что позволит нормально просматривать значения переменных и делать качественную отладку. Но имейте в виду, что объем кода при этом возрастает почти в 2 (!) раза. Меняются опции компилятора либо через настройки проекта (меню Project -> Configuration Options -> Custom Options), либо в тексте Makefile (если, например, в свойствах проекта стоит галочка "Use External Makefile"). В случае Makefile оптимизация выключается, например, так:
#Строка опций для компилирования с оптимизацией: Для некоторых файлов, которые не нужно отлаживать пошагово, можно оптимизацию задать отдельно (в секции компиляции модулей Makefile):
timer.o: ../timer.c
|