ST-link V2 и STM32F103c8t6 запара

Тема в разделе "Схемотехника, компоненты, модули", создана пользователем ostrov, 6 окт 2016.

  1. ostrov

    ostrov Гуру

    Наконец то дошла до меня эта плата, а мои руки до этой платы (ради чего, собственно, вообще с STM32 связался). С прошивкой Discovery проблем не было, заливалось прямо из Keil, тут же сломал себе мозг уже. Казалось бы, соединить 4 проводка, которые как бы и не допускают большого разнообразия в вариантах подключения, но не выходит каменный цветок. Система видит st-link но не видит саму плату. Подключил так:
    [​IMG]
    Питание GND и 3V3 понятно, остальное: RST - RST, CLC - CLC, SWD - IO. Не видит и все тут! Что я делаю не так? Кто эти хреновины запускал и прошивал, откликнитесь и помогите товарищу!
     
    Последнее редактирование: 6 окт 2016
  2. Onkel

    Onkel Гуру

    иногда помогает режим с ресетом, держишь ресет, включаешь прошивку, отпускаешь ресет. Режим выставляется и в свойствах проекта.
    а как ругается ?
     
  3. ostrov

    ostrov Гуру

    No target connection

    Причем и в утилите ST-link плата не цепляется, перепробовал уже все опции.
     
  4. ostrov

    ostrov Гуру

    Может быть сама плата дохлая? При подаче питания блинка не было, а пишут что должен был быть.
     
  5. Onkel

    Onkel Гуру

    да, должна мигать. Но вы могли ее стереть во время экспериментов. У меня тоже эти платы не шились, а потом я стер их через discovery и они стали прошиваться stlink'ом сначала только с ресетом, а потом (я не понял, после чего или просто так) и просто кайлом. Попробуйте через discovery, там есть разъем справа 5 пинов, а слева надо снять два джампера прошивки своего чипа, и снять джампер подачи на него питания. У меня из 4 платок все оказались исправные, и длинненькие, и более квадратные.
     
    ostrov нравится это.
  6. ostrov

    ostrov Гуру

    Экспеременьальным путем выяснил, что в плате этой имеется бутлоадер и она как бы заточена под Arduino IDE, так как под ней завелась сразу и работает без балды (тоже интересно, кстати, напишу об этом отдельно). Причем джамперы на плате переключают адрес с которого грузиться: бут для прошивки или саму прошивку от IDE. Вероятно это и мешает загрузке родного кода, наверное надо сперва почистить память каким то образом. Надо одной пожертвовать на эксперементы.

    Через Дискавери тоже хотел попробовать, но пока не успел. Ноги SWD там не подписаны, придется искать мануалы.
     
  7. Onkel

    Onkel Гуру

    ProgPinz.jpg
     
    ostrov нравится это.
  8. ZAZ-965

    ZAZ-965 Гуру

    Я подключал через SWD разъем четырьмя проводами, без Reset
    STM32duino bootloader? У вас она изначально при подключении через microUSB к компьютеру как определялась? Если прошит STM32duino то определяется как MapleDFU\MapleSerial (при этом мне пришлось перепаять подтягивающий резистор на USB с 10кОм на 1,5 кОм)
     
  9. ostrov

    ostrov Гуру

    Определяется как неизвестное устройство. Прошивается через RX1 при помощи USB-TTL адаптера (как Про Мини). Для прошивки приходится передергивать джампер.

    Схема подключения: )
    [​IMG]
     
  10. ZAZ-965

    ZAZ-965 Гуру

    ostrov нравится это.
  11. ostrov

    ostrov Гуру

    В принципе устраивает и через UART. Не могу понять почему через ST-link не цепляется, вдруг захочу на чистом С туда чего написать. Должен же быть выбор. А в IDE даже не могу к портам напрямую подступиться как в AVR. Правда, он прилично быстр и так. )
     
  12. ostrov

    ostrov Гуру

    В общем. Вот пока есть вариант для работы c этим изделием через Arduino IDE в качестве мини-DUE. Этот чувак проделал отличную работу и кроме насадки на IDE изготовил кучку примеров, библиотек к ней и примеров к ним. Много уникальных функций в наличии, особенно умилила настройка прерывания по таймеру:
    Код (C++):
        // Setup LED Timer
        Timer2.setChannel1Mode(TIMER_OUTPUTCOMPARE);
        Timer2.setPeriod(LED_RATE); // in microseconds
        Timer2.setCompare1(1);      // overflow might be small
        Timer2.attachCompare1Interrupt(handler_led);
    И работает в 6-7 раз быстрее Уны и Меги (а с 32 битовыми числами в 10). Даже в таком виде изделие кажется интересным и перспективным.
     
    Последнее редактирование: 6 окт 2016
  13. Onkel

    Onkel Гуру

    я читал пару недель назад, что st и ардуина подписали договор о намерениях сделать ардуину на st32, так что возможно скоро (или не очень скоро ) будет официальная ардуина stm32.
     
    ostrov нравится это.
  14. ostrov

    ostrov Гуру

    Это будет, как минимум, не лишним.
     
  15. Onkel

    Onkel Гуру

    в due у них ацп дает 1/10 от максимально скорострельности мк sam3. Что -то будет с stm32 - если также , то стоит кайлом махать.
     
  16. ZAZ-965

    ZAZ-965 Гуру

    Под этот контроллер Arduino собирает и линкует тяжеловесную core library, например стандартный блинк
    Код (C++):
    Скетч использует 13 576 байт (20%) памяти устройства. Всего доступно 65 536 байт.
    Глобальные переменные используют 2 560 байт динамической памяти.
    При этом блинк на FreeRTOS занимает лишь немного больше
    Код (C++):
    Скетч использует 15 872 байт (24%) памяти устройства. Всего доступно 65 536 байт.
    Глобальные переменные используют 11 016 байт динамической памяти.
    Интересно как ведет себя в похожих условиях mbed
     
  17. ostrov

    ostrov Гуру

    При той накладке, о которой я писал выше, блинк занимает 7кб с чем то. Но затем объем кода растет медленно. Подозреваю, что инициализация огромна. Впрочем, 64Кб это так прилично.
    Могу проверить при случае скорострельность библиотечной АЦП. Но ведь всегда есть альтернатива, если что.
     
  18. Onkel

    Onkel Гуру

    проще на честном С написать код, чем усложнять и удорожать (как минимум вдвое получается), тем более что не факт, что внешние ацп на mapl заведутся.
     
  19. ostrov

    ostrov Гуру

    Вдвое это на 100 руб дороже.
     
  20. Onkel

    Onkel Гуру

    100 руб - это купить и пусть лежит, а когда нужно собрать прибор и написать код, да еще надежный, без digitalRead- это уже вдвое на 10 000 руб дороже.