Использование загрузчика загрузчика под Windows XP

Staticmem
Вторник 15 мая 2018 г. 8:20 утра
У меня есть проект, который недавно мне удалось работать с загрузчиком Arduino Booter и моим приложением по телефону 0x08002000, хорошо работает под Linux. Мне нужно было проверить это под Windows, и единственная система Windows, которую я имею на реальном оборудовании, - это система XP 32 -битная система, работающая на старом ноутбуке. У меня сейчас проблемы с тем, чтобы заставить это работать должным образом.

Первоначально, когда я подключил Windows проекта STM32, обнаружил новое оборудование и попросил установить драйвер DFU. Я указал на это:
Arduino_stm32-master/drivers/win/win_xp_legacy/maple-dfu/x86, и он, казалось, установил просто хорошо.

Драйвер CDC ACM для моего приложения уже был установлен ранее, прежде чем я начал использовать загрузочный погрузчик. Мой CDC ACM для дескриптора устройства USB использует: 0x83, 0x04, // idVendor = 0x0483 STMicro 0x80, 0x58, // idProduct = 0x5880 used for this project, don't want ST's PID

Стивестронг
Вторник 15 мая 2018 г. 8:35 утра
Вы должны удалить существующие драйверы и снова переустановить их после того, как вы снова вспыхиваете загрузчик.
У меня не было проблем с установкой драйверов под XP 32B. Проверьте диспетчер устройств на предмет нераспознанных устройств и установите драйверы, установленные «Установленные драйверы» и указав правильное местоположение. Сначала DFU, а затем сериал CDC.

Staticmem
Ср 16 мая 2018 г., 2:00 утра
Устройство, которое я использую: http: // wiki.STM32duino.com/index.PHP?тип ... 32F103RBT6

Вот что я сделал. Я попытался задокументировать свои точные шаги и перезапустить с нуля:

- Под xp подключите мое устройство STM32, чтобы сделать порт ACM COM отображаться в диспетчере устройств, затем удалите его.
- Отсоедините устройство и подключитесь к моей коробке Linux и используйте ST-Link, чтобы стирать вспышку, используя «ST-Flash Eslase»
- Flash загрузчик загрузки "st-flash write generic_boot20_pb9.bin 0x08000000 "

Так что теперь это свежий загрузочный погрузчик, и мое приложение полностью стерто.
При сбросе он выполняет серию быстрого светодиодного мигания, а затем медленные миганы, которые повторяются навсегда.
Нет признаков устройства A /dev /ttyacmx, так что это кажется нормальным на этом этапе.

- Подключите устройство STM32 обратно на XP.
- Под диспетчеры устройства удаляет "Libusb-Win32 -> Maple dfu "
- Отключите USB -кабель на устройство. Подождите 5 секунд.
- Подключите USB -кабель обратно в устройство.
- Столка состояния нижней части Windows указывает на найдено новое оборудование и показывает «Maple 003, затем Maple DFU, затем Maple 003 снова».
- Появляется мастер драйверов Windows:
* Нет, не на этот раз - Далее
* Этот мастер поможет вам установить программное обеспечение для Maple DFU. Я говорю ему установить из списка или...." - СЛЕДУЮЩИЙ
* Включите это место в поиске: arduino_stm32-master \ drivers \ win \ win_xp_legacy \ maple-dfu-Далее
* XP устанавливает драйвер Maple DFU - отделка

Нашел новое оборудование
Проблема произошла во время установки аппаратного обеспечения, ваше новое оборудование может работать не правильно.


Под диспетчеры устройства он не имеет желтой отметки рядом с устройствами "Libusb-Win32 -> Maple dfu "

Свойства Maple DFU -> Идентификатор экземпляра устройства -> USB \ VID_1EAF&Pid_0003 \ llm_003 "

Командная строка:
dfu -util -static -d 1eaf: 0003 -a 2 -d myfirmware_0x08002000.бин -р

Я стараюсь запустить эту командную строку после сброса устройства с короткой до 3 секунд задержкой, но всегда сбой...
dfu-util 0.8 Copyright......... Invalid DFU suffix signature A valid DFU suffix signature will be required in a future dfu-util release!!! Cannot open DFU device 1eaf:0003 No DFU capable USB device available

Стивестронг
Ср 16 мая 2018 г., 7:38
Видимо, вы установили драйвер DFU, но не сериал CDC.
Чтобы установить точку драйверов местоположение «arduino_stm32-master \ drivers \ win \ win_xp_legacy \» и флажок «Включить подкатализации».

Можете ли вы загрузить с Arduino IDE?
Когда IDE начинает загружать после завершения сборки, вам следует нажать кнопку сброса в течение 5 секунд.

Staticmem
Ср 16 мая 2018 г. 9:53
Я не понимаю, что ты просишь меня сделать.

Я могу сказать ему, чтобы обновить драйверы DFU, но тогда утверждается, что уже есть лучший драйвер. Хорошо, я удаляю его, чтобы снова заставать поиск. Когда я это делаю, я выбираю упомянутое вами местоположение каталога, но в нем сообщается «указанное вами местоположение не содержит никаких файлов информации об устройстве.

Нет флажества «Поиск в подкатализации».

В настоящее время нет устройства ACM. Просто установите загрузочный загрузчик, так почему он запрашивает драйвер для ACM?

На данный момент я не могу даже загрузить (или читать), используя «dfu-util».

Я не понимаю, как ACM участвует на этом уровне. Требуется ли это "dfu-util"? Есть несколько изменений загрузчика, который я подумал. Мы говорим об одном и том же? Maple Rev 1, Maple Rev3/Rev5 обсуждаются здесь: http: // docs.Leaflabs.com/static.Leaflab ... оадер.HTML

Стивестронг
Ср 16 мая 2018 г., 12:32
Какой IDE вы используете для загрузки?

Под Arduino Ide инструмент мигания должен работать из коробки.

Загрузчик STM32Duino, если это то, что вы используете (я не знаю ни одного «Arduino Bootler», который вы упомянули в своем первом сообщении), начинается в режиме DFU и после секунды он переключается на код пользователя, который по умолчанию по умолчанию использует USB -сериал. Таким образом, ваше хост-устройство (XP PC) сначала распознает вашу плату в качестве устройства DFU, затем оно должно повторно размер USB в COM-порт (USB-последовательный).

Вы удалили свой драйвер Com Port для Maple? Если нет, сделайте это сейчас, а затем позвольте диспетчере устройств искать его, с путем, включая серийный драйвер, а не DFU (хорошо, в XP не существует «включить подканализованные», я смешал с Win7).
https: // www.DriverEasy.com/знание/хо ... Indows-xp/

Staticmem
Чт 17 мая 2018 г. 1:44
Загрузчик, который я использую, от "STM32Duino-Bootloader-Master" и является "Generic_boot20_pb9.Bin »(7184 байт) в соответствии с платой студии LC, которую я использую (ссылка уже указана).

У меня нет Arduino IDE, установленной на XP. Не вижу причин, чтобы иметь это.

Я думаю, что проблема, с которой у меня не понимается.

Чтобы загрузить мой пользовательский код, который не основан на Arduino Build, я просто использую "DFU-UTIL". Моя пользовательская программа полностью кодирована в старом добром «C», и я использую свой собственный Makefile и использует библиотеки STM. Ранее перед загрузчиком я просто построил его для запуска по адресу 0x08000000 и использовал STM32Flash для прошивки. Теперь я хочу использовать загрузчик для загрузки на 0x08002000. Это работает отлично хорошо под Linux, и если бы это было только для меня, то я оставлю это при этом. Я просто пытаюсь получить его так, чтобы другие, которые я дал обновленной прошивке, для возможности легко обновлять прошивку для своих устройств, используя загрузочный загрузчик, и большинство из них будут пользователями Windows.

Поскольку все существующие подразделения, в настоящее время в поле, не установлены USB -загрузочный загрузчик.

Можем ли мы забыть о устройстве ACM на данный момент, так как нет пользовательской прошивки, используя его, так как мы не можем добраться до этой точки.
Стивестронг написал: "Запускается в режиме DFU, а через секунду он переключается на код пользователя, который по умолчанию использует USB Serial. Таким образом, ваше хост-устройство (XP PC) сначала распознает вашу плату в качестве устройства DFU, затем оно должно повторно размер USB в COM-порт (USB-последовательный)

Стивестронг
Чт 17 мая 2018 г., 7:04
Здесь мы поддерживаем только Ardunio IDE.

В любом случае, для пользовательской загрузки посмотрите, как это делает Arduino IDE:

https: // github.com/rogerclarkmelbourne/ ... #L110-L119
# Upload using Maple bootloader over DFU tools.maple_upload.cmd=maple_upload tools.maple_upload.cmd.windows=maple_upload.bat tools.maple_upload.path={runtime.hardware.path}/tools/win tools.maple_upload.path.macosx={runtime.hardware.path}/tools/macosx tools.maple_upload.path.linux={runtime.hardware.path}/tools/linux tools.maple_upload.path.linux64={runtime.hardware.path}/tools/linux64 tools.maple_upload.upload.params.verbose=-d tools.maple_upload.upload.params.quiet= tools.maple_upload.upload.pattern="{path}/{cmd}" {serial.port.file} {upload.altID} {upload.usbID} "{build.path}/{build.project_name}.bin"

Staticmem
Чт 17 мая 2018 г., 7:31
У меня есть Arduino Ide на моей коробке Linux. Я отредактировал сценарий, который он призывает, чтобы использовать «dfu-util» и повторить то, что он на самом деле делает. Для этого теста я использовал эскиз Blinkey из примеров STM32 и изменил светодиод на мою доску:

/home/staticmem/arduino/ardware/arduino_stm32 -master/tools/linux/dfu -util/dfu -util -d 1eaf: 0003 -a 2 -d/tmp/arduino_build_66769/stm32_lcstudio_blink.Ино.бин -р
DFU-UTIL 0.8

Загружает эскиз Blinkey, затем переключается в режим запуска и моргает светодиод.

В любом случае это Linux. Windows Arduino будет другим? Нет ничего, что я вижу, это не отличается от того, что я делаю в командной строке, если только DFU-UTIL, который Windows использует взломанную «DFU-UTIL» ?

Похоже, мне придется установить Arduino IDE на ноутбуке XP и посмотреть, будет ли он работать. Это если он даже будет работать под XP.

Как уже отмечалось, XP, похоже, не любит драйвер DFU в месте "win_xp_legacy", и это, похоже, проблема.

Стивестронг
Чт 17 мая 2018 г. 8:51
Как я уже говорил, у меня нет проблем с драйвером DFU на моей машине XP 32B, поэтому я предполагаю, что это нормально.
Вы можете использовать только Java и сценарий Java загрузки вместо полной установки Arduino IDE, также см maple_upload.летучая мышь Файл в .../инструменты/выигрышная папка и загрузка.шаблон, указанный в моем предыдущем посте.

Staticmem
Чт 17 мая 2018 г., 9:03
Стивестронг написал: Как я уже говорил, у меня нет проблем с драйвером DFU на моей машине XP 32B, поэтому я предполагаю, что это нормально.

Staticmem
Вторник 29 мая 2018 г. 12:15
До сих пор я не могу получить поддержку DFU в соответствии с XP, работая независимо от того, из -за проблем с драйвером, устаревшего процесса или самой утилиты, которую я не знаю. XP не так важен, но это единственный тестовый кровать Windows, который у меня сейчас есть на реальном оборудовании.

Поэтому я попросил друга проверить программу «DFU-UTIL» в рамках 64-битной системы Windows 10.

Было обнаружено, что «dfu-util-static.exe "отказывается распознавать устройство DFU. Итак, он схватил DFU-UTIL-0.9-Win64.Zip отсюда - https: // sourceforge.net/projects/dfu-util/files/
Этот сорт работает, но, по-видимому, имеет ошибку, как показано ниже. При проверке флэш -памяти она, по -видимому, вспыхнула полностью, но достигает 96 или 98 процентов, затем выходит с сообщением об ошибке.

Файл FW составляет 65772 байт длиной. Даже при попытке меньшего двоичного файла он допускает ту же ошибку.
dfu-util -d 1EAF:0003 -a 2 -D firmware_0x08002000.bin -R dfu-util 0.9 Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc. Copyright 2010-2016 Tormod Volden and Stefan Schmidt This program is Free Software and has ABSOLUTELY NO WARRANTY Please report bugs to http://sourceforge.net/p/dfu-util/tickets/ Invalid DFU suffix signature A valid DFU suffix will be required in a future dfu-util release!!! Opening DFU capable USB device... ID 1eaf:0003 Run-time device DFU version 0110 Claiming USB DFU Interface... Setting Alternate Setting #2 ... Determining device status: state = dfuIDLE, status = 0 dfuIDLE, continuing DFU mode device DFU version 0110 Device returned transfer size 1024 Copying data from PC to DFU device Download [======================== ] 96% 64512 bytesError sending completion packet

Пито
Вторник 29 мая 2018 г. 10:16
ViewTopic.PHP?F = 39&T = 2386&P = 32281&Хилит ... Til#P32281

Staticmem
Ср 30 мая 2018 г., 9:38 утра
[Пито - Вторник 29 мая 2018 г. 10:16] - ViewTopic.PHP?F = 39&T = 2386&P = 32281&Хилит ... Til#P32281
Хм, что в этом посте, которое поможет в этой ситуации?. Я думаю, вы также упоминаете где -то, что построили свой собственный бинар? Или вы используете один arduino_stm32-master/tools/win/dfu-util-0.9-Win64

Кроме того.

ошибка micros ()??