Страница 1 из 3
Proteus не прошивается реальный Attiny13
Добавлено: Чт май 30, 2024 20:55:04
dds7sdd
Приветствую!
Создал проект в Proteus 8.13 на ATtiny13 и хочу, штатными средствами Proteus, заливать прошивку напрямую в голый ATtiny по SPI.
В качестве программатора - Arduino nano (Arduino as ISP).
Проект компилируется и без проблем работает в симуляторе.
Полученный debug.hex опять же без проблем заливается через Arduino nano (Arduino as ISP) программами AVRDUDE Prog и SinaProg.
Но вот из самого Proteusa прошиваться никак не хочет.
Вернее прошивка заливается, индикация на ардуине индицирует передачу данных,
AVRDUDE пишет: "
avrdude.exe done. Thank you.Firmware upload COMPLETE." То есть весь процесс прошивки проходит успешно, но прошиваемый контроллер не работает.
Курил мануал, а именно:
visualDesigner help(74 страница). Но там ничего по существу нет. Настройки для новичков.
В гугле ничего найти не удалось на эту тему.
Полагаю что настроены неправильно fuse и некорректный набор команд AVRDUDE. Уже день потратил на эту херабору.
Может кто сталкивался подскажите как решить.
Ниже приведу свои настройки проекта и вывод AVRDUDE.
Меню "Настройки проекта":
Вывод AVRDUDE при компиляции и прошивке:
Компиляция:
Спойлер
avr-gcc.exe -Wall -gdwarf-2 -fsigned-char -MD -MP -DF_CPU=9600000 -O1 -mmcu=attiny13 -o "main.o" -c "../main.c"
avr-gcc.exe -mmcu=attiny13 -o "./Debug.elf" "main.o"
avr-objcopy -O ihex -R .eeprom "./Debug.elf" "./Debug.hex"
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex "./Debug.elf" "./Debug.eep" || exit 0
Compiled successfully.
Прошивка:
Спойлер
Firmware is already compiled.
Uploading firmware 'Debug.elf'
avrdude.exe: AVR device initialized and ready to accept instructions
avrdude.exe: Device signature = 0x1e9007 (probably t13)
avrdude.exe: reading input file "C:/Users/DYDUS~1/AppData/Local/Temp/VSM Studio/642938b1af024983babf0b4bc6600470/ATTINY13_1/Debug/Debug.elf"
avrdude.exe: writing flash (970 bytes):
avrdude.exe: 970 bytes of flash written
avrdude.exe done. Thank you.
Firmware upload COMPLETE.
Есть еще вкладка "Options" в меню свойств проекта и там как раз можно прописать команды AVRDUDE, но я так и не разобрался как это сделать. В туториалах о ней ни слова...
В общем просьба подсказать куда копать и вообще работает ли корректно эта опция.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Чт май 30, 2024 21:11:05
veso74
На какой частоте должен работать проектный МК? По умолчанию фюзов ATtiny13A установлены на 9,6/8 = 1,2 MHz.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Чт май 30, 2024 22:01:20
dds7sdd
Проектная - 9.6MHz. В симуляторе выставлен делитель на 8 в fuse бит CLKDIV8. Но в настройках проекта в пункте "Clock for delays" установлено 9.6MHz. Именно из этого пункта берётся значение частоты при прошивке реального МК. Об этом написано в мануале, ссылку на который я приводил выше (стр. 72).
Re: Proteus не прошивается реальный Attiny13
Добавлено: Чт май 30, 2024 22:39:26
veso74
Я не уверен, что Proteus поменяет фюзов МК. С Arduino в качестве программатора и, напр.
AVRDUDESS запишите LF в 0x7A (9,6 MHz) и затем повторит попытку. Для эксперимента можно заранее прочитать LF в ATtiny13A?
Re: Proteus не прошивается реальный Attiny13
Добавлено: Чт май 30, 2024 23:02:22
dds7sdd
А причем здесь частота? Ну пусть даже выставлен делитель на 8 в фьюзах и частота будет 1.2, но тот же блинк бы запустился и я увидел бы его работу.
Почти уже разобрался с этой вкладкой "Options"... Попробую прописать там команды из AVRDUDE Prog (хоть и через задницу там все это делается).
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 11:21:04
dds7sdd
Проверил на ATmega8 и ATmega328 - то же самое. Процес прошивки удачно завершается но МК не работают.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 11:55:20
veso74
Попробуйте внешнюю программу записи (известную вам), чтобы записать hex скомпилированный из Proteus. По методу выключения узнаете, правильно ли Proteus компилирует или записывает некорректно (напр. нужны дополнительные настройки).
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 12:21:54
dds7sdd
Странно... То ли я спутанно пишу или недоходчиво объясняю... То ли... Скорее да, не правильно построил предложение.
Вот здесь я написал что скомпилированную Proteus прошивку в debug.hex файл успешно прошиваю в микроконтроллер с помощью AVRDUDE Prog и SinaProg.
[uquote="dds7sdd",url="/forum/viewtopic.php?p=4585823#p4585823"]Полученный debug.hex опять же без проблем заливается через Arduino nano (Arduino as ISP) программами AVRDUDE Prog и SinaProg.[/uquote]
То есть Proteus генерит hex файл, я его прошиваю SinaProg с фьюзами по умолчанию и всё работает.
Неработает когда я пытаюсь это же hex файл прошить самим Proteus-ом.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 12:58:43
OKF
Только запускаемый из Протеуса Avrdude использует elf, а не hex.
avrdude.exe: reading input file "C:/Users/DYDUS~1/AppData/Local/Temp/VSM Studio/642938b1af024983babf0b4bc6600470/ATTINY13_1/Debug/Debug.elf
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 16:03:28
dds7sdd
Согласен! Не выбрал пункт Release, но это всеравно не решает проблему.
Вот лог Proteus при режиме Release. Здесь уже в контроллер льется hex файл.
Микроконтроллер не работает.
Спойлер
avr-gcc.exe -Wall -gdwarf-2 -fsigned-char -MD -MP -DF_CPU=9600000 -Os -mmcu=attiny13 -o "main.o" -c "../main.c"
avr-gcc.exe -mmcu=attiny13 -o "./Release.elf" "main.o"
avr-objcopy -O ihex -R .eeprom "./Release.elf" "./Release.hex"
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" --change-section-lma .eeprom=0 --no-change-warnings -O ihex "./Release.elf" "./Release.eep" || exit 0
cp "Release.hex" "C:/Users/Dyud/Documents/ATTINY13_1.hex"
Compiled successfully.
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/DYADUS~1/AppData/Local/Temp/VSM Studio/642938b1af024983babf0b4bc6600470/ATTINY13_1/Release/Release.hex"
avrdude.exe: writing flash (926 bytes):
avrdude.exe: 926 bytes of flash written
avrdude.exe done. Thank you.
Firmware upload COMPLETE.
А вот лог программы SinaProg при заливке этого же файла (Release.hex).
Микроконтроллер работает.
Спойлер
$ avrdude -p t13 -c arduino -P COM3 -b 19200 -F -U flash:w:Release.hex
====================
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny13
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9007
avrdude: NOTE: FLASH memory has been specified, an erase cycle will be performed
To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny13
avrdude: reading input file "Release.hex"
avrdude: input file Release.hex auto detected as Intel Hex
avrdude: writing flash (890 bytes):
Writing | ################################################## | 100% 1.81s
avrdude: 890 bytes of flash written
avrdude: verifying flash memory against Release.hex:
avrdude: load data flash data from input file Release.hex:
avrdude: input file Release.hex auto detected as Intel Hex
avrdude: input file Release.hex contains 890 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 0.73s
avrdude: verifying ...
avrdude: 890 bytes of flash verified
avrdude done. Thank you.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 16:21:48
BOB51
А у того протеуса есть вкладка установки программатора вида "Arduino as ISP" ?... (Это корректное название для железяки на основе ардуино нано и скотча из примеров ардуино IDE для установки в использующих его софт- оболочках).
Не всё варианты "оболочек" на базе аврдуде имеют соответствующую поддержку данного "железа".
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 19:24:13
dds7sdd
BOB51 Ну а как еще интерпретировать опции программатора выбираемые в меню "Настройки проекта" (первый скрин из моего первого поста)?
Первые три пункта там это семейство и тип микроконтроллера в который заливается прошивка.
А далее пункт "Programmer" - программа для прошивки (AVRDUDE) и пункт "Interface" c возможностью выбрать только Arduino uno, nano, 328p, и USBasp как бы намекает что в этом пункте выбирается программатор. А какой еще может быть программатор на базе Arduino nano кроме Arduino as ISP? Я таких не знаю...
Короче, попробую еще найти свисток USBasp и прошиться через него для экскремента. Правда с этой приблудой на Windows 10 я еще не работал. Полагаю будут тоже грабли...
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 20:16:40
BOB51
С "ардуино as ISP" не так всё просто.
Насколько мне на практике известно это железо помимо самой
ардуино IDE работает только на трёх софт - оболочках
avrdudeshell(09.01.2019) ;
sinaprog 2.1;
avrdudess 2.17(avrdude version 7.3)
и то в каждом отдельном случае сначала с настройкой надо позаниматься.
Всё три софтинки и под 7кой и под десяткой работают.

Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 20:36:43
dds7sdd
Arduino as ISP еще прекрасно работает на PlatformIO в Visual Studio Code. Я на эту среду разработки перешел уже лет 5 как назад и там сижу по сей день (удобно).
Но начинал еще лет 10 назад именно с Proteus. Эта прога мне нравится как универсальная среда разработки со своими симулятором, проектировщиком печатных плат, 3D визуализацией с возможностью экспорта STEP, но самое главное с возможностью виртуальной отладки без необходимости покупать дебаггер с ценой до неба.
Короче всем она мне удобна на этапе проектирования и отладки отдельных узлов проекта. Вот только ни разу не заливал из нее прошивку напрямую.
Вот и ип..сь теперь...
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пт май 31, 2024 20:46:44
BOB51
Так есть и другое железко...
Тот же siprog или ещё чего.
Тут уж или привычная среда разработки с соответствующими её требованиям инструментами или....

Re: Proteus не прошивается реальный Attiny13
Добавлено: Вс июн 02, 2024 19:25:23
dds7sdd
Попробовал с помощью USBasp - то же самое..... Тут уж не приходиться грешить на ардуиновский программатор. Это америкоский институт Labcentr сделал такую систему настройки что крышу может снести...
А главное, цуко, никаких ошибок не выдает... хоть бы намёк дала куда копать... Всё Ок и всё прекрасно, только скетч не работает, с помощью SinaProg заливаешь - всё работает...
Добавлено after 27 minutes 40 seconds:
И ещё:
1. Proteus генерит hex файл №0 и прошивает его в Attiny;
2. После этого считываю SinaProg Flashe память Attiny и сохраняю в hex файл №1;
3. Прошиваю Attiny тот же hex файл №0 сгенеренный Proteus уже с помощью SinaProg;
4. После этого считываю SinaProg Flashe память Attiny и сохраняю в hex файл №2.
Так вот эти файлы разные как по содержанию так и по объему...
Файл №1=2.3Kb (Proteus)
Файл №2=2.1Kb (SinaProg)
Как прошитый в МК один и тот же файл с помощью разных программ может иметь разный объем и содержание??
Добавлено after 3 minutes 37 seconds:
Более того.
Если считать SinaProg фьюзы из Attiny после прошивки его Proteus и сравнить с теми что устанавливает при прошивке SinaProg - то они одинаковые!
То есть Proteus фьюзы не трогает...
Re: Proteus не прошивается реальный Attiny13
Добавлено: Вс июн 02, 2024 21:06:53
OKF
[uquote="dds7sdd",url="/forum/viewtopic.php?p=4586703#p4586703"]Файл №1=2.3Kb (Proteus)
Файл №2=2.1Kb (SinaProg)
Как прошитый в МК один и тот же файл с помощью разных программ может иметь разный объем и содержание??[/uquote]
Ты бы посмотрел сначала, а потом спрашивал, не?
Re: Proteus не прошивается реальный Attiny13
Добавлено: Вс июн 02, 2024 22:15:32
dds7sdd
[uquote="dds7sdd",url="/forum/viewtopic.php?p=4586703#p4586703"]1. Proteus генерит hex файл №0 и прошивает его в Attiny;
2. После этого считываю SinaProg Flashe память Attiny и сохраняю в hex файл №1;
3. Прошиваю Attiny тот же hex файл №0 сгенеренный Proteus уже с помощью SinaProg;
4. После этого считываю SinaProg Flashe память Attiny и сохраняю в hex файл №2.[/uquote]
Ты бы прочитал вначале, подумал, а потом писал бы...
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пн июн 03, 2024 07:59:21
Starichok51
dds7sdd, тебе правильно подсказали, что нужно посмотреть и сравнить содержимое обоих файлов, и найти, в чем разница.
Re: Proteus не прошивается реальный Attiny13
Добавлено: Пн июн 03, 2024 08:15:12
BOB51
Вроде для тини13 бутлоадер не предусматривается...
