Blue Pill Board, кирпичная от Maple Mini Updater.Ино

Петр
Ср 24 мая 2017 г. 14:16
Привет,

У меня была синяя таблетка с загрузчиком STM32Duino, работающего годами. Затем я узнал, что загрузчик недавно был обновлен и теперь быстрее, поэтому я подумал, что обновлю его. И так как Роджер предложил мне посмотреть на обновления.Ино эскиз в другой ветке, я попробовал. Я читал, что это было только для Maple Mini, но я думал, что синие таблетки были достаточно близки к оборудованию, так что обновление загрузчика будет работать.

Теперь синие таблетки кирпич. В обычном режиме USB остается в 1EAF: 0003, сброс не меняет его (это постоянный режим, о котором я где -то читал?), эскиз не может быть загружен.

Когда я попытался перепрофировать загрузчик, используя STM32FLASH (серийный к выводам PA9/PA10, переключенным перемычкам 0). Я получил следующее сообщение:
Интерфейс serial_posix: 57600 8e1
Не удалось прочитать ACK Byte
Неожиданный ответ с устройства на команде 0x01
Любая идея, как воскресить, пожалуйста?

Редактировать 18 июня
Хорошие новости: синие таблетки не кирпич. Его можно воскресить с помощью булавок PA9/10 и STM32FLASH.

Я подтвердил, что приведенная выше проблема (неработающая STM32FLASH) вызвана использованием адаптера на основе CH340G на основе USB-UART в Ubuntu 16.04. У этого Ubuntu есть ядра Linux 4.4 и в этой версии (и все другие версии < 4.12) Linux не поддерживает паритет на CH340G. К сожалению, STM32Flash использует режим 8E1 (даже паритет), поэтому он не может подключиться к STM32.

Возможные решения: использование адаптера USB-UART на основе CP2102 (подтвержденная работа), используя более новое ядро ​​Linux (еще не пробое), используя различные ОС, такие как MS Windows (не будет пробовать).

victor_pv
Ср 24 мая 2017 г. 15:32
Эскиз для обновления предназначен для Maple Mini и Mini Clones, которые имеют определенную схему для повторного USB.

Вам нужно обновить загрузчик с помощью Stlink или внутреннего загрузчика, как вы пытаетесь.

Маловероятно, что мини -загрузчик зарисовал MCU, но не невозможно. Maple Mini управляет выводом в качестве вывода для управления USB -перечислением. Если бы у вас был этот штифт, подключенный к VCC или GND, он бы вызвал короткий.
При этом я не помню кого -либо на форуме, на самом деле наносил нанесение вреда MCU только неправильным загрузчиком до сих пор.

Эскиз для обновления можно использовать для обновления загрузчика Bluepill, если вы его измените. Вам необходимо преобразовать файл bin bin -загрузчика в шестнадцатеричную текстовую строку и заменить тот, который в эскизе, который соответствует мини -.

Петр
Ср 24 мая 2017 г. 15:39
victor_pv написал:Вам нужно обновить загрузчик с помощью Stlink или внутреннего загрузчика, как вы пытаетесь.

victor_pv
Ср 24 мая 2017 г. 15:42
Петр написал:victor_pv написал:Вам нужно обновить загрузчик с помощью Stlink или внутреннего загрузчика, как вы пытаетесь.

Рик Кимбалл
Ср 24 мая 2017 г. 15:43
У меня никогда не было случая, когда загрузчик UART на основе ROM не работал. Вы только что устанавливаете Boot0 High и Boot1 Low и нажимаете сброс. Устройство должно сидеть там, ожидая поговорить с STM32Flash на USART1

Вы уверены, что у вас есть PINS TX/RX PRIND?

Петр
Ср 24 мая 2017 г. 16:56
Рик Кимбалл написал:У меня никогда не было случая, когда загрузчик UART на основе ROM не работал. Вы только что устанавливаете Boot0 High и Boot1 Low и нажимаете сброс. Устройство должно сидеть там, ожидая поговорить с STM32Flash на USART1

Рик Кимбалл
Ср 24 мая 2017 г., 17:01
Разместите фотографию того, как у вас есть

Рик Кимбалл
Ср 24 мая 2017 г., 17:10
Петр написал:Попробуйте запустить обновление.Ино эскиз на твоей синей таблетке :-)

Петр
Ср 24 мая 2017 г., 17:18
«Забитый» означает, что его больше нельзя использовать без какой-либо (обычно высокого уровня) хирургии. Эта синяя таблетка больше не принимает наброски через USB. UART1 общение тоже не работает. Я считаю, что он очень хорошо соответствует «кирпичнику» термину (по крайней мере, пока я не найду оборудование ST-Link и не смогу воскресить его).

Рик Кимбалл
Ср 24 мая 2017 г., 17:25
Самое простое решение - прислать мне свое устройство. Я использую его и купите новый ;)

Эдогальдо
Ср 24 мая 2017 г. 18:08
Петр написал:STM32Flash получает некоторый ответ, он просто не действителен.

Рик Кимбалл
Ср 24 мая 2017 г., 19:03
Загрузчик STM32Flash зависит от Python, верно? Какая версия Python используется? Afaik флеш -погрузчик совместим с V2.6, но не с v3
У меня была аналогичная проблема, запуская погрузчик с Python V3
Это зависит от вашей ОС, от Linux и OSX, это компилированная C -программа.

Петр
Ср 24 мая 2017 г. 8:08 вечера
Я попробовал три разных двоичных файла STM32Flash: одна самоубийство (из SourceForge.net), а затем 32-битные и 64-битные двоичные файлы от STM32Duino.Com Distro. То же результаты.

Я также попробовал два разных USB-адаптере с чипсетами CP2102 и CH340G. Нет разницы.

Я попытался питать синюю таблетку на 3.3 В, а также 5 В. Те же результаты (кстати, в кирпичном состоянии он потребляет 11 мА).

Что еще? Я собираюсь построить бинарное звание ST-Link для Linux прямо сейчас.

Петр
Ср 24 мая 2017 г., 21:07
К вашему сведению, исправлена ​​путем съемки правильного загрузчика с помощью аппаратного обеспечения ST-Link.

Теперь я могу вернуться к своему проекту OTA Update.

Rogerclark
Ср 24 мая 2017 г., 21:52
Эдогальдо написал:Петр написал:STM32Flash получает некоторый ответ, он просто не действителен.

Fredbox
Чт 25 мая 2017 г., 22:39
Если 57600 не работает с инструментом Flash STM, попробуйте 115200 или 230400.
У меня есть несколько синих таблеток, которые не распознаются в 57600, но работаем нормально.

Петр
Чт 25 мая 2017 11:14
Попробовал 115200, не помог.

Rogerclark
Чт 25 мая 2017 г., 23:26
У вас есть TX и RX по правильному пути ?

Даже если вы думаете, что они правы, я бы попытался обмениваться их

Петр
Пт 26 мая 2017 г. 6:13
Ребята, вы, кажется, продолжаете забывать, что я прошивал загрузчик через UART на эту самую доску раньше. Так что я знаком с проводкой и всем процессом, я сделал это с учетом успеха (хотя это было давно).

Я не знаю, почему вы не можете признать, что Правление не реагирует на деятельность Serial1. Если вы никогда не видели этого раньше, просто продолжайте и используйте обновленный.Ино на собственной синей таблетке.

Кроме того, два дня назад я возродил доску, используя ST-Link, и теперь я снова с радостью взламываюсь от нее, чтобы мы могли закрыть эту проблему и нить. Если кто -то еще когда -либо сталкивается с аналогичной проблемой, мы можем предложить им напрямую пойти на ST -Link - это действительно помогает.

И да, Роджер, я попытался заменить RX/TX один раз, так как я действительно отчаялся, когда вы предлагали правильно подключить RX и TX. Это не помогло :)

Rogerclark
Пт 26 мая 2017 г. 6:29
Я предложил обмениваться TX и RX, потому что разные USB -серийные ключи маркируют их по -разному

У меня есть кое -что, что я должен подключить TX к TX (RX к RX), а некоторые, где я должен обмениваться.

Я понятия не имею, почему вы больше не можете подключаться к MCU через серийный USB, так как эта функция является частью кремния MCU.
Теоретически нет способа отключить это.

Если вы можете загрузить через STLINK, вы можете проверить, что у вас нет случайного повреждения.глин. ESD на любом штифте и т. Д.

Петр
Пт 26 мая 2017 г., 19:07
Я только что протестировал выводы PA9 и PA10, DigitalRead () / DigitalWrite () работает нормально на них.

Я снова попробовал бинар STM32Flash (оба самоубийства / из пакета STM32Duino), не работает (57600, 115200, 230400). ~/arduino-1.8.2/armware/stm32/tools/linux/stm32flash $ ./stm32flash /dev /ttyusb0
STM32FLASH ARDUINO_STM32_0.9

http: // GitHub.com/rogerclarkmelbourne/arduino_stm32

Интерфейс serial_posix: 57600 8e1
Не удалось прочитать ACK Byte
Неожиданный ответ с устройства на команде 0x01
Наконец -то у меня есть идея тестирования с использованием serial1.println () - работает правильно.

Если, как вы говорите, UART1 находится в кремнии, то единственной неисправной вещью может быть STM32Flash. Но я использовал тот же инструмент для хромования загрузчика STM32Duino несколько лет назад (даже та же версия: 0.4).

Рик Кимбалл
Пт 26 мая 2017 г., 21:18
https: // www.Eevblog.com/forum/projects/ ... -on-linux/

Может быть?

У вас есть настоящий ключ FTDI или настоящий Arduino с чипом FTDI?

Петр
Пт 26 мая 2017 г., 21:54
Рик, я действительно использовал CP2102 и CH340G - оба упоминаются как не работающие в вашем сообщении на форуме... Однако в своих заметках 2015 года я прочитал, что я использовал (китайский) адаптер USB-сериал. Может, тогда у меня был другой?

У меня нет настоящего FTDI, но, возможно, я могу использовать Arduino Nano или Maple Mini в качестве адаптера USB-сериала.

Это становится интересным, поэтому я буду держать вас в курсе. Начинает выглядеть так, будто я идиот с Linux. Это было бы хорошим результатом этого обвинения в кирпике документировать, что использование UART1 на STM32 в Linux требует более одного доллара USB -адаптера.

Рик Кимбалл
Пт 26 мая 2017 г. 22:06
FWIW: Я добился успеха с настоящим FTDI FT232R-, китайским клоном FTDI FT232R и плодовитым PL2303.

Rogerclark
Пт 26 мая 2017 г., 22:13
В Windows мне удалось подключиться, используя те же устройства, что и Rick.

Но даже используя официальный инструмент EXE на основе GUI на основе графического интерфейса, я обнаружил, что некоторые платы нуждаются.

Первая доска STM32, которую я купил («уродливая доска»), была особенно плохим, и мне потребовалось целый ряд, чтобы загрузить что -нибудь на него.

Рик Кимбалл
Пт 26 мая 2017 г., 22:22
Рик Кимбалл написал:FWIW: Я добился успеха с настоящим FTDI FT232R-, китайским клоном FTDI FT232R и плодовитым PL2303.

Петр
Сб 27 мая 2017 г., 8:31 вечера
К вашему сведению, у меня, кажется, идентичный адаптер на основе CP2102, но я не могу подключить STM32Flash с ним. Возможно, это (полу-) мертвый. Я помню, как оставил это несколько лет назад в пользу CH340G. И я также вспомнил, что мой самый первый USB-сериал был основан на PL2303, но я продал его несколько лет назад. Так что, возможно, я пропустил загрузчик в синюю таблетку, используя PL2303 в то время.

Да, я только что проверил CP2102 как простые USB-сериал, и он действительно мертв.

Хм. Я собираюсь заказать один адаптер на основе CP2102 или обновить до ядра 4.12 (это поставляется с фиксированным драйвером CH340G).

AG123
Солнце 28 мая 2017 г. 6:18
Я немного откладывал по этому поводу, но я думаю, что использование запасной синей таблетки или Maple Mini в качестве устройства USB-сериала (UART) может быть неплохой идеей, в конце концов, как кажется, есть набросок, который мостовой пакеты между серийным (USB -серийным) до твердой (UART) E.глин. Serial1. Вы можете изменить параметры на эскизе E.глин. Скорость передачи, останавливаться на битах и ​​т. Д. И прокляйте его с синими таблетками / Maple Mini, чтобы использовать его. Чтобы быть немного причудливым, можно было бы добавить немного «в командах интерпретатора» и т. Д. всего 2 цента

Рик Кимбалл
SAT 03 июня 2017 г. 20:58
AG123 написал:Я немного откладываю по этому поводу, но я думаю, что использование запасной синей таблетки или Maple Mini в качестве устройства USB-сериала (UART) может быть неплохой идеей...

Joxo989
SAT 03 июня 2017 г. 22:00
>Было бы весело взломать интерфейс отладчика и настроить его как двойной USB -> серийный ключ.

STM32F103-DualCDC доступен здесь:

url = https: // github.com/x893/stm32f103-dualcdc.git

Rogerclark
SAT 03 июня 2017 г. 22:26
Рик

Насколько я могу судить, цель Stlink не имеет функционального UART, но у Swlink есть UART, и работает на BP

По совпадению, вчера я создаю модифицированную версию кода Swlink для работы на байт -ключах Stlink, которые у меня есть (как у них F103C8), я сохранил картирование Alt PIN UART, но должен перенести SWDIO и SWCLK

Я не уверен, будет ли BMP работать на обычных дешевых ключах Stlink, которые вы можете купить за несколько долларов, но они часто используют F101 или меньший процессор.

КСТАТИ. Я думаю, что Baite больше не использует F103 на их Stlink :-(

Рик Кимбалл
Солнце 04 июня 2017 12:24
Он работает на чертеже. Я проверил это до того, как опубликовал здесь. Работает нормально, за исключением ограничений скорости, которые я отметил. Вы должны отключить кабель, чтобы заставить его перечислять.

https: // github.com/blacksphere/blackmag ... Орм.H#L114

Rogerclark
Солнце 04 июня 2017 2:23
Рик

Оппс. Не видел определения UART 2.

Цель Swlink кажется лучше для некоторых из сильных ключей E.глин. Смотрите этот пост

http: // www.STM32duino.com/viewtopic.PHP?T = 1357&начало = 11

В частности, эта схема http: // www.Avrki.ru/picture/stude/sa ... ink_v2.JPG

Цель SWLINK использует UART1, но на своих альтернативных булавках (PB6 и PB7), которые должны подключаться к Swim_rst и Swim, однако, когда я попробовал его на своем ключе, она, похоже, не работает.

Мне нужно отладить его на BP, у которого нет нагрузки, соединенных вместе, так как есть вероятность, что один из других контактов, подключенных к печатной плате с PB6 или PB7, управляет PIN,

Либо это, либо в коде BMP есть пропущенная конфигурация.

Петр
Солнце 18 июня 2017 г. 9:44
Я вернулся, как только что наступил мой новый адаптер CP2102 USB-UART. Я могу подтвердить, что он работает правильно на Ubuntu 16.04 с 4.4 ядра, в то время как адаптер на основе CH340G не подключается через PA9/10 - скорее всего, потому что его драйвер Linux не обрабатывает 8E1 (даже паритет).

CP2102: unsigned long MYSQROOT(unsigned long val) { asm volatile ( " ldr r3, =0x8000 \n\t" " mov r2, r3 \n\t" "Loop2: mul r1, r3, r3 \n\t" " cmp r0, r1 \n\t" " beq Done2 \n\t" " bgt Cont2 \n\t" " sub r3,r3,r2 \n\t" "Cont2: asrs r2, #1 \n\t" " cbz r2,Done2 \n\t" " add r3,r3,r2 \n\t" " b Loop2 \n\t" "Done2: mov r0, r3 \n\t" " bx lr \n\t" ) ; return val; };

Маллок висит