avrdude: ошибка: доступ к буферизованной памяти не поддерживается

Я пытаюсь загрузить эту прошивку sck_beta_v0_8_6 через Arduino 1.0.5-r2. Я выбрал LilyPad Arduino USB в качестве доски. Устройство представляет собой Smart Citizen Kit Urban Shield v.1.1. При загрузке появляется следующее сообщение об ошибке:

Found programmer: Id = "BÛR"; type = 
   Software Version = . ; Hardware Version = .
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?

Что я делаю неправильно?


person JJD    schedule 10.05.2014    source источник
comment
Вы пробовали использовать другой кабель USB?   -  person Eugene    schedule 11.05.2014
comment
@Eugene Вы сумасшедший парень действительно нашел решение моей проблемы. Я думал, ты шутишь. Отправьте полный ответ, и я с радостью предоставлю вам отметку об ответе.   -  person JJD    schedule 20.05.2014


Ответы (6)


Иногда все зависит от другого USB-кабеля. На рынке существует широкий диапазон качества кабелей, и иногда вы можете получить один на грани приемлемого.

Кажется, что Lilypad Arduino особенно подвержен этому. Рад, что это помогло.

person Eugene    schedule 23.05.2014
comment
У меня возникла проблема с подключением моего arduino к моему Macbook с помощью usb-c и usb-c к адаптеру usb-a. При подключении к другому компьютеру через обычную розетку usb-a все работало нормально. - person Ibolit; 19.11.2019

Нажимайте кнопку сброса перед загрузкой кода, пока не услышите звук отключения (в окнах). Откройте IDE и попробуйте еще раз

person andres    schedule 22.12.2014

У меня было такое же сообщение об ошибке при попытке загрузить эскиз на плату Arduino Leonardo с ноутбука Levovo с использованием Arduino версии 1.0.6. И диспетчер устройств, и Arduino показали, что плата подключена к COM3. Arduino также выдал сообщение об ошибке, что COM3 используется другим приложением. Я попытался заменить USB-кабель, но получил то же сообщение. Что сработало, так это замена розетки USB с правой верхней задней части Lenovo на нижнюю правую заднюю розетку. Он подключился к COM8, и я смог загрузить скетч. Поймите, что между двумя розетками есть разница в скорости. Теперь все, что мне нужно сделать, это выяснить, почему я не могу загрузить эскизы на ту же плату Леонардо на моем ноутбуке HP с Windows 10 и самой последней версией Arduino. Подключается к COM6, но при загрузке зависает. (Примечание: также пришлось отредактировать некоторые файлы библиотеки Arduino, которые работали в версии 1.0.6, но показывали ошибки компиляции в последней версии.)

person Robin    schedule 21.01.2016
comment
Обратите внимание, что ребята из SCK рекомендуют использовать старую версию Arduino IDE (по каким-либо причинам). Я тем временем сдался с их устройством и прошивкой. Моя лежит где-то выключенной. - person JJD; 21.01.2016

У меня была такая же ошибка, но позже я обнаружил, что у меня был выбран неправильный тип Arduino, вместо Nano у меня был Yun.

person guest77777    schedule 04.04.2017

У меня была такая же проблема при попытке загрузить код в Arduino Micro (китайский клон). Тратить часы на гугл, прошивать новый загрузчик - все равно ничего. Физический сброс и открытие COM-порта с ограничением 1200 не работают. Почему?

У МЕНЯ ATMEGA168 ВМЕСТО ATMEGA32u4!

Google сообщает, что Arduino Micro получил Atmega32u4, а мой клон получил Atmega168! Прежде всего, проверьте, какой у вас тип atmega, посмотрев на черный припаянный чип на Arduino. Поэтому вместо того, чтобы выбирать «Arduino Micro» в меню «Board», я выбираю Arduino Nano, и все работает!

person Kamil Hajduk    schedule 04.12.2017

Я получаю ту же ошибку, avrdude: error: buffered memory access not supported также с мусорным выводом с идентификатором программиста @ с версиями ., когда я указываю avrdude на последовательный порт стандартной основной прошивки моей Леонардо-совместимой коммутационной платы вместо последовательного порта, предлагаемого во время загрузчика ; кажется, последнее - это то, что avrdude можно программировать?

Нормальный исходный вывод при фактическом подключении к загрузчику будет примерно таким:

Connecting to programmer: .
Found programmer: Id = "CATERIN"; type = S
    Software Version = 1.0; No Hardware Version given.

Чтобы попасть в загрузчик, вы можете либо

  • нажмите кнопку сброса (если у вас нет кнопки сброса, подключение сброса к земле), или
  • на короткое время подключитесь к последовательному порту основной прошивки на скорости 1200 бит / с и отключите

Загрузчик будет представлять другое последовательное USB-устройство, отличное от последовательного USB-устройства основной прошивки, поэтому ему может быть назначен другой номер последовательного порта в вашей ОС, обычно следующий доступный. Например, в Windows моей основной прошивке, совместимой с Леонардо, был назначен COM3, а загрузчику - COM4.

Скрипт Python, любезно предоставленный https://nicholaskell.wordpress.com/tag/leonardo/, для выполнения этого серийного 'стука':

reset.py:

#!/usr/bin/env python
import serial, sys
serialPort = sys.argv[1]
ser = serial.Serial(
    port=serialPort,
    baudrate=1200,
    parity=serial.PARITY_NONE,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)
ser.isOpen()
ser.close() # always close port

В среде Windows у меня есть cmd-скрипт для использования в виртуальном окружении.

reset.cmd:

"C:\Program Files (x86)\Python37-32\Scripts\virtualenv.exe" pyreset_virtualenv
pyreset_virtualenv\Scripts\pip.exe install pyserial
pyreset_virtualenv\Scripts\python reset.py COM3
pause

отрегулируйте в соответствии с вашим последовательным портом и путем Python.

В любом случае, после подключения загрузчика у вас будет короткое окно в пару секунд, в котором avrdude можно подключиться к новому последовательному порту, чтобы начать программирование, прежде чем загрузчик снова войдет в основную прошивку, после чего вам придется сделайте сброс еще раз. Итак, как только вы определитесь с последовательным портом загрузчика, вам нужно заранее подготовить avrdude командную строку для запуска, чтобы вы могли запустить ее без задержки после сброса.

person rakslice    schedule 20.01.2020
comment
Я не уверен, что avrdude должен иметь встроенную логику для самостоятельного выполнения последовательного сброса, и я просто не использовал для этого правильные параметры, но это сработало для меня. - person rakslice; 21.01.2020