Kaspar писал(а):Существует ли возможность загрузки EEPROM файла, генерируемого AVR Studio в его же симулятор? На мой взгляд очень неправильно, что это не делается сразу по-умолчанию...
разумеется! после старта отладки через меню Debug - Up/Download Memory
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Кто нибуть может научить меня в каком ассемблере чего нельзя делать. Вот например в авр студии билд 528 кажется был такой фокус - в ассемблере 2 нельзя юзать запись/чтение из РАМ с пост инкрементом, зато в асме 1 всё хорошо. Теперь поставил дома саму последнюю авр студию и там не работает постинкремент, а в ассемблере 1 нельзя в макросах юзать макросы... есть гденить стандарты или описания?
There is only 10 kind of people: those who understands binary code and those who dont!!!
Negor писал(а):Кто нибуть может научить меня в каком ассемблере чего нельзя делать. Вот например в авр студии билд 528 кажется был такой фокус - в ассемблере 2 нельзя юзать запись/чтение из РАМ с пост инкрементом, зато в асме 1 всё хорошо. Теперь поставил дома саму последнюю авр студию и там не работает постинкремент, а в ассемблере 1 нельзя в макросах юзать макросы... есть гденить стандарты или описания?
С постинкрементом там все хорошо, по крайней мере у меня ни разу проблем не возникало (Вы бы код показали, может что-то не так делаете). Описания есть в хелпе студии - Assembler help.
принципиальная разница между вторым и первым ассемблером AVR Studio в том, что второй более Си-ориентирован: он понимает и обрабатывает все макросы Си-стиля, например, вместо директивы .def можно использовать #define и т.п. В остальном разницы нет. Ну, разве что второй ассемблер поддерживает последние новинки, а первый они похоже забросили в плане обновления.
Ни о каком "стандарте" ассемблера речь не идет - слишком мелкие масштабы у Atmel, чтобы их детище стало стандартом. Речь идет лишь о внутрикорпоративном подходе, а потому "что хочу, то и ворочу". Не используйте первый ассемблер, да и все. Второй прекрасно понимает программы в стиле первого (но не наоборот).
2 Aheir : стандартов Си действительно существует более одного, классика - ANSII C, при этом Си по Кернигану и Ритчи несколько от него отличается (и тем не менее де-факто тоже является стандартом). Есть еще модификации стандарта ISO C90, ISO C99 и еще ряд менее распространенных. Отличия между ними порой весьма существенные, например, С99 позволяет делать определение переменных в любом месте, а ANSII С - нет.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
ARV писал(а):AVR Studio - это лишь оболочка, а для работы с С++ нужен компилятор. подключайте WinAVR, работайте, только вот с отладкой могут быть проблемы...
По поводу оболочьки - это понятно. Но я не знаю как эту оболочьку настроить именно под C++.
AVR Simulator: IO Module: CAN (AVRSimIOCAN00.SimIOCAN00) not supported
Собираюсь программировать AT90CAN128, как раз нужен будет интерфейс CAN, а тут такое сообщение возникает уже при компиляции кода безобидного мигания светодиодом. А когда пытаюсь активировать CAN, пишет:
Alexeus писал(а):что то снова не так... Stack underflow at 0x005d, invalid opcode at 0xffff at adress 0x00ffff
вроде правильно инициализировал:
...
почему так?
Похоже на то, что вы когда возвращаетесь из подпрограммы выполняете ret 2 раза, при этом Ваша подпрограмма была вызвана из основного цикла, в результате происходит выборка адреса возврата из стека по несуществующему адресу.
И еще, таблица прерывания скорее всего не правильная, т. к. подозреваю что у вашего контроллера два слова программной памяти на каждый вектор прервывания. А вообще лучше код целиком покажите.
Kaspar писал(а):Существует ли возможность загрузки EEPROM файла, генерируемого AVR Studio в его же симулятор? На мой взгляд очень неправильно, что это не делается сразу по-умолчанию...
Несмотря на ответ на этот вопрос: можно загружать через load memory, хочу уточнить вопрос:
Можно ли как-то заставить ассемблер пихать данные EEPROM в HEX файл, а не в отдельный файл.
Можно ли написать какой-то скрипт, чтобы автоматом загружалась память еепром при симуляции?
Работает ли симуляция еепром для тини26??? У меня не работает. Попробовал симулировать 261 с тем же кодом - работает, а с 26 не работает. Кто-нибудь сталкивался?
Ещё последний вопрос: есть ли возможность заставить понипрог автоматом открывать eep файл при загрузке HEX???
Как-то всё блин глючно... блин-блин-блин.
BerZerK-ku писал(а):AVR Studio 4.08. Столкнулся с подобной проблемой: при симуляции ни в какую не хочет писать в ЕЕПРОМ, проверял 100% рабочий код на Tint2313 и Mega8.
А в докуметации написано что должна писать ???
Используйте VMLAB или PROTEUS с библиотекой от 7.5 - будет работать.