Скетч не грузится в плату

Добрый вечер! Помогите!
Прошил блюпил через 32Cub. Первая прошивка размером < 10 КБ совсем левая, но чаще встречается в ссылках. У нормальной объем ~22.3 КБ. Ардуино плату признала, но скетч не грузится:
Скетч использует 17172 байт (13%) памяти устройства. Всего доступно 131072 байт.
Глобальные переменные используют 2272 байт (11%) динамической памяти, оставляя 18208 байт для локальных переменных. Максимум: 20480 байт.
“java” �� ���� ����७��� ��� ���譥�
��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
Причем “загрузка” пролетает за полсекунды.
Когда грузим ESP32 Lolin, виден такой процесс:
esptool.py v3.0
Serial port COM7
Connecting…
Chip is ESP8266EX
Features: WiFi
Crystal is 26MHz
MAC: 5c:cf:7f:6d:6a:a0
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Auto-detected Flash size: 4MB
Flash params set to 0x0340
Compressed 266192 bytes to 196202…
Writing at 0x00000000… (8 %)

Writing at 0x0002c000… (100 %)
Wrote 266192 bytes (196202 compressed) at 0x00000000 in 17.4 seconds (effective 122.7 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin…

и соответственно результат…
Что же не так с синей пилюлей?
Я новичок, благодарен каждому толковому совету!

Всё таки наверно ESP8266

пилять… Что такое “нормальная прошивка 22к” ? - вы что все, с ума посходили, думаете для каждого МК где-то лежат все доступные прошивки, что ли?:)))
Какую прошивку наваяете - такой размер и будет. Неужели это не очевидно?

А ничего что это совсем другой контроллер, совсем другого семейства, а? Какая связь с СТМ32?

Это все равно спросить - “Когдя я включаю радио, мне рассказывают новости, а когда утюг - он почему-то молчит! Наверно мой утюг сломался?”

2 лайка

ESP32 - пардон, спутал. Конечно 8266

  1. Какая ссылка на прошивку USB-загрузчика была, той и воспользовался.
    Программирование платы STM32F103C8 через USB порт с помощью Arduino IDE — вот в этой статье рабочая прошивка. Беда в том, что пока я ждал посылку, успел ознакомиться с кучей сайтов, с языками питон, плуа, С++ — и даже почти все кроме Си снова забыть. То что называли generic_boot20_pc13.bin размером 6 или 9 КБ — только давало рваное моргание светодиода, и Арду не признавало порта USB. После перепрошивки. порт опознаётся, но дальше — ни шагу, о чём я и изложил проблему.

  2. Я заказал сперва ESP8266 и она пришла раньше на пару недель — с ней и игрался. Причем Арду подружилась с ней гораздо веселей (правда, после неудачной попытки установки микропитона). Но у нее только 1 АЦП — маловато будет.
    И Lolin я привел в качестве примера, как я понимаю корректную загрузку скетча — теперь стоит воткнуть USB, программа выполняется. Для этого и скопировал фрагменты протокола.
    А программируются обе платки на одном языке, и естественно - для каждой я выбирал свою настройку Ардуино. (Чтоб не подумали, что я совсем чайник!)

Покамест не вижу идеи - в чём причина срыва загрузки

У меня та же проблема. Ни разу не смог прошить блюпил через USB. Но сильно и не старался. Это совсем не обязательно шить через USB. Ты как то закинул eneric_boot20_pc13.bin в блюпил? Точно так же можно записывать программы ардуины. В среде в меню скетч делаем экспорт бинарного файла и грузим его в блюпил.
На старом форуме обсуждали STM32F103... вместо maple dfu Unknown Device | Аппаратная платформа Arduino

Блюпилл отлично шьется через УСБ, я только так и шью. Вот блекпилы - те почему-то не хотят, их значительно проще СТ-линком
Для каждой платы свой метод :slight_smile:

Добрый вечер, Николай!
С этим тоже была мини-эпопея. В субботу утром: Спаял 4 провода, запустил Flash Loader Demonstrator - нет порта! Хорошо, накануне наткнулся на сайтик про en.stm32cubeprg-win64-v2-12-0 и как его скачать. Вот этот хоть и 220 М в зипе сработал. После прогулки с женой начал пробу - кроме зеленого помаргивания - нуль. Только в воскресенье догадался использовать другой .bin. Кстати, после новой припайки проводов и Флашлудер очнулся…
Но на этом пока всё!.. А с болтающимися концами не очень охота мыкаться, тем более предстоит отладка на ощупь.

Охотно верю, поэтому и дрыгаюсь. Вот - Проекты на STM32 со схемами и скетчами. Раз-два - и АЦП, и дисплей, и ШД… и прочие 33 удовольствия. А тут, блин, LED несчастный моргать отказывается!.. Моя платка синяя, и якобы даже не 64, а 128 КБ.
Попробую найти на неделе время - снова программатор прицепить, с ним заморгать. Но это не выход. Блин - почему на заводе нельзя сразу по-хорошему зарядить? Чтоб FTDI прикупали?

Я програмирую через ST-Link. Если плат блюпилл несколько то из одной можно сделать ST-Link впаяв 3 сопротивления и конденсатор. Тогда работа с блюпилл сильно упроститься и будет доступна отладка во взрослых средах.

Колдун наверно.

Несколько раз ведь обьяснял уже! - не подключайте плату к компу заранее.
Нажмите “Загрузку” в ИДЕ, дождитесь пока проект полностью соберется и только когда загрузчик начнет искать DFU-устройство - вот тогда включайте плату в порт USB. Особо торопится не надо, лучше включить чуть позже, чем раньше. С момента как комп начинает писать про поиск устройства - у вас есть секунд 20 - более чем достаточно, чтоб не торопясь включить кабель.
При таком подходе блюпиллы определяются и прошиваются в 100% случаев.

У меня с разными СТМ32 другая беда - почти нигде не работает монитор порта через USB. Приходится подключать внешний USB-UART через пины.

Это не наш метод. Ждать, втыкать… ST-Link и всё грузится сразу.

1 лайк

Странно это.
Как-то никогда с подобным не сталкивался (правда, я не люблю обновлять IDE и у меня до сих пор 1.8.5).

А он просто не сразу срабатывает - ему нужно время. Собственно, именно поэтому и пишут в setup(): while(!Serial);

у меня тоже шьётся через USB

А я тока-тока вникать начал и нормально справляюсь “свистком” с алиэкспресс (St-Link). )))

вот итог эксперимента

Скетч использует 12804 байт (9%) памяти устройства. Всего доступно 131072 байт.
Глобальные переменные используют 2064 байт (10%) динамической памяти, оставляя 18416 байт для локальных переменных. Максимум: 20480 байт.
Failed uploading: no upload port provided
а даже через 5 минут в строке состояния
Generic STM32F103C series [не подключено]
…да и вообще метод реально шаманством отдает.

Плата при втыкании в Винду определяется как МаплеМини9 ?
Какой метод загрузки выбран в ИДЕ?

Когда первый раз - Винда определила как некую Maple. А потом не реагирует. В диспетчере среди “Портов COM и Serial” сейчас вижу “Maple Serial (COM9)”
А в “Инструментах” - STM32duino booloader

Устройство работает нормально.
Драйвер LeafLabs, LLC
это про Мэпл…
и вот что интересно:

У всех видимо так, это вообще не мешает заливать прошивку через USB

Скетч использует 37560 байт (28%) памяти устройства. Всего доступно 131072 байт.
Глобальные переменные используют 2448 байт (11%) динамической памяти, оставляя 18032 байт для локальных переменных. Максимум: 20480 байт.
maple_loader v0.1
Resetting to bootloader via DTR pulse
Reset via USB Serial Failed! Did you select the right serial port?
Searching for DFU device [1EAF:0003]...
Assuming the board is in perpetual bootloader mode and continuing to attempt dfu programming...

Found it!

Opening USB Device 0x1eaf:0x0003...
Found Runtime: [0x1eaf:0x0003] devnum=1, cfg=0, intf=0, alt=2, name="STM32duino bootloader v1.0  Upload to Flash 0x8002000"
Setting Configuration 1...
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x0400
bytes_per_hash=751
Starting download: [##################################################] finished!
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
error resetting after download: usb_reset: could not reset device, win error: ������� �������������� ����������.
Done!

Resetting USB to switch back to runtime mode
1 лайк