Программирование BASCOM
Меню сайта
Категории каталога
Мои статьи [114]
Наш опрос
Оцените мой сайт
Всего ответов: 1171
Главная » Статьи » Мои статьи

Пошаговая отладка в PROTEUS для BASCOM
Протеус - это не только симулятор как таковой, но так же и великолепная пошаговая отладка по коду. Что несомненно удобно для вылавливания всяческих глюков. Да и вообще, полезно посмотреть что в переменные заносится и сколько то или иное прерывание обрабатывается, например.
Для этого необходимо загрузить в микроконтроллер не .HEX файл, а файл с расширением .OBJ (BASCOM его тоже создает):



Правда в старых версиях он эти файлы не видит, но иногда помогает просто изменение расширения в строке Имя файла (разумеется, файл в папке должен быть).
После чего нажимаем на кнопку "Шаг":



Появится исходный код и вспомогательные окна:



Эти окна можно добавлять по своему усмотрению во вкладке "Отладка":



Так например, выбрав в списке "Watch Window" и кликнув правой кнопкой мыши по пустому полю, можно добавить регистры ввода-вывода для наблюдения:



Теперь, перейдя на исходный код и нажимая F11 можно наблюдать как пошагово выполняется программа, что заносится в переменные и регистры, и главное, что происходит в устройстве (на семисегментном индикаторе, например).



Так же в коде можно установить точки останова. Дойдя до этого места программа остановится. Так например можно выяснить через какое время после старта сработало прерывание. Устанавливается / снимается брекпоинт двойным кликом по строке программы. После установки нажимаем на кнопку "Запустить моделирование". Дойдя до брекпоинта программа остановится, а внизу можно увидеть сколько времени прошло (elapsed - прошло). В данном случае работает динамическая индикация по переполнению таймера (обновление каждые 4 мс).



Если установить точку останова еще на выход из прерывания, то можно увидеть сколько времени выполняется само прерывание.
В данном случае еще и видно что после прохода прерывания включился первый разряд индикатора. Удобно. :)



С уважением, Электронных Дел Мастер -
Михаил (edm2007).

Категория: Мои статьи | Добавил: bascom (16.05.2011)
Просмотров: 11634 | Комментарии: 11
Всего комментариев: 11
11  
попробовал логический анализатор. Есть существенный недостаток- не запускается автоматически, а только по нажатию кнопки. Тогда решил попробовать осциллограф. Здесь другая проблема - когда гоню программу в пошаговом режиме, осциллограф "спит". Через сколько операторов он выводит картинку на свой экран я изучать не стал.

10  
Дело в том что в новых версиях программы используются преимущественно библиотеки компонент из старых версий программы. И если например поддержка средой разработки версии 7.10 в целом есть *OBJ файлов. То вставленный из библиотеки среды микроконтроллер AT90S8515 будет поддерживать *HEX, *UBROF, *COFF, *ELF. Вставленный микроконтроллер ATMEGA8 будет поддерживать *HEX, *UBROF, *COFF, *ELF, *OBJ. И так далее. ДЕЛО НЕ ТОЛЬКО В ВЕРСИИ ПРОГРАММЫ, НО И В БИБЛИОТЕКЕ КОМПОНЕНТОВ. ИСПОЛЬЗУЙТЕ БОЛЕЕ СВЕЖИЕ РЕШЕНИЯ!

9  
Your atirlce perfectly shows what I needed to know, thanks!

8  
Эдуард, рад что Вам эта статья пригодилась. Вот значит где собака порылась. :)

А про хитрости и полезности даже не знаю что еще рассказать. Полезностей там масса, и отладка кода становится именно отладкой а не просто "тыканьем кнопочек и миганием лампочек". Во вкладке "ОТЛАДКА" находится масса полезностей, если используется тот же DS18B20 то можно открыть его RAM и EEPROM. В DS1307 тоже прекрасно видно содержимое его памяти. Иногда это очень нужно. Мне это помогло когда переводил DS18B20 на 9-bit.


7  
Блин дико извиняюсь просто файл был создан в версии 7.5 и при открытии в 7.7 объектного файла не было видно, просто удалил проц из проекта и вставил аналогичный из библиотеки новой версии и чудо свершилось файл .OBJ виден, спасибо автору статьи.

6  
У меня стоит Proteus 7.7, но обьектные файлы в свойствах проца не видит,может какие настройки где-то есть?

4  
Возможно у меня такая версия оказалась когда-то, поломатая... :) Было это очень давно, но я помню что открывались только hex файлы. Вот и написал на всякий случай. А "собрать по крупицам" это о чем именно?

5  
О всяких хитростяк и полезностях при симуляции баскомовских программ в протеусе. biggrin

2  
Точно не скажу, я просто не вспомню сейчас на какой версии Proteus не видел эти файлы, так как давно уже пользуюсь версией 7.7.

1  
А с начиная с какой версии Proteus работает с объектными файлами Баскома.

3  
На официальном сайте Протеуса http://www.labcenter.com/products/avr.cfm или http://www.labcenter.com/products/compilers.cfm Баском указан как поддерживаемый компилятор (вкладка - Compiler support)
Это же подтверждает и Марк Альбертс.
http://mcselec.com/index2.....1f9b110
А вообще информации об этом практически нет... Может попробуем собрать по крупицам, кто чем богат?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа
Поиск
Друзья сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright Radan Studio © 2017