Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Программирование ATMEL в BASCOM. » Программаторы, прошивка МК » AVRDUDE_PROG, USBASP и Atmega64A.


AVRDUDE_PROG, USBASP и Atmega64A.

Сообщений 1 страница 21 из 21

1

Понадобился МК с двумя UART'ами. Посмотрел цены на Али, выбор пал на Atmega64A. Заказал, получил, впаял. И, сразу же, срочно, нужно его программировать. :crazyfun:  Подключил USBASP, оболочка AVRDUDE_PROG - моя любимая связка. Давай программировать, но не тут то было - ошибка. Первый ляп с подключением программатора. Аппаратный SPI и SPI для программирования - это не одно и то же, выводы разные. Ну, с этим быстро разобрался, подключил как надо - контроллер увиделся. Давай программировать. Новый ляп, запись происходит успешно, но при верификации выскакивает ошибка: "Ошибка верификации. Возможно установлены Лок биты". Но никаких lockbits не установлено.
https://forumupload.ru/uploads/0000/25/b8/1811/t924612.jpg
Причем фьюзы прошиваются, меняются, читаются.
https://forumupload.ru/uploads/0000/25/b8/1811/t710796.jpg

Написал ногодрыг на все порты, чтобы проверить работает ли прошивка. Не работает. Но ведь прошивка и записывается и считывается. Считал то, что залил в МК и сравнил с образцом, отличия существенные. Слева считанная прошивка, справа оригинал.
https://forumupload.ru/uploads/0000/25/b8/1811/t824910.jpg

В сети ничего похожего не нашел, подумал, что есть еще какая-то тонкость в программировании, полез в даташит разбираться. Ну да, мы в документацию лезем только когда что-то не работает.  :crazyfun: В общем решения проблемы так и не нашел, убил два дня на поиск ответов. А потом пришла мысль попробовать другую оболочку Дудки. Установлен у меня еще SinaProg, попробовал его. И, о чудо, все получилось, программа прошилась, верификация прошла успешно. Залил ногодрыг, светодиодом проверил работу - программа работает. Тут же на радостях залил Bootloader, проверил его, тоже работает. Впечатлила скорость программирования, Дудка с USBASP'ом нервно курят в сторонке.  :cool:  :flag:  :jumping: Проблема решена, но непонятки остались. Дудка одна, разные только оболочки, и вот такой глюк.  :dontknow:  Эта тема скорее не вопрос, а совет тем, кто столкнется с похожим. Теперь сижу перевожу даташит на МК, чтобы с UART'ами подобных ляпов не случилось. :crazyfun:

0

2

а зачем вы применяете внешнюю оболочку, имея USBASP?
Всё делаю из Bascom

да, тоже имел горький опыт развести плату "по привычке", а в m128 шьётся через ноги UART  :'(

Atmega64A и Atmega128A применяю, уже третья партия по 150 штук, и проблем нет.
Шил и через Bascom, и через bat-файл с Дудкой (клиентам даю загружалку: в папке дудка и её файлы, и bat с командами дудке)

https://forumupload.ru/uploads/0000/25/b8/439/t418558.jpg

Отредактировано Александр Д. (2024-06-10 14:31:46)

+2

3

Александр Д. написал(а):

а зачем вы применяете внешнюю оболочку, имея USBASP?
Всё делаю из Bascom

А у меня как то не сложилось. :dontknow:
https://forumupload.ru/uploads/0000/25/b8/1811/t428511.jpg

0

4

Вот елки-палки, а теперь сложилось. До этого сколько раз пробовал, ничего не получалось.https://forumupload.ru/uploads/0000/25/b8/1811/t81796.jpg

0

5

Главное, не ставить скорость выше 375, я ограничиваюсь меньшей - 187
https://forumupload.ru/uploads/0000/25/b8/439/t12345.jpg

Кстати, обновите прошивку самого USBasp - она у вас, судя по сообщению о невозможности изменить тактовую - старая.
Вот новая:
https://transfiles.ru/ntx3e

Отредактировано Александр Д. (2024-06-10 15:47:04)

+2

6

Александр Д. написал(а):

Кстати, обновите прошивку самого USBasp - она у вас, судя по сообщению о невозможности изменить тактовую - старая.

Только не смейтесь - ладно? При отключенном программаторе тактовую частоту изменить невозможно.  :crazyfun: На старых версиях Баскома программировать не получалось, там по-моему даже USBASP в списке не было. Сейчас стоит 2.0.8.5, но я и не пробовал программировать, по старинке пользуясь Дудкой. А тут попробовал, но первый раз включил без программатора и контроллера (первый скрин), поэтому и ошибки.  :dontknow:
https://forumupload.ru/uploads/0000/25/b8/1811/t790304.jpg

0

7

Andrusha написал(а):

На старых версиях Баскома программировать не получалось, там по-моему даже USBASP в списке не было.

2.7.0.8 с USBASP-ом отлично работала. у меня тоже были глюки программирования, но это всегда был плохой контакт или (если устройство питается НЕ от программатора) неподключенная земля программатора

0

8

У Bascom есть еще такая "фишка" - программатор должен быть уже подключен до того, как в Редакторе будет вызван режим прошивки.
Если подключить его позже, то Bascom его может даже не увидеть...

0

9

Nord написал(а):

У Bascom есть еще такая "фишка" - программатор должен быть уже подключен до того, как в Редакторе будет вызван режим прошивки.

Не только программатор, но и программируемый МК. Видимо Баском считывает сигнатуру и в окошке указывает какой МК подключен.
https://forumupload.ru/uploads/0000/25/b8/1811/t648652.jpg

+1

10

Andrusha
баском показывает чип когда делаешь запрос чипа кнопочкой "?"

0

11

IDok написал(а):

Andrusha
баском показывает чип когда делаешь запрос чипа кнопочкой "?"

Нет. Подключаю один программатор, нажимаю F4, открывается окно программатора, в окошке "МК" три знака вопроса, остальные окошки пустые. Подключаю программатор с МК, нажимаю F4, открывается окно программатора и все окошечки заполнены.

0

12

Andrusha
а. я обычно открываю окно программатора и делаю идентификацию чипа (оно читает чип и показывает установленные фьюзы). если фьюзы править не надо - могу сразу (без идентификации) заливать программу. камень могу подключать как до открытия окна так и после. вроде бы.

0

13

Наверное и так правильно. Я сегодня первый раз попробовал программировать Баскомом, а что там есть, в окне программатора, даже не смотрел. Завтра посмотрю внимательно.

0

14

Andrusha написал(а):

Впечатлила скорость программирования, Дудка с USBASP'ом нервно курят в сторонке.

В USBASP медленная программная эмуляция USB из-за чего быстрая работа не возможна!

0

15

в программе указан тип МК?
тогда всё сразу определяет

0

16

Пётр написал(а):

Andrusha написал(а):
  Впечатлила скорость программирования, Дудка с USBASP'ом нервно курят в сторонке.

В USBASP медленная программная эмуляция USB из-за чего быстрая работа не возможна!

Какое это имеет отношение к USB? Помните резистор 1,5 кОм на линию "D-" для режима Low-Speed? А это скорость до 1.5 МегаБит/сек!

Выставьте скорость программатора выше.
Главное, не забывайте, что частота прошивки должна быть в 8-10 раз ниже скорости МК. То есть, если у вас МК на 8 Mhz, то смело шейте на 750 КГц

Отредактировано Александр Д. (2024-06-17 10:36:40)

0

17

Александр Д. написал(а):

А это скорость до 1.5 МегаБит/сек!

Это теоретическая максимальная пропускная способность шины USB.
Отнимите отсюда служебные данные и др. В реальности поток данных гораздо менее скоростной.
Думаете у мега8 хватит производительности для 1.5 миллионов внешних прерываний в секунду, обработки данных и чтобы осталось много свободного времени на другие задачи?
99% времени отнимают прерывания, а оставшегося времени мало для быстрой прошивки МК.

0

18

вот передо мною 150 плат, на МК мега64
шью через USbasp на 750 Кгц
Кварц на 11МГц

@echo off
@echo Start!

avrdude.exe -p m64 -c usbasp -P usb -B10 -e -u -U lfuse:w:0x7D:m -u -U hfuse:w:0xC1:m  -u -U efuse:w:0xFF:m
avrdude.exe -p m64 -c usbasp -P usb -B1 -U flash:w:"soft.hex":i
avrdude.exe -p m64 -c usbasp -P usb -B10 -u -U lock:w:0xFC:m

TIMEOUT /T 10

0

19

Пётр написал(а):

Думаете у мега8 хватит производительности для 1.5 миллионов внешних прерываний в секунду, обработки данных и чтобы осталось много свободного времени на другие задачи?

Пётр, Вам ли писать такую глупость? Мы говорим про шину, а не МК.

А дав эти параметры, я подразумевал возможность загрузки прошивки в МК на скоростях явно выше UART через загрузчик, где обычно от силы  115200 б/с

0

20

Александр Д. написал(а):

Мы говорим про шину, а не МК.

У МК должно хватать производительности чтобы программно эмулировать USB устройство и обрабатывать поток данных.
Все равно что на скоростном шоссе ехать на велосипеде - быстрее чем велосипед может не получится несмотря на то что шоссе скоростное.
Вот в МК с аппаратным USB дело обстоит совсем по другому. Не нужно тратить очень много процессорного времени на эмуляцию USB и требуется всего лишь обрабатывать прерывания по приему/передаче данных.

0

21

ясно.

0


Вы здесь » Программирование ATMEL в BASCOM. » Программаторы, прошивка МК » AVRDUDE_PROG, USBASP и Atmega64A.