Отладка в CodeMaster-96
Модераторы: ea, Alis, pip, gurzzza, _sva_
Отладка в CodeMaster-96
Здравствуйте уважаемые разработчики.
Проблема вот какая. Неправильно работает функция "выполнить шаг без захода в подпрограммы". Если я нажимаю F10 или кнопочку или меню, то отладчик ВСЁ РАВНО ЗАХОДИТ в подпрограмму. Получается, отлаживаться практически невозможно. Такое происходит в режиме эмулятора и при отладке через JTAG. А отладка через SPI с отладочным монитором у меня вообще не заработала( пишет что возможно нет монитора в программе, хотя он там есть ).
Проблема вот какая. Неправильно работает функция "выполнить шаг без захода в подпрограммы". Если я нажимаю F10 или кнопочку или меню, то отладчик ВСЁ РАВНО ЗАХОДИТ в подпрограмму. Получается, отлаживаться практически невозможно. Такое происходит в режиме эмулятора и при отладке через JTAG. А отладка через SPI с отладочным монитором у меня вообще не заработала( пишет что возможно нет монитора в программе, хотя он там есть ).
-
- Сообщения: 208
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
Re: Отладка в CodeMaster-96
Доброго времени суток!
1 Напишите версию CodeMaster-96 и пример кода (можете выслать на dykhno@niiet.ru)
2 При отладке по SPI в опциях отладки какой микроконтроллер выбираете? ("K1874BE71T Rev.2 with Debug Monitor Port0" или "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI")?
1 Напишите версию CodeMaster-96 и пример кода (можете выслать на dykhno@niiet.ru)
2 При отладке по SPI в опциях отладки какой микроконтроллер выбираете? ("K1874BE71T Rev.2 with Debug Monitor Port0" или "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI")?
Re: Отладка в CodeMaster-96
Версия CodeMaster-96 - 1.31.00. Код программы - "Бегущие огни на C" из примеров. Выбирал микроконтроллер "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI".
-
- Сообщения: 208
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
Re: Отладка в CodeMaster-96
1. В данном примере компилятор формирует код функции Delay() без ее вызова (путем вставки содержимого кода функции) в связи с тем, что включен режим оптимизации (Опции проекта-> Конфигурация: Debug-> Кросс-средства -> Компилятор -> Оптимизация).anton писал(а):Версия CodeMaster-96 - 1.31.00. Код программы - "Бегущие огни на C" из примеров. Выбирал микроконтроллер "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI".
Поэтому в режиме отладки функция "выполнить шаг без захода в подпрограммы" не работает в связи стем, что нет вызова подпрограммы. Если посмотреть код в окне Дисассемблера, то можно убедиться, что компилятор осуществил inline-подстановку функции Delay().
Если необходим именно вызов функции, то есть два пути решения:
1) отключить оптимизацию компилятора (Проект->Настройки активного проекта->Конфигурация->Компилятор->Оптимизация), т.е. установить уровень 0
2) с помощью директивы "#pragma inline -" сообщить компилятору никогда не производить inline-подстановку данной функции.
2. Данный пример ("Бегущие огни") не будет работать в режиме отладки по SPI, т.к. в коде программы происходит по-очередное изменение состояния выводов порта PORT1, при этом интерфейс SPI также использует выводы этого же порта (MOSI - P1.5, MISO - P1.6, SCK - P1.7, SS# - P1.2)
Можете запустить в режиме отладки по SPI другой пример, либо использовать интерфейс отладки JTAG или UART0/UART1 с данным примером "Бегущие огни".
Re: Отладка в CodeMaster-96
Спасибо большое. Сейчас попробую...
Re: Отладка в CodeMaster-96
Попробовал. Теперь отладчик пропускает первый вызов Delay(1000), НО ЗАХОДИТ В СЛЕДУЮЩИЕ ВЫЗОВЫ Delay(30000), которые в цикле. Оптимизацию отключил и в окне дизассемблера вижу SCALL Delay.
-
- Сообщения: 208
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
Re: Отладка в CodeMaster-96
Некорректное поведение среды в режиме отладки при использовании "шага высокого уровня без захода в подпрограммы" исправим в следующем релизе.anton писал(а):Попробовал. Теперь отладчик пропускает первый вызов Delay(1000), НО ЗАХОДИТ В СЛЕДУЮЩИЕ ВЫЗОВЫ Delay(30000), которые в цикле. Оптимизацию отключил и в окне дизассемблера вижу SCALL Delay.
Re: Отладка в CodeMaster-96
Не могли бы вы назвать сроки выхода следующего релиза?
-
- Сообщения: 208
- Зарегистрирован: 14 дек 2015, 09:21
- Предприятие: АО НИИЭТ
- Откуда: АО НИИЭТ, Воронеж
Re: Отладка в CodeMaster-96
Выход следующего релиза среды CodeMaster-96 ожидается в конце апреля 2016г.anton писал(а):Не могли бы вы назвать сроки выхода следующего релиза?
Re: Отладка в CodeMaster-96
Не могли бы Вы ещё раз указать дату релиза CodeMaster-96.