DFU/загрузка не идеально работает

астер
Чт, 06 апреля 2017 г. 11:05
Так что кулак всех спасибо, что принесли такой мощный MCU в хобби : D
Тогда я знаю, что это не «продукт» в том смысле, что он должен быть идеальным. В любом случае у меня есть скучные проблемы, загружая наброски на моем Maple Mini
Обычно, чтобы загрузить новый, мне нужно нажать сброс, а затем кнопку пользователя 32, я где -то читал, что таким образом он идет в другом режиме загрузчика (светодиод довольно быстро мигает), верно?
Другая проблема заключается в том, что если я не ошибаюсь каждый раз, когда я открываю серийный порт, доска должна сбросить, это не произойдет

аппаратное/программное обеспечение:
Maple Mini (клон aliexpress)
Linux Ubuntu 16.04 64 бит
Bootloader 2.0
Установлен пакет DFU-UTIL
Правила, как описано в вики, добавлены

Вывод LSUSB: Шина 002 Устройство 002: ID 8087: 0024 Intel Corp. Интегрированный центр соответствующего тарифа
Шина 002 Устройство 001: ID 1D6B: 0002 Linux Foundation 2.0 корневой центр
Шина 001 Устройство 003: ID 04F2: B404 Chicony Electronics Co., ООО
Шина 001 Устройство 002: ID 8087: 0024 Intel Corp. Интегрированный центр соответствующего тарифа
Шина 001 Устройство 001: ID 1D6B: 0002 Linux Foundation 2.0 корневой центр
Шина 004 Устройство 001: ID 1D6B: 0003 Linux Foundation 3.0 корневой центр
Шина 003 Устройство 047: ID 1EAF: 0004
Устройство шины 003 002: id 1d57: fa20 xenta
Шина 003 Устройство 001: ID 1D6B: 0002 Linux Foundation 2.0 корневой центр
dmesg: [7575.010217] USB 3-2: USB отключить, номер устройства 47
[7579.950074] USB 3-2: новый полноступный USB-устройства № 48 с использованием xhci_hcd
[7580.091227] USB 3-2: новое USB-устройство, Idvendor = 1EAF, IDProduct = 0003
[7580.091232] USB 3-2: Новые строки USB-устройства: MFR = 1, продукт = 2, серийный доход = 3
[7580.091234] USB 3-2: Продукт: Maple 003
[7580.091237] USB 3-2: Производитель: Leaflabs
[7580.091239] USB 3-2: SerialNumber: LLM 003
[7581.453636] USB 3-2: USB отключить, номер устройства 48
[7581.750083] USB 3-2: новый полноступный USB-устройства № 49 с использованием xhci_hcd
[7581.891284] USB 3-2: Найдено новое USB-устройство, idvendor = 1EAF, IDProduct = 0004
[7581.891287] USB 3-2: Новые строки USB-устройства: MFR = 1, продукт = 2, серийный. = 0
[7581.891300] USB 3-2: Продукт: Клен
[7581.891301] USB 3-2: Производитель: Leaflabs
[7581.891720] cdc_acm 3-2: 1.0: ttyacm0: USB ACM -устройство
IDE вывод, когда он не загружает эскиз: Архивирование встроенного ядра (кэширование) в:/tmp/arduino_cache_492532/core/core_arduino_stm32_stm32f1_maplemini_bootloader_version_bootloader20, cpu_speed_speed_48mhz_8ad891375d27bd2b9666666666666666666666666666.а
Lo Sketch USA 13084 Byte (10%) Dello Spazio Disponibile на I Программа. Il Massimo è 122880 байт.
Le variabili Globali USANO 2816 BYTE DI MEMORIA DINAMICA.
/media/vincenzo/harddisk/horesh/programmi/arduino/armware/arduino_stm32/tools/linux/maple_upload: riga 29:/media/vincenzo/harddisk/resporm/arduino/hardware/arduino_stm32/linoux/upload-resetes : Файл o Directory non esistente
DFU-UTIL 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte и OpenMoko Inc.
Copyright 2010-2014 Тормод Волден и Стефан Шмидт
Эта программа является бесплатным программным обеспечением и не имеет абсолютно никакой гарантии
Пожалуйста, сообщите об ошибках dfu-util@списки.гнумонки.орг

DFU-UTIL: недействительный суффикс DFU
DFU-UTIL: действующий суффикс DFU потребуется в будущем выпуске DFU-UTIL!!!
DFU-UTIL: USB-устройство, способное USB, не имеется
Errore Durante il Caricamento Dello Sketch
Вывод IDE, когда я захожу в другой режим, поэтому я могу загрузить эскиз: Lo Sketch USA 13084 Byte (10%) Dello Spazio Disponibile на I Программа. Il Massimo è 122880 байт.
Le variabili Globali USANO 2816 BYTE DI MEMORIA DINAMICA.
/media/vincenzo/harddisk/horesh/programmi/arduino/armware/arduino_stm32/tools/linux/maple_upload: riga 29:/media/vincenzo/harddisk/resporm/arduino/hardware/arduino_stm32/linoux/upload-resetes : Файл o Directory non esistente
DFU-UTIL 0.8

Copyright 2005-2009 Weston Schmidt, Harald Welte и OpenMoko Inc.
Copyright 2010-2014 Тормод Волден и Стефан Шмидт
Эта программа является бесплатным программным обеспечением и не имеет абсолютно никакой гарантии
Пожалуйста, сообщите об ошибках dfu-util@списки.гнумонки.орг

Открытие USB -устройства DFU...
ID 1EAF: 0003
Устройство времени выполнения DFU версия 0110
Заявление USB DFU интерфейс...
Настройка альтернативной настройки #2 ...
Определение статуса устройства: состояние = dfuidle, status = 0
Dfuidle, продолжая
DFU MODE DEVICE DFU Версия 0110
Устройство возвращалось размер передачи 1024
Копирование данных с ПК на устройство DFU
DFU-UTIL: недействительный суффикс DFU
DFU-UTIL: действующий суффикс DFU потребуется в будущем выпуске DFU-UTIL!!!

Скачать [] 0% 0 байтов
Скачать [=] 7% 1024 байт
Скачать [===] 14% 2048 байт
Скачать [=====] 21% 3072 байта
Скачать [======] 29% 4096 байтов
Скачать [=========] 36% 5120 байтов
Скачать [==========] 43% 6144 байт
Скачать [============] 50% 7168 байтов
Скачать [==================================================================================================================================================================================== = 58% 8192 байт
Скачать [================] 65% 9216 байтов
Скачать [=================] 72% 10240 байтов
Скачать [==================] 79% 11264 байт
Скачать [=======================] 87% 12288 байт
Скачать [=========================. 94% 13084 байт
Скачать [========================] 100% 13084 байт
Скачать сделано.
состояние (8) = dfumanifest-wait-reset, status (0) = Условие ошибки не присутствует
Сделанный!
Сброс USB для переключения обратно в режим времени выполнения
Я должен уточнить, что я любитель хобби на первых тестах с Linux (установлен вчера), даже если я пытаюсь изучать столько, насколько я могу иногда я не могу решить такие проблемы самостоятельно... Я думаю, что написал все, что знаю, любая помощь будет очень оценена!

ZMEMW16
Пт 07 апреля 2017 г. 2:47 утра
Да, нажмите сброс, если у вас есть только одно устройство подключено, проверьте выбранное порт.

У меня обычно подключен более одного последовательного порта, порт должен будет выбирать правильно, только если он не последний последовательный интерфейс подключен.
Я подключаю, в последовательности
Открыть логический сниффер on /dev /ttyacm0
usb-serial1 on/dev/ttyusb0, подключить uart1 pa9/pa10, & GND почти всегда
usb-serial2 on /dev /ttyusb1, connect, может быть, на UART2
Затем я подключаю плату, которая обычно составляет/dev/ttyacm1or/dev/ttyusb2, если я подключаю ее перед USB-сериалами, то ее необходимо будет снова выбрать между ttyusb0 и ttyusb2/3 как ttyusb1 (и ttyusb2? ) используется / используется
Stlink обычно, но он не нанесен на карту /dev /tty*

Это в основном потому, что я также использую голый металл с библиотекой Unicore-MX. Я всегда загружаю через Stlink на любой.
Кстати, что /dev /ttyacmn увеличивает сброс?? или это последовательность мощности, предел - ttyacm31

Стивен

AG123
Пт 07 апреля 2017 г. 13:36
Обычный «привет мир» - это моргнуть светодиод
Для Maple Mini (клоны) светодиод обычно находится на борту, и я думаю, что мигающий набросок Arduino 'Hello World' в значительной степени работает из коробки
https: // www.Ардуино.cc/en/turniory/mlink

Если что -то не сработало, поищите макеты доски и схемы, чтобы увидеть, где маршрутизируются эти булавки
Хорошие источники информации в вики
http: // wiki.STM32duino.com/index.PHP?тип ... 103_boards
http: // wiki.STM32duino.com/index.PHP?title = maple_mini
http: // wiki.STM32duino.com/index.PHP?title = blue_pill

астер
Пт 07 апреля 2017 г. 16:27
Спасибо Стивен за ответ
Честно говоря, я бы не сказал, что это вилка и игра :? Порт нуждается в правильном выборе, только если он не последний последовательный интерфейс подключен.
Интересно, что я не знал этого, теперь я понял причину, по которой он не работал!
Я думаю, что ваш подход использования ACM0 для программирования и PA9/10 для сериала является лучшим. Если честно, я не понял все ваше сообщение

Где -то я прочитал, что Maple Mini меняет индексацию последовательных портов, может кто -то подтвердить это?

AG123 Плата - это Maple Mini, как в разложенной вами ссылке

ZMEMW16
Пт 07 апреля 2017 г., 19:21
Это логика OpenBench Logic на ACM0, подключите до 16 цифр и захват до 200 МГц. Да, я тоже в это верю :)
Буфер составляет всего 24 тыс., Так что в короткие сроки по скорости.
также все, что подключается к цели, это сигналы и земля, за исключением того, что вы от нее питаете.
Если доски USB - это последнее, что связано, он останется последним
отдых прибудет с возрастом : D Не видя языка в щеке смайлика

Стивен

AG123
Пт. 07 апреля 2017 г. 22:28
Попробуйте поместить Maple Mini в режиме вечного загрузчика:
http: // docs.Leaflabs.com/static.Leaflab ... режим оадера
ViewTopic.PHP?F = 32&P = 25537#P25537
https: // www.YouTube.com/watch?v = rvniekuxsxm

Режим вечного загрузчика загрузки сохраняет Maple Mini в режиме DFU, который необходим для установки эскиза
Я задокументировал свою первоначальную борьбу с новичками во 2 -й ссылке выше

астер
Пн 10 апреля 2017 г., 22:04
Спасибо, пост и видео, которое вы разместили, помогли мне понять, как правильно вставить в режиме DFU (прежде чем я просто нажимал на них случайным образом)

Я хотел бы задать вам несколько вопросов, так как вы выглядели так, как будто у вас были мои идентичные проблемы/вопрос, используя эту доску. Я хотел бы сказать, что я уже использую это, и это работает, но я люблю понимать «вещи»
Режим DFU = режим постоянной загрузки = boot0 1 & Boot1 0 (Sistem Memory)?
Что, кстати, память ОЗУ? Я помню, что в первый раз, когда я подключил клен в своем ПК, светодиод начал мигать сверхскоростно, это был этот режим? Или это был оригинальный загрузчик?
Почему я мог выбрать скорость процессора 72 и 48? Есть особая причина? Не рассматривая текущие проекты сбережений

Стивестронг
Вт 11 апреля 2017 г. 7:35 утра
Астер написал:Почему я мог выбрать скорость процессора 72 и 48? Есть особая причина? Не рассматривая текущие проекты сбережений

AG123
Вт 11 апреля 2017 г. 14:23
Астер написал:Спасибо, пост и видео, которое вы разместили, помогли мне понять, как правильно вставить в режиме DFU (прежде чем я просто нажимал на них случайным образом)

Я хотел бы задать вам несколько вопросов, так как вы выглядели так, как будто у вас были мои идентичные проблемы/вопрос, используя эту доску. Я хотел бы сказать, что я уже использую это, и это работает, но я люблю понимать «вещи»
Режим DFU = режим постоянной загрузки = boot0 1 & Boot1 0 (Sistem Memory)?
Что, кстати, память ОЗУ? Я помню, что в первый раз, когда я подключил клен в своем ПК, светодиод начал мигать сверхскоростно, это был этот режим? Или это был оригинальный загрузчик?
Почему я мог выбрать скорость процессора 72 и 48? Есть особая причина? Не рассматривая текущие проекты сбережений

астер
SAT 15 апреля 2017 г. 15:59
Очень полезный пост AG123, я отвечаю только сейчас, так как я хотел проверить загрузку с DFU-UTIL, и эти праздники дали мне время
Если бы я не понял неправильно с командой -a, я могу выбрать, где хочу поставить свой эскиз
Так что я не могу выбрать -a 0, так как это начало памяти ОЗУ, где есть загрузчик
-1/2 я загрузил .корзин с использованием загрузчика платы

Есть что -то странное, чего я не понимаю, почему я мог бы загрузить эскиз в позиции 0x8005000 или 0x8002000? Обычно кто -то хочет загрузить в конце загрузчика, поэтому я должен установить -a 2 (0x8002000), когда я пытался с -A 1, он не сработал!

В любом случае, просто для вашего удовольствия я бы сказал вам, что я подумал, что смог загрузить эскиз, используя любой USB-серийный преобразователь, завернутый на сериал1 :рулон: Я куплю клон ST-Link, так как они дешевы, и если я когда-нибудь свяжусь с загрузчиком, я смогу загрузить его снова

AG123
Пн 17 апреля 2017 г. 22:12
Привет астр,
Ваш загрузочный загрузчик - загрузчик Stock или загрузчик STM32Duino Bootloader?
Чтобы сказать, что вам нужно запустить dfu -util -l в командной строке
Поиск этого, Gote The Directory, в котором вы установили Arduino IDE, и запустите найти . -Название dfu-util find . -name dfu-util ./hardware/Arduino_STM32/tools/linux64/src/dfu-util ./hardware/Arduino_STM32/tools/linux64/dfu-util ./hardware/Arduino_STM32/tools/linux64/dfu-util/dfu-util ./hardware/Arduino_STM32/tools/linux/src/dfu-util ./hardware/Arduino_STM32/tools/linux/dfu-util ./hardware/Arduino_STM32/tools/linux/dfu-util/dfu-util

астер
Вт 18 апреля 2017 г., 19:56
У меня есть загрузчик STM32duino 2.0. Это был мой инаугурационный эскиз доски, так как он был загружен как первое
Я уже немного играл с DFU-UTIL, в последнем посте я написал вам, что не смог загрузить .Бин с использованием «-a 1», и мне было интересно, почему этот адрес все еще существует, так как использует STM32Duino Bootloader, я должен быть в состоянии загрузить по телефону 0x8002000, а не 0x8005000

Это не что -то важное, это просто глупое любопытство

ZMEMW16
Вторник 18 апреля 2017 г. 11:49
Ну, часть А идеально подходит

Я склонен использовать только яйцо ST-Link для загрузки на JTAG 20W
Попробуя различные версии F407 (HAL/Libmaple), я заметил, что перезапуск не всегда происходит.
Тогда сброс всегда делает, но не уверен, что всегда перекомпилируется и загружается?

кстати
Черный F4VET v F4ZET, нотация на схеме ветеринара говорит, что FSMC_A18 для VET, ZET упоминается дважды, FSMC_A6 для ZET и LCD_BL только (WAG) для ZET на FSMC_NE4

Стивен

астер
Ср 19 апреля 2017 г. 7:25 утра
О ссылке ST я только что видел эту тему: http: // www.STM32duino.com/viewtopic.PHP?t = 122
Я совершенно уверен, что даже для Blackpill это сработало бы, и таким образом я должен иметь более мощный программист, чем у ST Link (даже если я пока не имею представления о том, как делать в Chip отладку)

AG123
Ср 19 апреля 2017 г. 8:16
Я думаю, что зонд черной магии с открытым источником-это нечто хорошее, чтобы попробовать, я не пробовал это сам, он работает несколько по-другому по сравнению с такими, как ST-Link или этими Openocd FT2232 на базе JTAG/SWD

Я думаю, что BMP запускает сервер GDB на самом SOC, что означает, что, вероятно, даже такие вещи, как OpenOCD, не нужны, вы, скорее всего, подключиться к нему напрямую от GDB

В каком-то смысле «Quo Quo Debug/Flash Interfaces»-это такие вещи, как ST-Link (который является уместностью ST) и OpenOCD FT2232 JTAG/SWD. Но я думаю, что нам не нужно будет продолжать придерживаться «статус -кво», BMP может быть хорошей альтернативой в этом смысле. Лучше всего, казалось бы, его можно вспыхнуть на любых синих таблетках или Maple Mini
(Но небольшой улов в том, что вам может понадобиться ключ UART или St-Link из первых рук, чтобы вспыхивать по телефону 0x8000000)

Другой способ-использовать запасную синюю таблетку/Maple Mini и прошить «эскиз», который в основном превращает USB-сериал в USB-UART : D

всего 2 цента

астер
Чт 20 апреля 2017 г. 20:18
Но небольшой улов в том, что вам может понадобиться ключ UART или St-Link из первых рук, чтобы вспыхивать на 0x8000000 Я думал, что смог прошить программное обеспечение BMP после загрузчика :?

AG123
Пт 21 апреля 2017 г. 5:33 утра
Вы можете попробовать это, только что вам нужно построить из источника и
В ваших сценариях LD вам нужно обновить начало Flash, чтобы оно было смещено вдали от 0x8000000, оставив место для загрузчика
эн.глин. MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K FLASH (rx) : ORIGIN = 0x08005000, LENGTH = 108K ...

Arduino 1.6.6 aka Nightly Build