Отладка в CodeMaster-96

Модераторы: ea, Alis, pip, gurzzza, _sva_

anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Отладка в CodeMaster-96

Сообщение anton »

Здравствуйте уважаемые разработчики.
Проблема вот какая. Неправильно работает функция "выполнить шаг без захода в подпрограммы". Если я нажимаю F10 или кнопочку или меню, то отладчик ВСЁ РАВНО ЗАХОДИТ в подпрограмму. Получается, отлаживаться практически невозможно. Такое происходит в режиме эмулятора и при отладке через JTAG. А отладка через SPI с отладочным монитором у меня вообще не заработала( пишет что возможно нет монитора в программе, хотя он там есть ).
dav
Сообщения: 209
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Отладка в CodeMaster-96

Сообщение dav »

Доброго времени суток!
1 Напишите версию CodeMaster-96 и пример кода (можете выслать на dykhno@niiet.ru)
2 При отладке по SPI в опциях отладки какой микроконтроллер выбираете? ("K1874BE71T Rev.2 with Debug Monitor Port0" или "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI")?
anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Re: Отладка в CodeMaster-96

Сообщение anton »

Версия CodeMaster-96 - 1.31.00. Код программы - "Бегущие огни на C" из примеров. Выбирал микроконтроллер "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI".
dav
Сообщения: 209
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Отладка в CodeMaster-96

Сообщение dav »

anton писал(а):Версия CodeMaster-96 - 1.31.00. Код программы - "Бегущие огни на C" из примеров. Выбирал микроконтроллер "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI".
1. В данном примере компилятор формирует код функции Delay() без ее вызова (путем вставки содержимого кода функции) в связи с тем, что включен режим оптимизации (Опции проекта-> Конфигурация: Debug-> Кросс-средства -> Компилятор -> Оптимизация).
Поэтому в режиме отладки функция "выполнить шаг без захода в подпрограммы" не работает в связи стем, что нет вызова подпрограммы. Если посмотреть код в окне Дисассемблера, то можно убедиться, что компилятор осуществил 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 с данным примером "Бегущие огни".
anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Re: Отладка в CodeMaster-96

Сообщение anton »

Спасибо большое. Сейчас попробую...
anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Re: Отладка в CodeMaster-96

Сообщение anton »

Попробовал. Теперь отладчик пропускает первый вызов Delay(1000), НО ЗАХОДИТ В СЛЕДУЮЩИЕ ВЫЗОВЫ Delay(30000), которые в цикле. Оптимизацию отключил и в окне дизассемблера вижу SCALL Delay.
dav
Сообщения: 209
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Отладка в CodeMaster-96

Сообщение dav »

anton писал(а):Попробовал. Теперь отладчик пропускает первый вызов Delay(1000), НО ЗАХОДИТ В СЛЕДУЮЩИЕ ВЫЗОВЫ Delay(30000), которые в цикле. Оптимизацию отключил и в окне дизассемблера вижу SCALL Delay.
Некорректное поведение среды в режиме отладки при использовании "шага высокого уровня без захода в подпрограммы" исправим в следующем релизе.
anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Re: Отладка в CodeMaster-96

Сообщение anton »

Не могли бы вы назвать сроки выхода следующего релиза?
dav
Сообщения: 209
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

Re: Отладка в CodeMaster-96

Сообщение dav »

anton писал(а):Не могли бы вы назвать сроки выхода следующего релиза?
Выход следующего релиза среды CodeMaster-96 ожидается в конце апреля 2016г.
anton
Сообщения: 23
Зарегистрирован: 26 янв 2016, 16:19

Re: Отладка в CodeMaster-96

Сообщение anton »

Не могли бы Вы ещё раз указать дату релиза CodeMaster-96.
Ответить

Вернуться в «Микроконтроллеры семейства MCS-96»