Столкнулся с проблемой отладки кода в Proteus 8.3 SP1 (Build 19777), откомпилированного в Atmel Studio 7.0.1417.
Проблема выражалась в том, что в Си-шном коде, при симуляции в Proteus, невозможно было поставить точки останова. Во всех файлах, в местах кода, где должен был бы стоять адрес стояли прочерки, и соответствеенно, на таких строках нельзя поставить брэки.
Поиск в интернете не дал результата - везде, в том числе и на этом ресурсе, подобные вопросы оставались без ответа. Установка свежей версии Proteus, игра с ключами компиляции не приводили к успеху - необходимые флаги компиляции для выдачи в elf-файл были в наличии, в lss- и elf-файлах видно было, что debug-секции также были в наличии.
Можно уже было бы плюнуть на все это, но память упорно напоминала, что пару лет назад все работало. Правда с того момента обе программы не единожды обновлялись. Пришлось откопать старый проект. Проверив его, и убедившись, что с ним все работает, откомпилировал его в текущей студии. Результат был тот же - брэки не ставились. Стало очевидным, что студия бежит быстрее стоящего на месте протеуса, утверждающего, что он кушает все elf-файлы - брехня!!!
Начались поиски старенького атмеловского тулчейна. Самым старым, на сайте Atmel, был найден avr8-gnu-toolchain 3.5.4.1709. Откомпилированный им проект не привел к ожидаемому результату - Proteus упорно не желал ставить брэки. Это ж насколько он отстал - нужно искать еще более старый тулчейн. Но какой? Ответ нашелся в древнем elf-файле - там черным по-буржуйски был прописан
РАБОЧИЙ тулчейн:
AVR_8_bit_GNU_Toolchain_3.5.0_1662.
Начались поиски в мировой помойке - инете. В инете все есть, даже исходники этого тулчейна были найдены, а вот скомпилированного - нема. Пришлось скачать всю студию с ним: Atmel Studio 7.0.634.
Ну довольно лирики. Если у кого возникла та же проблема, то делай как я:
0. Все действия производятся в текущей Atmel Studio
1. Раздобыть необходимый (3.5.0.1662) тулчейн. Можно
здесь. Инсталлировать его не требуется - достаточно просто переписать в необходимую директорию.
2. Создать директорию в c:\‹Program Files›\Atmel\Studio\7.0\toolchain\avr8\‹любое имя›, и переписать в нее все, что находится в архиве. Путь может быть любой - здесь просто приведен путь, где находится тулчейн студии.
3. Запустить студию =› меню Tools -› Options -› Toolchain -› Package Configuration.
4. Выбрать из выпадающего списка Toolchains: Atmel AVR 8-bit (C-language) =› в списке будут отображаться тулчейны, подключенные к этой группе.
5. Нажать кнопку Add Flavour =› откроется окошко, где надо будет указать узнаваемое имя и путь к директории bin (там должен лежать avr-gcc.exe). Всё, тулчейн подключен к студии.
6. Перед компиляцией проекта необходимо убедиться, что подключен необходимый тулчейн: свойство проекта =› Advanced =› в выпадающем списке Toolchain Flavour: выбрать необходимый и после этого перекомпилировать проект.
Note: Необходимо помнить, что файл проекта Proteus должен лежать вместе с исходниками проекта Atmel Studio, и к компоненту схемы подключен скомпилированный elf-файл.
Удачи!