Proteus не прошивается реальный Attiny13
Re: Proteus не прошивается реальный Attiny13
Starichok51, Это всё классно конечно, но как посмотреть и сравнить? Мне что их декомпилировать? Даже если так то я в ассемблере ничего не понимаю... Открыл в HEX редакторе и особо сравнивать мне там нечего...
Полагаю тут нужно настройки компилятора в Proteus курить чем разбираться в его выходных файлах.
Полагаю тут нужно настройки компилятора в Proteus курить чем разбираться в его выходных файлах.
- Реклама
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
Для теста открыл среду писания кода в Proteus, скопировал туда blink для ATtiny13A на Bascom (hi!, это не моя используемая среда). Код успешно компилируется. В среде Proteus не удалось записать МК и моргнуть светодиодом. (В симуляции все ОК). С скомпилированнымhex файлом в AVRDUDESS записал hex в МК и светодиод нормально мигал (PB0). Т.е. В Proteus как-то настроен AVRDUDE, но где можно установить ee настройки не знаю. В папках Proteus-а обновил программу AVRDUDE и ее конфиг файл (на v8.13 была старой). Не помогло.
(Писание прогр. кода в Proteus и запись hex в МК там образно рассматриваю как форму мазохизма и самонаказание
- без каких-либо дополнений, ни в анализе кода, ни в настройках компиляции, ни в чем-либо еще ..., как в нормальной IDE).
(Писание прогр. кода в Proteus и запись hex в МК там образно рассматриваю как форму мазохизма и самонаказание
Re: Proteus не прошивается реальный Attiny13
[uquote="veso74",url="/forum/viewtopic.php?p=4586920#p4586920"]В Proteus как-то настроен AVRDUDE, но где можно установить ee настройки не знаю.[/uquote]
Эти настройки есть на вкладке "Options" из меню "Project Settings" (см. второй скрин из моего первого поста).
Я пытался вносить корректировки но там настолько все через ж..опу сделано, что так ничего и не вышло.
А по поводу мазохизма согласен полностью, только я не рассматриваю Proteus как полноценную IDE. Он мне удобен в первую очередь для виртуальной отладки без внешнего отладчика, а так же симуляции, 3D и pcb.
Сколько-нибудь сложные проеты я пишу в PlatformIO, а вот отдельные части проекта предварительно тестирую в Proteus.
Эти настройки есть на вкладке "Options" из меню "Project Settings" (см. второй скрин из моего первого поста).
Я пытался вносить корректировки но там настолько все через ж..опу сделано, что так ничего и не вышло.
А по поводу мазохизма согласен полностью, только я не рассматриваю Proteus как полноценную IDE. Он мне удобен в первую очередь для виртуальной отладки без внешнего отладчика, а так же симуляции, 3D и pcb.
Сколько-нибудь сложные проеты я пишу в PlatformIO, а вот отдельные части проекта предварительно тестирую в Proteus.
Re: Proteus не прошивается реальный Attiny13
Решено!
Как и предполагал проблема была в настройках программы для прошивки AVRDUDE, так как компилятор WinAvr выдавал рабочий HEX файл (проверялось SinaProg).
Почему-то господа в Labcenter решили, что flash-память микроконтроллера перед прошивкой стирать не нужно и в настройках AVRDUDE прописали команду -D (тобишь опцию которая запрещает очистку памяти чипа перед программированием)!
Я ХЗ чем там руководствовались и какие на то были причины (кроме как доставить людям гембель)...
Помимо того, еще прописали команды сокращающие до минимума вывод лога -q и запрет на проверку содержимого памяти при записи -V!
То есть подосрали вдвойне: запретили стирание памяти перед прошивкой и убрали расширенный вывод лога, что бы это нельзя было увидеть!
Короче, правится всё в файле avrdude.xml (путь: \Labcenter Electronics\Proteus 8 Professional\DATA\VSM Studio\programmers\avrdude.xml).
В конце файла настройки AVRDUDE выглядели так:
Нафиг убрать строки <OPTION NAME="-D"/>, <OPTION NAME="-V"/><OPTION NAME="-q"/>
Особенно <OPTION NAME="-D"/>!
Как итог:
- Контроллер прошивается непосредственно из Proteus, причем как в режиме Releas (HEX файлом) так и в режиме Debug (ELF файлом);
- Программатор Arduino as ISP - работает.
Всем спасибо за участие!
Как и предполагал проблема была в настройках программы для прошивки AVRDUDE, так как компилятор WinAvr выдавал рабочий HEX файл (проверялось SinaProg).
Почему-то господа в Labcenter решили, что flash-память микроконтроллера перед прошивкой стирать не нужно и в настройках AVRDUDE прописали команду -D (тобишь опцию которая запрещает очистку памяти чипа перед программированием)!
Я ХЗ чем там руководствовались и какие на то были причины (кроме как доставить людям гембель)...
Помимо того, еще прописали команды сокращающие до минимума вывод лога -q и запрет на проверку содержимого памяти при записи -V!
То есть подосрали вдвойне: запретили стирание памяти перед прошивкой и убрали расширенный вывод лога, что бы это нельзя было увидеть!
Короче, правится всё в файле avrdude.xml (путь: \Labcenter Electronics\Proteus 8 Professional\DATA\VSM Studio\programmers\avrdude.xml).
В конце файла настройки AVRDUDE выглядели так:
Код: Выделить всё
<PROCESS TOOL="AVRDUDE" NAME="Program Firmware" ID="PROGRAM" CMDLINE="%OPTIONS% -Uflash:w:%INFILE%">
<FILE TYPE="HEX" NAME=""%INFILE%":i"/>
<FILE TYPE="ELF" NAME=""%INFILE%":e"/>
<OPTION NAME="-D"/>
<OPTION NAME="-V"/>
<OPTION NAME="-q"/>
</PROCESS>
Особенно <OPTION NAME="-D"/>!
Как итог:
- Контроллер прошивается непосредственно из Proteus, причем как в режиме Releas (HEX файлом) так и в режиме Debug (ELF файлом);
- Программатор Arduino as ISP - работает.
Всем спасибо за участие!
Re: Proteus не прошивается реальный Attiny13
[uquote="dds7sdd",url="/forum/viewtopic.php?p=4587328#p4587328"]Почему-то господа в Labcenter решили, что flash-память микроконтроллера перед прошивкой стирать не нужно[/uquote] а нужно?
- Реклама
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
Включил Arduino UNO как ArduinoISP. В Proteus v8.13 редактирование xml файла мне не помогло. Causa perduta ...
---
Просто 2/3 программы держу открытыми (IDE/компилятор для МК, AVRdudess/PicKit Prog, Proteus ...), даже файлы после компиляции обновлять не приходится. Среда сама понимает, что есть новая ревизия и файл hex уже загружен. Нужно только нажать запись в МК или стоп, старт в Proteus.
---
Просто 2/3 программы держу открытыми (IDE/компилятор для МК, AVRdudess/PicKit Prog, Proteus ...), даже файлы после компиляции обновлять не приходится. Среда сама понимает, что есть новая ревизия и файл hex уже загружен. Нужно только нажать запись в МК или стоп, старт в Proteus.
Re: Proteus не прошивается реальный Attiny13
veso74 Приложи здесь файл avrdude.xml
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
Proteus v8.13 SP0 (b31525)
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\VSM Studio\programmers\avrdude.xml
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\DATA\VSM Studio\programmers\avrdude.xml
- Вложения
-
- avrdude.zip
- (2.77 КБ) 71 скачивание
Re: Proteus не прошивается реальный Attiny13
Ну так в вашем файле остались те строки о которых я писал нужно удалить.
Во вложении отредактированный файл. Вставьте его вместо вашего.
Во вложении отредактированный файл. Вставьте его вместо вашего.
- Вложения
-
- avrdude.zip
- (2.76 КБ) 72 скачивания
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
Вложение в моем предыдущем сообщении является оригиналом для Proteus. Вчера отредактировал по указанию из вашем сообщении. Результата не было - ни USBasp, ни Arduino UNO как программатор записал hex в МК. Сегодня вечером попробую с прикрепленным файлом, но не ожидаю результата, потому что я сделал то же самое вчера вечером.
---
Подтверждаю: запись в МК не произошел.

---
А .bas скомпилирован правильно и после записа .hex с AVRdudess LED мигает.
---
Подтверждаю: запись в МК не произошел.
---
А .bas скомпилирован правильно и после записа .hex с AVRdudess LED мигает.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
ОК. Но у меня MK не прошивается.
Какая у вас версия Proteus?
Какая у вас версия Proteus?
Re: Proteus не прошивается реальный Attiny13
8.13 V0.
Что пишет в режиме Release?
Этот же файл (Release.hex) пробовали прошивать с помощью SinaProg или AVRDUDESS? Прошивается?
Логика поиска решения проблемы простая:
1. Проверяем работу компилятора BASCOM и программатора: в режиме Release компилируем программу. Получившийся Release.hex прошиваем с помощью другой программы (SinaProg например) в микроконтроллер. Если прошивается и работает значит и компилятор и программатор работают, если нет - поменять программатор и разбираться с компилятором;
2. Корректируем файл avrdude.xml (как я писал выше), устанавливаем настройки программатора в меню Project options (программатор, частота МК, порт и скорость работы по нему) и в режиме Release прошиваем микроконтроллер.
Если не получается - смотрим что пишет в логе avrdude и исходя из этой информации решаем проблему дальше.
Что пишет в режиме Release?
Этот же файл (Release.hex) пробовали прошивать с помощью SinaProg или AVRDUDESS? Прошивается?
Логика поиска решения проблемы простая:
1. Проверяем работу компилятора BASCOM и программатора: в режиме Release компилируем программу. Получившийся Release.hex прошиваем с помощью другой программы (SinaProg например) в микроконтроллер. Если прошивается и работает значит и компилятор и программатор работают, если нет - поменять программатор и разбираться с компилятором;
2. Корректируем файл avrdude.xml (как я писал выше), устанавливаем настройки программатора в меню Project options (программатор, частота МК, порт и скорость работы по нему) и в режиме Release прошиваем микроконтроллер.
Если не получается - смотрим что пишет в логе avrdude и исходя из этой информации решаем проблему дальше.
Последний раз редактировалось dds7sdd Пт июн 07, 2024 11:05:14, всего редактировалось 2 раза.
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
Именно это я и сделал. Наверное нужны еще исправления.
Не беда, не буду использовать этот способ с Proteus. Било просто для теста.
Не беда, не буду использовать этот способ с Proteus. Било просто для теста.
Re: Proteus не прошивается реальный Attiny13
Так вы ж не привели лог avrdude в режиме Release.
Не сказать что бы я особо использую Proteus для прошивки микроконтроллера, но иногда мне это было нужно для удобства.
Разобраться же с проблемой был чисто спортивный интерес.
Не сказать что бы я особо использую Proteus для прошивки микроконтроллера, но иногда мне это было нужно для удобства.
Разобраться же с проблемой был чисто спортивный интерес.
- АлександрЛ
- Друг Кота
- Сообщения: 43886
- Зарегистрирован: Пн ноя 30, 2009 03:00:01
- Откуда: Нерезиновая
Re: Proteus не прошивается реальный Attiny13
Как-то раз я "приговорил" десяток Тини13 - они не шились, ни через "5 проводков", ни через "Громова", и ещё пробовал другую самоделку.. Потом ко мне приехал TL866, и он спокойно прошил эти, как бы неисправные, тиньки.veso74 писал(а):ОК. Но у меня MK не прошивается.
(имхо) все эти "упрощённые" программаторы, всё-таки, "недопрограмматоры".
-
veso74
- Поставщик валерьянки для Кота
- Сообщения: 1907
- Зарегистрирован: Сб май 05, 2012 20:24:52
- Откуда: KN34PC, Болгария
- Контактная информация:
Re: Proteus не прошивается реальный Attiny13
АлександрЛ, исключаю этот вариант. ATtiny13A оригинальные, от проверенного продавца, a с USBasp, ArduinoUNO в качестве программатора и PICkit2 в качестве AVR-программатора, МК прошивается.
---
С win10 прогресс больше
.
---
Добавил:
---
Готово
. LED мигает. win10, Proteus v8.13, USBasp из Aliexpress.
---
С win10 прогресс больше
Но снова неудачно. Думаю, что где-то скорость надо еще уменьшить ...############################## | 100% 0.09s
avrdude.exe: 142 bytes of flash written
avrdude.exe: verifying flash memory against C:/Users/.../AppData/Local/Temp/VSM Studio/d89a7a6b5b4645528b925702b42ce474/ATTINY13_1/Release/Release.hex:
avrdude.exe: load data flash data from input file C:/Users/.../AppData/Local/Temp/VSM Studio/d89a7a6b5b4645528b925702b42ce474/ATTINY13_1/Release/Release.hex:
avrdude.exe: input file C:/Users/.../AppData/Local/Temp/VSM Studio/d89a7a6b5b4645528b925702b42ce474/ATTINY13_1/Release/Release.hex contains 142 bytes
avrdude.exe: reading on-chip flash data:
Reading | ################################################## | 100% 0.05s
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x08 != 0x09
avrdude.exe: verification error; content mismatch
avrdude.exe done. Thank you.
Error code 1
Firmware upload FAILED.
---
Добавил:
Записывается.<OPTION NAME="-b " VALUE="19200"/>
Но LED не мигает.Uploading firmware 'Release.hex'
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x1e9007 (probably t13)
avrdude.exe: reading input file "C:/Users/.../AppData/Local/Temp/VSM Studio/e51a436f924e40958679fda28a2dca9d/ATTINY13_1/Release/Release.hex"
avrdude.exe: writing flash (142 bytes):
avrdude.exe: 142 bytes of flash written
avrdude.exe done. Thank you.
Firmware upload COMPLETE.
---
Готово
Т.е. в оригинала avrdude.xml добавлени добавлены только последние 2 строки: -b и -e.<PROCESS TOOL="AVRDUDE" NAME="Program Firmware" ID="PROGRAM" CMDLINE="%OPTIONS% -Uflash:w:%INFILE%">
<FILE TYPE="HEX" NAME=""%INFILE%":i"/>
<FILE TYPE="ELF" NAME=""%INFILE%":e"/>
<OPTION NAME="-D"/>
<OPTION NAME="-V"/>
<OPTION NAME="-q"/>
<OPTION NAME="-e"/>
<OPTION NAME="-b " VALUE="19200"/>
</PROCESS>
Re: Proteus не прошивается реальный Attiny13
Странно...
Оба параметра не обязательны.
-e: опция очистки памяти чипа. Обычно её использовать не нужно, потому что очистка FLASH выполняется автоматически перед программированием.
- b: скорость порта. Она же задается в настройках Project options. Для USBasp это только 19200, а для Arduino as ISP может быть до 1000000 (в зависимости от настроек залитого скетча Arduino ISP).
Если вы убрали из файла avrdud.xml строку запрещающую стирание Flash: <OPTION NAME="-D"/>, то добавление строки <OPTION NAME="-e"/> не имеет смысла ибо AVRDUDE стирает флешь автоматически при прошивке.
Так же, если вы указали корректно скорость порта в Project options то и строка <OPTION NAME="-b " VALUE="19200"/> так же не имеет смысла...
Судя по вашей ошибке:
в микроконтроллере не были выставлены фьюзы (ядро, загрузчик как угодно).
Либо были физические проблемы с соединением.
Оба параметра не обязательны.
-e: опция очистки памяти чипа. Обычно её использовать не нужно, потому что очистка FLASH выполняется автоматически перед программированием.
- b: скорость порта. Она же задается в настройках Project options. Для USBasp это только 19200, а для Arduino as ISP может быть до 1000000 (в зависимости от настроек залитого скетча Arduino ISP).
Если вы убрали из файла avrdud.xml строку запрещающую стирание Flash: <OPTION NAME="-D"/>, то добавление строки <OPTION NAME="-e"/> не имеет смысла ибо AVRDUDE стирает флешь автоматически при прошивке.
Так же, если вы указали корректно скорость порта в Project options то и строка <OPTION NAME="-b " VALUE="19200"/> так же не имеет смысла...
Судя по вашей ошибке:
Код: Выделить всё
avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x08 != 0x09
Либо были физические проблемы с соединением.
Re: Proteus не прошивается реальный Attiny13
Короче вы таки не убрали <OPTION NAME="-D"/>)))))))))))))))))
И все ваши танцы с бубном именно из-за этого!
<OPTION NAME="-D"/> - запрет на стирание Flash.
<OPTION NAME="-e"/> - разрешение на стирание Flash.
Тоесть вы сначала запрещаете стирание, а затем разрешаете...
Раз 5 писал вам убрать <OPTION NAME="-D"/>, но видимо вам так нравится))
И все ваши танцы с бубном именно из-за этого!
<OPTION NAME="-D"/> - запрет на стирание Flash.
<OPTION NAME="-e"/> - разрешение на стирание Flash.
Тоесть вы сначала запрещаете стирание, а затем разрешаете...
Раз 5 писал вам убрать <OPTION NAME="-D"/>, но видимо вам так нравится))


