Использую gdb 6.0 совместно с OpenOCD, для работы с lpc2468.
Натолкнулся на странное поведение. При отладке кода, содержащего переменные-указатели на регистры GPIO (FIOxDIR, FIOxPIN, FIOxSET, FIOxCLR), обнаружил самопроизвольное переключение состояния пинов.
Если код работы с пинами не трассируется - пины переключаются как и требуется. А в момент исполнения команды gdb "step" или "stepi" напряжение на пинах - скачет. До и после "step" состояние пинов - корректное. Это наблядается даже когда испольняемая инструкция не обращается к портам GPIO.
Если при работе с регистрами используются #define-определения этого глюка не наблюдается.
Кто-либо замечал это? как бороться?