Отладка в CodeMaster-96

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

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

Отладка в CodeMaster-96

Сообщение anton » 29 мар 2016, 17:17

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

dav
Сообщения: 46
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

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

Сообщение dav » 29 мар 2016, 17:59

Доброго времени суток!
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
Сообщения: 24
Зарегистрирован: 26 янв 2016, 16:19

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

Сообщение anton » 30 мар 2016, 10:38

Версия CodeMaster-96 - 1.31.00. Код программы - "Бегущие огни на C" из примеров. Выбирал микроконтроллер "K1874BE7T Rev.2 with Debug Monitor P2.2 SPI".

dav
Сообщения: 46
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

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

Сообщение dav » 30 мар 2016, 12:02

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
Сообщения: 24
Зарегистрирован: 26 янв 2016, 16:19

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

Сообщение anton » 30 мар 2016, 12:59

Спасибо большое. Сейчас попробую...

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

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

Сообщение anton » 30 мар 2016, 15:24

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

dav
Сообщения: 46
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

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

Сообщение dav » 31 мар 2016, 14:54

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

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

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

Сообщение anton » 04 апр 2016, 16:33

Не могли бы вы назвать сроки выхода следующего релиза?

dav
Сообщения: 46
Зарегистрирован: 14 дек 2015, 09:21
Предприятие: АО НИИЭТ
Откуда: АО НИИЭТ, Воронеж

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

Сообщение dav » 06 апр 2016, 09:33

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

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

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

Сообщение anton » 11 май 2016, 16:33

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

Ответить

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

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость