Arduino IDE и STM32F103CBT6

Тема в разделе "Arduino & Shields", создана пользователем kama, 18 окт 2016.

  1. Neilon

    Neilon Нерд

    Так а что она помогла-таки эта программка или нет? Можете про это по подробнее?
    можете описать этот процесс? какие настройки, как подключали...
    ...вроде никаких левых символов в имени юзера нету.
    Я пробую на W8, пробовал на XP, всё так же. Ещё буду пытаться дома на W7 сделать...

    Вопщем-то я понял в чём проблема, но не знаю как её решить.
    В статье (http://www.rogerclark.net/arduino-stm32-usb-serial-and-dfu/) Роджер Кларк пишет, то что девайс определяется как Maple DFU это норм, как Serial он и не должен определяться. Чтобы он определился как Serial нужно загрузить в него скетч с инициализацией Serial.begin(9600); . Он подробно описал почему так сделано. Но как загрузить туда скетч????

    Я подключаюсь к UART ch340 адаптером, ставлю метод загрузки Serial, выбираю COM порт, шью, а он мне (reset пробовал держать, мк выбран правильно stm32f103C8_64kB):
    Код (C++):
    Failed to init device.
    stm32flash 0.4
    http://stm32flash.googlecode.com/
    Using Parser : Raw BINARY
    Interface serial_w32: 230400 8E1
    Если подключаюсь к USB порту платы (делаю как на видео

    ), то ответ такой:
    Код (C++):
    java.lang.UnsupportedClassVersionError: CliTemplate/CliMain (Unsupported major.minor version 51.0)
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$1(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
    выбранный последовательный порт     at java.lang.ClassLoader.loadClass(Unknown Source)
    не существует или плата не подключена к нему
    Exception in thread "main"
     
    Последнее редактирование: 27 дек 2016
  2. fednick57

    fednick57 Нуб

    Ув. Neilon, если еще актуально. W8.Новый порт COM4(Maple Mini) у меня появился после первой попытки загрузки скэтча Blink из примеров. Попытка была неудачной, я тут же зашел в Инструменты->Порт и обнаружил этот новый порт. До первой попытки загрузки в менюшке <Порт> был лишь один COM1.
     
  3. Neilon

    Neilon Нерд

    Да, ещё актуально!
    Я пробовал, но чёто никак, может что-то не так делаю...
    А можете описать как вы этот скетч туда загоняли? Как подключались, какие настройки выбрали (плата, метод загрузки, порт)
     
    Последнее редактирование: 18 янв 2017
  4. fednick57

    fednick57 Нуб

    Добр. день, ув. Neilon. STM32 ядро для Arduino вы разархивировали в указанное на гиктаймс место?
    Это важно. Я сперва разархивировал его в произвольное место и после инсталляции оно не
    добавилось к Arduino IDE. Ну, а скетч я залил пройдя по менюшкам Файл->Примеры->
    ->A_STM32_Examples->Digital->Blink из запущенной IDE. Плата stm32f103C8, через USB
    (все по рекомендациям с гиктаймс).
     
  5. Neilon

    Neilon Нерд

    да, ядро положил в папку C:\Users\efremov\Documents\Arduino\hardware, как описано. В настройках выбрал stm32f103C8_64kB, метод загрузки выбирал STM32bootloader и serial, порт не выбирал, т.к. он не определился. IDE делает попытку вгрузить скетч через порт, который использовался последний раз, пишет что ничего не подключено и не вгружает. Физически подключал через разъём microUSB на плате.
     
  6. Neilon

    Neilon Нерд

    Придумал) У кого заработала эта платка с Arduino IDE, COM обнаруживается, можете слить прошивку с неё в .s19 формате и скинуть мне!?))) Плиз плиз плиз!))) а в свой чип её прошью, может прокатит :rolleyes:

    (FlashLoaderDemonstrator: всё как заливать прошивку, только выбрать Upload from device, создать файлик *.s19, выбрать все сектора Select all...)

    З.Ы.: мой e-mail: mail_client@mail.ru или тут прикрепить(лучше тут конечно).
    Заранее благодарю!:)
     
  7. Neilon

    Neilon Нерд

    UP! Ещё актуально!:rolleyes:
     
  8. sslobodyan

    sslobodyan Гик

    Вот смотрите где у меня лежат готовые прошивки
    stm.png
    Берете генерик_бут с пином, на котором у вашей платки светодиод и прошиваете любым доступным способом. Профит. Как видите, там есть и мапл различных версий.
     
  9. Neilon

    Neilon Нерд

    Я этими прошивками изначально и пользуюсь, пробовал разные прошивать. К моей плате generic_boot20_pc13.bin - прошивается норм, светодиод на pc13 мигает. Скетчи не прошиваются, COM порт не появляется.
    Если есть возможность скиньте плиз дамп памяти из платы, которая работает, COM определяется.
    (Верхняя перемычка на 1, подкл через UART, в FlashLoaderDemonstrator: выбрать Upload from device, создать файлик *.s19, выбрать все сектора Select all...)
     
  10. sslobodyan

    sslobodyan Гик

    Это бесполезно. Ищите на своей плате непропай.
     
  11. Neilon

    Neilon Нерд

    С пропайкой я думаю всё впорядке, я все эти действия делаю на двух одинаковых платах, все места пайки просматриваются визуально хорошо, USB обнаруживается корректно, прошивка бутлодера в системфлэш и верификация проходят успешно, питание в норме, светодиод pc3 мигает, но не обнаруживается виртуальный COM порт (есть только Maple DFU) при подключении к встроенному модулю USB чипа, очевидно проблема с софтом, и я склоняюсь к тому, что именно на стороне МК. Поэтому и прошу, чтобы кто-нибудь скинул мне дамп памяти с рабочего обнаруживающегося девайса (тут делов на 5 минут).:)
     
  12. sslobodyan

    sslobodyan Гик

    А джамперы на платке в каком положении?
     
  13. Neilon

    Neilon Нерд

    При загрузке бутлодера верхний (если плата лежит разъёмом usb влево) в 1, нижний в 0. В остальных случаях в 0 оба.
     
  14. sslobodyan

    sslobodyan Гик

    У меня всегда оба в 0. Помню еще Кларк писал, что на этих платках на юсб линии вместо положенных 15ком стоит 10ком резистор на плюс питания. Может поэтому ваша платка не видна как компорт?
     
    Последнее редактирование: 13 фев 2017
  15. ostrov

    ostrov Гуру

    В положении 1-0 запускается бутлоадер и ждет прошивку, после чего запускается прошивка. В 0-0 сразу запускается прошивка. Во всяком случае, если прошивается через Serial.
     
  16. Neilon

    Neilon Нерд

    да, у меня на одной из плат перепаян резистор R10 4,7к 0603 на 1,5к 0805, подтягивающий PA12 к +3,3V, прозвонил.
    1) ставлю положение 1-0: заливаем бутлоадер generic_boot20_pc13.bin - всё гуд
    2) ставлю положение 0-0: открываю ArduinoIDE, пытаюсь залить скетч, ничего не выходит, ни через UART, ни через USB
     
  17. ostrov

    ostrov Гуру

    В положении 1-0 заливается не бутлоадер, а программа при помощи встроенного бутлоадера. А в 0-0 она запускается. То есть вы залили бут в программную область. Зачем?
     
  18. sslobodyan

    sslobodyan Гик

    Если бут нормально прошился, то в положении 0-0 после ресета будет мигать светодиод. В ИДЕ в момент прошивки как только появится надпись на счет поиска ДФУ сразу жмакните ресет - платка распознается и скетч прошьется. По крайней мере, у меня так все и работает.
     
  19. Neilon

    Neilon Нерд

    "Первое что необходимо сделать — залить в микроконтроллер специальный загрузчик, который позволит прошивать плату через аппаратный USB, причём прямо из среды разработки" это из статьи в гиктаймсе.
    Насколько я понял в режиме 1-0 проц начинает выполнение с System Flash где лежит заводской загрузчик, который нам просто позволяет записать пользовательскую программу в основной Flash. Записать что-либо в System Flash нет физической возможности. Наша пользовательская программа generic_boot20_pc13.bin тоже является загрузчиком, но запускаться она будет из основного Flash в режиме 0-0, а скеч из среды мы заливаем рядом в основной Flash просто по другим адресам.
     
    sslobodyan нравится это.
  20. ostrov

    ostrov Гуру

    Чем вам заводской загрузчик не угодил? Отличноо прошивает.