8-900-374-94-44
[email protected]
Slide Image
Меню

Maple mini: Maple Mini — Maple v0.0.12 Documentation

Попытка подружиться с STM32 / Хабр

В прошлый раз я издевался над микроконтроллерами ATtiny 85, сопрягая бедные восьминогие чипы с Arduino IDE. А потом мне захотелось посмотреть, что же за чудо такое — STM32, поклонники которых смотрят на программистов AVR (не говоря уж об ардуинщиках) с некоторым неодобрением. В процессе беглого гугления выяснилось, что STM32 «для идиотов» существует — есть проект Leaf Maple, в рамках которого — две платы на STM32F103 и среда разработки, являющая собой клон Arduino IDE.

Решающим фактором стала стоимость. Китайская версия Leaf Maple Mini продается за 4$ — это немногим дороже Arduino Nano. Заказав три штуки, я принялся ждать.

Пожалуй, со ставкой на Maple я немного поторопился — проект скорее мертв, чем жив. IDE не развивается, драйверов без бубна под Windows 8 нет, библиотеки в зачаточном состоянии, полное уныние и запустение. Ради интереса я поморгал светодиодом, запустив Maple IDE под OS X (заработало из коробки), а затем стал думать, с какой стороны подходить к плате для дальнейшего изучения.


Для начала, выяснил я вот что. В микроконтроллер STM32F103CBT6 (названия у ST, замечу, суровые) на плате Leaf Maple Mini зашит загрузчик, работающий через USB с Maple IDE. Находится он во флеш-памяти. А как программировать «голый» STM32? По-хорошему, надо использовать ST-Link, ведь он позволяет не только «заливать» прошивку, но и производить отладку. А без этой железяки что делать? Использовать «системный» загрузчик STM32, работающий по UART. Мини-плата на чипе CP2102 в закромах имеется, можно начинать чудить.

IDE, которые используются для программирования STM32, вгоняют меня в тоску. Дело в том, что я программистом не являюсь, и множественные окошки со вкладками и кучей страшных букв вызывают потаенное нежелание во всем этом копаться. Но, похоже, надо. Наименее замороченной из троицы (Keil, IAR, Coocox) мне показалась последняя.

Итак, последовательность действий. Ставим Coocox, к нему — компилятор GCC для ARM. Пишем шедевральный проект — Blink. Затем на монтажной «доске» собираем конструкцию из Maple Mini и CP2102. Выясняем, что для заливки прошивки нужно что-то еще, ибо «кокос» хочет ST-Link. Напрямую скомпилированный код легко прошивается по UART с помощью утилиты от ST — Flash Loader Demonstrator. Теперь подробнее.

Кокос с граблями

Без граблей у меня никак. Первая же «засада» — текущая версия IDE (2.0) — это нечто странное, внезапно не поддерживающее STM32F1xx. Удаляем, ставим версию 1.7.7, теперь можем создать проект. К проекту подключаем GPIO, берем из этого модуля пример с нужным нам Blink и немного его переделываем, чтобы задействовать светодиод Maple Mini (PORT B PIN 1). Инициализация портов тут — целая песня (понятная, но более сложная, чем на AVR). То есть, нужно не просто сказать, мол, этот порт — выход. Этот порт — его надо включить и тактировать, и будет он выходом с бантиком и плюшечкой, а не с закорючкой и гвоздиком…

Сборка железа

Тут все просто — берем модуль на CP2102 и соединяем с STM32.

STM — 2102

RX1 — TX
TX1 — RX
GND — GND
Vin — VCC

Хитрость одна — как заставить STM32F103 запускаться в режиме загрузчика UART. Процесс неплохо описан на сайте Leaf Labs в разделе «Что делать, если вы запороли USB загрузчик». Подключаем ножку BOOT1 к земле, нажимаем RESET и вторую кнопку, отпускаем RESET, отпускаем вторую кнопку. Привет, загрузчик!

Прожигаем!

Осталось запустить Flash Loader Demonstrator и «скормить» ему bin-файл, болтающийся после компиляции где-то в недрах проекта. Любопытно, как называются операции в этой утилите. Download — это В чип. А Upload — это ИЗ чипа. Мое восприятие бунтует, но, может быть, тут так принято.

Итого

Нельзя просто так взять и поморгать светодиодом на STM32. Сделать это двумя щелчками мыши (как в Arduino) или парой команд avr-gcc и avrdude тут не выйдет. Попытка (Maple IDE) была, но сдулась. Поэтому, придется реально садиться и разбираться, как тут чего работает.

UPD. Добавил опрос.

делаем ST-Link из Maple Mini / Хабр

Начав свое знакомство с STM32 с китайских клонов Leaf Maple Mini (потому что самый дешевый вариант, 4$), я столкнулся с неудобством. Поскольку на Maple IDE рассчитывать не стоит, значит, приходится работать с «голым» STM32. А раз ST-Link у меня нет, заливать программу я могу только по UART, что неудобно (и нет возможности отладки).

Но хабраюзер imwode ровно через 9 часов после моей публикации написал ответный материал, из которого я узнал прекрасное: отладчик ST-Link основан на том же микроконтроллере STM. При этом, прошивка отладчика умельцами вытащена и готова к загрузке на неродные устройства. Maple Mini подходит идеально: ничего лишнего, USB распаян, надо только несколько резисторов подключить.


Нужно:

1. Соединить PA5 и PB13 (D6 и D30 у Maple Mini). Это будет линия SWСLK.
2. Между PB14 и PB12 (D29 и D31) поставить резистор в 220 Ом. PB14 (D29) — это линия SWDIO.

3. PA0 (D11) подключить к делителю из двух резисторов в 4.7 КОм между +3.3В и GND.

И тут тоже грабли!

После прошивки, по идее, ПК должен распознать плату как ST-Link. Но нет. Как будто ничего вообще не подключено. На поиск граблей было потрачено энное количество времени, а надо было всего лишь повнимательнее посмотреть на схему Maple Mini, а конкретно — на реализацию линии USB D+. Она подтягивается к +3.3В через резистор 1.5 КОм, но включается подтяжка транзисторным ключом. Который управляется с ножки МК и по умолчанию выключен. А раз так, ПК просто не понимает, что подключено к USB-порту. Не будем вмешиваться в плату, а просто «повесим» еще резистор в 1.5 КОм между +3.3В и D+ (D23).

Теперь у нас появилось устройство ST-Link. Ставим ST-Link Utility, там и драйвер имеется. Обновляем прошивку нашего ST-Link (через эту самую Utility), и с отладчиком можно начинать работу. По крайней мере, я подключил к нему вторую Maple Mini: SWCLK к PA14 (D21), SWDIO к PA13 (D22) и успешно как залил откомпилированный Blink, так и произвел его дебаг средствами Coocox.

В принципе, устройство уже можно оснащать нормальным разъемом и запихивать в корпус. Не забыв перед этим добыть «нормальные» резисторы, а не то, что под руку подвернулось. Не помешает и какая-нибудь светодиодная индикация. Я думаю, многие самодельщики подтвердят, что переход от «спички, желуди, синяя изолента» к законченному устройству — самый сложный и длительный, ибо «зачем, оно и так работает, хоть и провода торчат во все стороны».

И, да, китайский ST-Link можно купить за те же 4$ на Aliexpress, например.

Основополагающая тема на Easyelectionics.
Прошивка (тожe Easyelectronics).
Описание Leaf Maple Mini
ST-Link Utility
Мануал на «родной» ST-Link

Использование платы STM32 Leaf Maple Mini в Windows Studio Code с PlatformIO

Рассмотрим, как подключить плату STM32 Leaf Maple Mini к Windows Studio Code с PlatformIO с использованием загрузчика bootloader 2.0 в режиме DFU, на Windows 10.

Leaf Maple Mini

На плате Leaf Maple Mini зашит загрузчик позволяющий загружать нашу прошивку через USB порт, как это делается в Arduino IDE. Загрузка производится в режиме DFU mode, что требует установки драйверов VID_1EAF&PID_0003.

При подключении плата определяется системой как COM порт, но в режиме загрузки прошивки переключается в режим DFU mode.

Прежде чем пытаться что-то прошить в наш контроллер нам необходимо установить драйвер.


Установка драйверов на плату Leaf Maple Mini

Качаем набор компонентов для работы с платами STM32 для Arduino IDE

Подключаем нашу плату по USB

Переводим нашу плату в режим работы DFU mode:

Кратковременно нажимаем кнопку RESET

и пока быстро мигает светодиод жмем кнопку but=32 и удерживаем некоторое время.
Или зажимаем кнопку but=32 и кратковременно нажимаем RESET и держим некоторое время.

В диспетчере задач у нас должно появиться устройство Maple 003 которое требует установки драйверов.

Распаковываем скаченный ранее архив, идем в папку ~\Arduino_STM32-master\drivers\win\ запускаем от АДМИНИСТРАТОРА — install_drivers.bat, драйвер должен установиться. Жмем RESET на плате, теперь установиться драйвер COM порта.

Если драйвера не установились или плата не определяется системой, пойдем по другому пути, зашьем загрузчик сами.


Прошивка в плату Leaf Maple Mini загрузчика

Я буду зашивать с использованием ST-LINK V2, но мы так же может прошить, используя COM переходники.

Качаем и устанавливаем:

Драйвер ST-LINK_V2
STM32 ST-LINK Utility

Прошивки загрузчиков для плат STM32. Качаем — maple_mini_boot20.bin

Подключаем ST-LINK V2 к плате Leaf Maple Mini:

ST-LINK V2 Maple Mini
2 SWCLK (SWD clock) D21
4 SWDIO (SWD data input/output) D22
6 GND (Ground) GND
8 3.3V VCC

Запускаем STM32 ST-LINK Utility

Переводим нашу плату в режим

DFU mode см.выше.

Жмем в программе Connect

STM32 ST-LINK Utility

Жмем на вкладку Binary File и выбираем скачанный ранее файл maple_mini_boot20.bin

STM32 ST-LINK Utility

Жмем Program Verify

STM32 ST-LINK Utility

В открывшемся окне жмем Start

STM32 ST-LINK Utility

Начнется прошивка нашего загрузчика.

Теперь еще раз пробуем установить драйвера описанным выше способом.


Использование платы Leaf Maple Mini в Windows Studio Code

Запускам Windows Studio Code с установленной PlatformIO и добавляем платформы как на картинке

Windows Studio Code

Создаем проект из примеров ST STM32 –> arduino-blink

Windows Studio Code

Переходим в созданный проект

Правим platformio.ini

[env:maple_mini_b20]
platform = ststm32
framework = arduino
board = maple_mini_b20
Windows Studio Code

Подключаем нашу плату по USB, она определиться системой как COM порт.

Жмем 3 см. картинку. Ждем окончания заливки прошивки в плату.

Если у вас выскакивает ошибка:

maple_loader v0.1
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
dfu-util - (C) 2007-2008 by OpenMoko Inc.
This program is Free Software and has ABSOLUTELY NO WARRANTY
Couldn't find the DFU device: [1EAF:0003]

Значит, вы не поставили драйвера на плату.


Дополнительно о плате Leaf Maple Mini:

Особенности микроконтроллера
  • STM32F103CBT6 in LQFP48 package
  • ARM®32-bit Cortex®-M3 CPU
  • 72 MHz max CPU frequency
  • VDD from 2.0 V to 3.6 V
  • 128 KB Flash
  • 20 KB SRAM
  • GPIO (34) with external interrupt capability
  • 12-bit ADC (2) with 10 channels
  • RTC
  • Timers (4)
  • I2C (2)
  • USART (3)
  • SPI (2)
  • USB 2.0 full-speed
  • CAN

Схема платы Leaf Maple Mini
Схема платы Maple Mini Скачать схему платы Leaf Maple Mini

Пины Maple Mini

Еще информация по данной плате Leaf Maple Mini читать

Использование в Arduino IDE читать

Конечно, использовать DFU mode для заливки наших прошивок в плату по USB не есть хорошо, лучше прошивать, используя ST-LINK V2. Так же использование библиотек Arduino для работы с платой производительности нам не прибавит.

Разработку под STM32 лучше конечно производить в STM32CubeIDE — бесплатная среда разработки от STM, полностью поддерживает STM32CubeMX

Я использую Visual Studio 2019 Community с надстройкой VisualGDB – где Visual Studio 2019 Community – бесплатна, а вот VisualGDB стоит денег. Данная связка в последних версиях прекрасно работает с STM32CubeMX

Leaf Maple: введение в STM32

Leaf Maple: введение в STM32

разделы: STM32 , STM32duino , дата: 17 сентября 2015г.

Проект Leaf Maple призван стать аналогом Arduino для микроконтроллеров STM32. Пока нельзя сказать, что проект «выстрелил», но на мой взгляд достоин внимания. Заказать китайский клон Maple Mini можно всего за 4USD.

&nbsp

    На борту чип STM32F103CBT6, содержащий множество интересных штук:
  1. ядро ARM CortexM3;
  2. 32-разрядность;
  3. частота 72 МГц;
  4. 128 кБайт встроенной флеш памяти;
  5. 20 кБайт оперативки;
  6. 12-битный АЦП;
  7. семь DMA каналов;
  8. аппаратные USB2.0, CAN, USART, I2C, SPI интерфейсы.

Полную спецификацию можно посмотреть на официальном сайте фирмы STMicroelectronics: STM32F103x8 STM32F103xB datasheet

подключив микроконтроллер к USB порту в dmesg имеем такой лог:

usb 5-2: new full-speed USB device number 11 using ohci-pci
usb 5-2: New USB device found, idVendor=1eaf, idProduct=0003
usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 5-2: Product: Maple 003
usb 5-2: Manufacturer: LeafLabs
usb 5-2: SerialNumber: LLM 003

Документация на Leaf Maple здесь: LeafLabs Documentation Index. Нам пока будет интересен только Quick Start. Следуя по ссылке в документации: «Установка и запуск IDE», попадаем на страницу загрузки Maple IDE:

Как видно, из Виндоус систем поддреживается только XP, но меня интересует конечно же версия для linux 64-bit. Cкачав и распаковав архив, следует заглянуть в папку tools, там лежат правила для udev.

Запустив maple-ide видим еще один клон среды разработки Processing

Найдя в примерах Blink и выбрав в Tools плату: LeafLabs Maple Mini Rev2 to Flash можно нажать на компиляцию, а если микроконтроллер подключен, то можно и на Upload. В отличие от Arduino IDE не нужно выбирать порт и программатор. Последовательный порт здесь нужен только для Serial Monitor, и у меня порт ACM0 в системе появился только после первой прошивки Blink’ом

При прошивке, в консоль выкинет такой лог:

Going to build using 'armcompiler' (ARM)
    Compiling core...
    No libraries to compile.
    Compiling the sketch...
    Linking...
    Computing sketch size...

/tmp/build4053041559428951272.tmp/Blink.cpp.bin  :
section    size   addr
.data   12632      0
Total   12632


Binary sketch size is reported above. Check it against a 108000 byte maximum.
Loading via dfu-util
Resetting to bootloader via DTR pulse
Searching for DFU device [1EAF:0003]...
Found it!

Opening USB Device 0x1eaf:0x0003...
Found Runtime: [0x1eaf:0x0003] devnum=21, cfg=0, intf=0, alt=1, name="DFU Program FLASH 0x08005000"
Claiming USB DFU Interface...
Setting Alternate Setting ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
Transfer Size = 0x0400
bytes_per_hash=252
Starting download: [##################################################] finished!
error resetting after download: No such file or directory
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode

Maple mini STM32

Мaple mini — клон платы STM32 Leaf Maple Mini

Полнофункциональный ARM контроллер на основе процессора ARM Cortex M3. На плате установлен процессор  STM32F103CBT6. Плата приходит с нераспаянными гребенками. Плата не дорогая, размер небольшой. Хорошо подходит для небольших устройств Размеры платы: 50 х 18 мм

 

 

Программируется через ST-LINK. Плата сама может использоваться как программатор ST-Link при соответствующей прошивке. 

Для программирования через ST-Link подключить
1 VDD_TARGET VDD from application   — не нужно

2 SWCLK SWD clock —>D21

3 GND Ground —->GND

4 SWDIO SWD data input/output  —>D22


Внимание! Питание 3.3V через пин VCC, либо питание через USB, либо до 3-12V через VIN.

При программировании через STM32Discovery можно использовать питание от одного USB хаба, чтобы не нагружать схему питания Discovery 
описание и документация на сайте ST

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF189782?sc=internet/mcu/product/189782.jsp#

Technical Specifications

:MCU: STM32F103CBT6   a 32-bit ARM Cortex M3 microprocessor

Clock Speed: 72 MHz

128 KB Flash and 20 KB SRAM

34 digital I/ pins (GPIOs)

12 PWM pins at 16 bit resolution

9 analog input (ADC) pins at 12 bit resolution

2 SPI peripherals

2 I2C peripherals

7 Channels of Direct Memory Access (DMA) (dma.h)

3 USART (serial port) peripherals

1 advanced and 3 general-purpose timers

Dedicated USB port for programming and communications

JTAG

Nested Vectored Interrupt Controller (NVIC) (including external interrupt on GPIOs)

Supplies up to 500 mA at 3.3 V, with separate 250 mA digital and analog regulators for low-noise analog performance

Open source, four layer design

Support for low power, sleep, and standby modes (<500 μA)

Operating Voltage: 3.3 V

Input Voltage (recommended): 3 V — 12 V

Распиновка Maple Mini STM32Note that this table is not exhaustive; on some pins, more peripherals are available than are listed here.

Pin

GPIO

ADC

Timer

I2C

UART

SPI

5 V Tolerant?

D0

PB11

 

 

2_SDA

3_RX

 

Yes

D1

PB10

 

 

2_SCL

3_TX

 

Yes

D2

PB2

 

 

 

 

 

Yes

D3

PB0

CH8

3_Ch4

 

 

 

 

D4

PA7

CH7

3_Ch3

 

 

1_MOSI

 

D5

PA6

CH6

3_Ch2

 

 

1_MISO

 

D6

PA5

CH5

 

 

 

1_SCK

 

D7

PA4

Ch5

 

 

2_CK

1_NSS

 

D8

PA3

Ch4

2_Ch5

 

2_RX

 

 

D9

PA2

Ch3

2_Ch4

 

2_TX

 

 

D10

PA1

Ch2

2_Ch3

 

2_RTS

 

 

D11

PA0

CH0

2_Ch2_ETR

 

2_CTS

 

 

D12

PC15

 

 

 

 

 

 

D13

PC14

 

 

 

 

 

 

D14

PC13

 

 

 

 

 

 

D15

PB7

 

4_Ch3

1_SDA

 

 

Yes

D16

PB6

 

4_Ch2

2_SCL

 

 

Yes

D17

PB5

 

 

1_SMBA

 

 

 

D18

PB4

 

 

 

 

 

Yes

D19

PB3

 

 

 

 

 

Yes

D20

PA15

 

 

 

 

 

Yes

D21

PA14

 

 

 

 

 

Yes

D22

PA13

 

 

 

 

 

Yes

D23

PA12

 

1_ETR

 

1_RTS

 

Yes

D24

PA11

 

1_Ch5

 

1_CTS

 

Yes

D25

PA10

 

1_Ch4

 

1_RX

 

Yes

D26

PA9

 

1_Ch3

 

1_TX

 

Yes

D27

PA8

 

1_Ch2

 

1_CK

 

Yes

D28

PB15

 

 

 

 

2_MOSI

Yes

D29

PB14

 

 

 

3_RTS

2_MISO

Yes

D30

PB13

 

 

 

3_CTS

2_SCK

Yes

D31

PB12

 

1_BKIN

2_SMBA

3_CK

2_NSS

Yes

D32

PB8

 

4_Ch4

 

 

 

Yes

D33

PB1

CH9

3_Ch5

 

 

 

 

 

Источник <http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/hardware/maple-mini.html>

 

GPIO Port Pin Map

The following table shows what pins are associated with each GPIO port.

GPIOA

GPIOB

GPIOC

PA0: D11

PB0: D3

PC0: —

PA1: D10

PB1: D33

PC1: —

PA2: D9

PB2: D2

PC2: —

PA3: D8

PB3: D19

PC3: —

PA4: D7

PB4: D18

PC4: —

PA5: D6

PB5: D17

PC5: —

PA6: D5

PB6: D16

PC6: —

PA7: D4

PB7: D15

PC7: —

PA8: D27

PB8: D32

PC8: —

PA9: D26

PB9: —

PC9: —

PA10: D25

PB10: D1

PC10: —

PA11: D24

PB11: D0

PC11: —

PA12: D23

PB12: D31

PC12: —

PA13: D22

PB13: D30

PC13: D14

PA14: D21

PB14: D29

PC14: D13

PA15: D20

PB15: D28

PC15: D12

Timer Pin Map

The following table shows what pins are associated with a particular timer’s capture/compare channels.

Timer

Ch. 1

Ch. 2

Ch. 3

Ch. 4

1

D27

D26

D25

D24

2

D11

D10

D9

D8

3

D5

D4

D3

D33

4

D16

D15

D32

 

EXTI Line Pin Map

The following table shows which pins connect to which EXTI lines.

EXTI Line

Pins

EXTI0

D3, D11

EXTI1

D10, D33

EXTI2

D2, D9

EXTI3

D8, D19

EXTI4

D7, D18

EXTI5

D6, D17

EXTI6

D5, D16

EXTI7

D4, D15

EXTI8

D27, D32

EXTI9

D26

EXTI10

D1, D25

EXTI11

D0, D24

EXTI12

D23, D31

EXTI13

D14, D22, D30

EXTI14

D13, D21, D29

EXTI15

D12, D20, D28

USART Pin Map

The Maple Mini has three serial ports (also known as USARTs). They communicate using the pins given in the following table.

Serial Port

TX

RX

CK

CTS

RTS

Serial1

D26

D25

D27

D24

D23

Serial2

D9

D8

D7

D11

D10

Serial3

D1

D0

D31

D30

D29

Board-Specific Values

This section lists the Maple Mini’s board-specific values.

  • CYCLES_PER_MICROSECOND: 72
  • BOARD_BUTTON_PIN: 32
  • BOARD_LED_PIN: 33
  • BOARD_NR_GPIO_PINS: 34
  • BOARD_NR_PWM_PINS: 12
  • boardPWMPins: 3, 4, 5, 8, 9, 10, 11, 15, 16, 25, 26, 27
  • BOARD_NR_ADC_PINS: 9
  • boardADCPins: 3, 4, 5, 6, 7, 8, 9, 10, 11
  • BOARD_NR_USED_PINS: 4
  • boardUsedPins: BOARD_LED_PIN, BOARD_BUTTON_PIN, 23, 24 (23 and 24 are used by USB)
  • BOARD_NR_USARTS: 3
  • BOARD_USART1_TX_PIN: 26
  • BOARD_USART1_RX_PIN: 25
  • BOARD_USART2_TX_PIN: 9
  • BOARD_USART2_RX_PIN: 8
  • BOARD_USART3_TX_PIN: 1
  • BOARD_USART3_RX_PIN: 0
  • BOARD_NR_SPI: 2
  • BOARD_SPI1_NSS_PIN: 7
  • BOARD_SPI1_MOSI_PIN: 4
  • BOARD_SPI1_MISO_PIN: 5
  • BOARD_SPI1_SCK_PIN: 6
  • BOARD_SPI2_NSS_PIN: 31
  • BOARD_SPI2_MOSI_PIN: 28
  • BOARD_SPI2_MISO_PIN: 29
  • BOARD_SPI2_SCK_PIN: 30
  • BOARD_JTMS_SWDIO_PIN: 22
  • BOARD_JTCK_SWCLK_PIN: 21
  • BOARD_JTDI_PIN: 20
  • BOARD_JTDO_PIN: 19
  • BOARD_NJTRST_PIN: 18

 

Источник <http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/hardware/maple-mini.html>

 

Maple mini STM32

Мaple mini — клон платы STM32 Leaf Maple Mini

Полнофункциональный ARM контроллер на основе процессора ARM Cortex M3. На плате установлен процессор  STM32F103CBT6. Плата приходит с нераспаянными гребенками. Плата не дорогая, размер небольшой. Хорошо подходит для небольших устройств Размеры платы: 50 х 18 мм

 

 

Программируется через ST-LINK. Плата сама может использоваться как программатор ST-Link при соответствующей прошивке. 

Для программирования через ST-Link подключить
1 VDD_TARGET VDD from application   — не нужно

2 SWCLK SWD clock —>D21

3 GND Ground —->GND

4 SWDIO SWD data input/output  —>D22


Внимание! Питание 3.3V через пин VCC, либо питание через USB, либо до 3-12V через VIN.

При программировании через STM32Discovery можно использовать питание от одного USB хаба, чтобы не нагружать схему питания Discovery 
описание и документация на сайте ST

http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1031/LN1565/PF189782?sc=internet/mcu/product/189782.jsp#

Technical Specifications

:MCU: STM32F103CBT6   a 32-bit ARM Cortex M3 microprocessor

Clock Speed: 72 MHz

128 KB Flash and 20 KB SRAM

34 digital I/ pins (GPIOs)

12 PWM pins at 16 bit resolution

9 analog input (ADC) pins at 12 bit resolution

2 SPI peripherals

2 I2C peripherals

7 Channels of Direct Memory Access (DMA) (dma.h)

3 USART (serial port) peripherals

1 advanced and 3 general-purpose timers

Dedicated USB port for programming and communications

JTAG

Nested Vectored Interrupt Controller (NVIC) (including external interrupt on GPIOs)

Supplies up to 500 mA at 3.3 V, with separate 250 mA digital and analog regulators for low-noise analog performance

Open source, four layer design

Support for low power, sleep, and standby modes (<500 μA)

Operating Voltage: 3.3 V

Input Voltage (recommended): 3 V — 12 V

Распиновка Maple Mini STM32Note that this table is not exhaustive; on some pins, more peripherals are available than are listed here.

Pin

GPIO

ADC

Timer

I2C

UART

SPI

5 V Tolerant?

D0

PB11

 

 

2_SDA

3_RX

 

Yes

D1

PB10

 

 

2_SCL

3_TX

 

Yes

D2

PB2

 

 

 

 

 

Yes

D3

PB0

CH8

3_Ch4

 

 

 

 

D4

PA7

CH7

3_Ch3

 

 

1_MOSI

 

D5

PA6

CH6

3_Ch2

 

 

1_MISO

 

D6

PA5

CH5

 

 

 

1_SCK

 

D7

PA4

Ch5

 

 

2_CK

1_NSS

 

D8

PA3

Ch4

2_Ch5

 

2_RX

 

 

D9

PA2

Ch3

2_Ch4

 

2_TX

 

 

D10

PA1

Ch2

2_Ch3

 

2_RTS

 

 

D11

PA0

CH0

2_Ch2_ETR

 

2_CTS

 

 

D12

PC15

 

 

 

 

 

 

D13

PC14

 

 

 

 

 

 

D14

PC13

 

 

 

 

 

 

D15

PB7

 

4_Ch3

1_SDA

 

 

Yes

D16

PB6

 

4_Ch2

2_SCL

 

 

Yes

D17

PB5

 

 

1_SMBA

 

 

 

D18

PB4

 

 

 

 

 

Yes

D19

PB3

 

 

 

 

 

Yes

D20

PA15

 

 

 

 

 

Yes

D21

PA14

 

 

 

 

 

Yes

D22

PA13

 

 

 

 

 

Yes

D23

PA12

 

1_ETR

 

1_RTS

 

Yes

D24

PA11

 

1_Ch5

 

1_CTS

 

Yes

D25

PA10

 

1_Ch4

 

1_RX

 

Yes

D26

PA9

 

1_Ch3

 

1_TX

 

Yes

D27

PA8

 

1_Ch2

 

1_CK

 

Yes

D28

PB15

 

 

 

 

2_MOSI

Yes

D29

PB14

 

 

 

3_RTS

2_MISO

Yes

D30

PB13

 

 

 

3_CTS

2_SCK

Yes

D31

PB12

 

1_BKIN

2_SMBA

3_CK

2_NSS

Yes

D32

PB8

 

4_Ch4

 

 

 

Yes

D33

PB1

CH9

3_Ch5

 

 

 

 

 

Источник <http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/hardware/maple-mini.html>

 

GPIO Port Pin Map

The following table shows what pins are associated with each GPIO port.

GPIOA

GPIOB

GPIOC

PA0: D11

PB0: D3

PC0: —

PA1: D10

PB1: D33

PC1: —

PA2: D9

PB2: D2

PC2: —

PA3: D8

PB3: D19

PC3: —

PA4: D7

PB4: D18

PC4: —

PA5: D6

PB5: D17

PC5: —

PA6: D5

PB6: D16

PC6: —

PA7: D4

PB7: D15

PC7: —

PA8: D27

PB8: D32

PC8: —

PA9: D26

PB9: —

PC9: —

PA10: D25

PB10: D1

PC10: —

PA11: D24

PB11: D0

PC11: —

PA12: D23

PB12: D31

PC12: —

PA13: D22

PB13: D30

PC13: D14

PA14: D21

PB14: D29

PC14: D13

PA15: D20

PB15: D28

PC15: D12

Timer Pin Map

The following table shows what pins are associated with a particular timer’s capture/compare channels.

Timer

Ch. 1

Ch. 2

Ch. 3

Ch. 4

1

D27

D26

D25

D24

2

D11

D10

D9

D8

3

D5

D4

D3

D33

4

D16

D15

D32

 

EXTI Line Pin Map

The following table shows which pins connect to which EXTI lines.

EXTI Line

Pins

EXTI0

D3, D11

EXTI1

D10, D33

EXTI2

D2, D9

EXTI3

D8, D19

EXTI4

D7, D18

EXTI5

D6, D17

EXTI6

D5, D16

EXTI7

D4, D15

EXTI8

D27, D32

EXTI9

D26

EXTI10

D1, D25

EXTI11

D0, D24

EXTI12

D23, D31

EXTI13

D14, D22, D30

EXTI14

D13, D21, D29

EXTI15

D12, D20, D28

USART Pin Map

The Maple Mini has three serial ports (also known as USARTs). They communicate using the pins given in the following table.

Serial Port

TX

RX

CK

CTS

RTS

Serial1

D26

D25

D27

D24

D23

Serial2

D9

D8

D7

D11

D10

Serial3

D1

D0

D31

D30

D29

Board-Specific Values

This section lists the Maple Mini’s board-specific values.

  • CYCLES_PER_MICROSECOND: 72
  • BOARD_BUTTON_PIN: 32
  • BOARD_LED_PIN: 33
  • BOARD_NR_GPIO_PINS: 34
  • BOARD_NR_PWM_PINS: 12
  • boardPWMPins: 3, 4, 5, 8, 9, 10, 11, 15, 16, 25, 26, 27
  • BOARD_NR_ADC_PINS: 9
  • boardADCPins: 3, 4, 5, 6, 7, 8, 9, 10, 11
  • BOARD_NR_USED_PINS: 4
  • boardUsedPins: BOARD_LED_PIN, BOARD_BUTTON_PIN, 23, 24 (23 and 24 are used by USB)
  • BOARD_NR_USARTS: 3
  • BOARD_USART1_TX_PIN: 26
  • BOARD_USART1_RX_PIN: 25
  • BOARD_USART2_TX_PIN: 9
  • BOARD_USART2_RX_PIN: 8
  • BOARD_USART3_TX_PIN: 1
  • BOARD_USART3_RX_PIN: 0
  • BOARD_NR_SPI: 2
  • BOARD_SPI1_NSS_PIN: 7
  • BOARD_SPI1_MOSI_PIN: 4
  • BOARD_SPI1_MISO_PIN: 5
  • BOARD_SPI1_SCK_PIN: 6
  • BOARD_SPI2_NSS_PIN: 31
  • BOARD_SPI2_MOSI_PIN: 28
  • BOARD_SPI2_MISO_PIN: 29
  • BOARD_SPI2_SCK_PIN: 30
  • BOARD_JTMS_SWDIO_PIN: 22
  • BOARD_JTCK_SWCLK_PIN: 21
  • BOARD_JTDI_PIN: 20
  • BOARD_JTDO_PIN: 19
  • BOARD_NJTRST_PIN: 18

 

Источник <http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/hardware/maple-mini.html>

 

Maple Mini — Maple v0.0.12 Документация

Эта страница является общим источником информации, относящейся к Maple Мини. Maple Mini — уменьшенная версия Maple, которая устанавливается на макетный.

Вы можете включить Maple Mini через USB-штекер или от Vin непосредственно.

Предупреждение

Шелкография на Maple Mini предполагает, что она примет входное напряжение до 16 В. Мы рекомендуем применять не более чем 12 В , и потенциально даже ниже в зависимости от тока оформить требования заявки.Пожалуйста, смотрите Power Инструкция по Maple Mini для больше информации.

Регулировка мощности на клене обеспечивается двумя линейными с малым падением напряжения регуляторы напряжения (Часть MCP1703 от Microchip, в Пакет СОТ-23А. Вы можете скачать таблицу здесь). Один из регуляторов подает питание на цифровую плоскость напряжения; другой подает питание на аналоговую плоскость напряжения.

Эти регуляторы напряжения номинально принимают входное напряжение до 16 В. В Кроме того, в то время как максимальный длительный выходной ток для платы 250 мА, если вы отключаете питание от более высоких напряжений, количество отключенный ток, который может подаваться, снижается из-за необходимости регулирования рассеять дополнительную мощность.Так что, если вы отключаете питание от 12 В, максимальный ток составляет около 40 мА при комнатной температуре. В общем (опять же, при комнатной температуре) максимальная мощность рассеяния (PD) для чипа около 0,37 Вт, а выходной ток = PD / (Vin-Vout). Для точного максимального тока расчеты, пожалуйста, обратитесь к таблице данных, связанной выше.

Если вы планируете получать большое количество тока с кленовой доски, это необходимо обеспечить входную мощность как можно ближе к 3,3 В возможно. Питание микроконтроллерной схемы и светодиодов на плате один занимает примерно 30 мА, так что если вы питаете плату от 12 В, что оставляет только 10 мА (в лучшем случае) доступным для питания любого пользователя схема.Попытка извлечь более 10 мА может привести к короткому замыканию из-за регуляторов мощности и кирпичной кладки.

Maple Mini имеет всего 34 входа / выхода, пронумерованных D0 через D33. Эти цифры соответствуют числовым значениям рядом к каждому заголовку на шелкографии Maple Mini. Тем не менее, некоторые из них по умолчанию имеют специальное использование.

Контакт D23 — это линия USB D +, а D24 — это USB D- линия. Чтобы использовать их в качестве GPIO, ваша программа должна будет отключить SerialUSB первый.Имейте в виду, однако, что отключение SerialUSB означает, что загрузчик не будет работать должным образом, и вам нужно будет использовать Perpetual Bootloader Mode для следующей загрузки.

Контакт D32 — это мини-контакт кнопки . Таким образом, это в основном полезно в качестве ввода . PIN-код будет читать ВЫСОКИЙ, когда кнопка нажата .

Пин D33 — это светодиодный штырь Mini . Это Таким образом, в основном полезен в качестве выхода .Светодиод будет светиться, когда ВЫСОКОЕ значение записано в . (Он также поддерживает PWM для более тонкой регулировки яркости).

Мастер Пин Карта

В этой таблице приведены сводные данные о доступных функциях для каждого GPIO. штифт, по периферийному типу. «5 В?» документы столбца, независимо от того, штырь 5 Вольт терпимый .

Обратите внимание, что эта таблица не является исчерпывающей; на некоторых выводах больше периферии доступны, чем перечислены здесь.

Карта контактов порта GPIO

В следующей таблице показано, какие выводы связаны с каждым GPIO порт .

GPIOA GPIOB GPIOC
PA0: D11 PB0: D3 PC0: —
PA1: D10 PB1: D33 ПК1: —
PA2: D9 PB2: D2 ПК2: —
PA3: D8 PB3: D19 ПК3: —
PA4: D7 PB4: D18 ПК4: —
PA5: D6 PB5: D17 PC5: —
PA6: D5 PB6: D16 ПК6: —
PA7: D4 PB7: D15 ПК7: —
PA8: D27 PB8: D32 ПК8: —
PA9: D26 PB9: — ПК9: —
PA10: D25 PB10: D1 PC10: —
PA11: D24 PB11: D0 ПК11: —
PA12: D23 PB12: D31 PC12: —
PA13: D22 PB13: D30 PC13: D14
PA14: D21 PB14: D29 PC14: D13
PA15: D20 PB15: D28 PC15: D12
Карта контактов таймера

В следующей таблице показано, какие выводы связаны с конкретным захват таймера / сравнение каналов.

Таймер Ch. 1 Ch. 2 Ch. 3 Ch. 4
1 D27 D26 D25 D24
2 D11 D10 D9 D8
3 D5 D4 D3 D33
4 D16 D15 D32

EXTI Line Карта контактов

В следующей таблице показано, какие контакты подключены к каким линиям EXTI .

EXTI Line Пинов
EXTI0 D3, D11
EXTI1 D10, D33
EXTI2 D2, D9
EXTI3 D8, D19
EXTI4 D7, D18
EXTI5 D6, D17
EXTI6 D5, D16
EXTI7 D4, D15
EXTI8 D27, D32
EXTI9 D26
EXTI10 D1, D25
EXTI11 D0, D24
EXTI12 D23, D31
EXTI13 D14, D22, D30
EXTI14 D13, D21, D29
EXTI15 D12, D20, D28

USART Карта контактов

Maple Mini имеет три последовательных порта (также известный как USART ).Они общаются, используя контакты, указанные в следующем стол.

Серийный порт TX RX СК CTS РТС
Serial1 D26 D25 D27 D24 D23
Serial2 D9 D8 D7 D11 D10
Serial3 D1 D0 D31 D30 D29

АЦП с низким уровнем шума

Maple Mini имеет электрически изолированную аналоговую плоскость питания с собственный регулятор и геометрически изолированная заземляющая плоскость, подключенная к цифровая плоскость с помощью индуктора.Его аналоговые входные контакты, D3 — D11, выложены так, чтобы соответствовать этим аналоговым плоскостям, а наши измерения показывают, что они обычно предлагают малошумящий АЦП производительность. Однако аналоговые характеристики могут отличаться в зависимости от деятельность других GPIO. Обратитесь к оборудованию Maple Mini файлы дизайна для более подробной информации.

Схемы оборудования и файлы макетов платы доступны в Maple Mini GitHub хранилище.

На главной странице репозитория GitHub вы можете загрузить весь хранилище, нажав кнопку «Скачать».Если вы знакомы с помощью Git вы также можете клонировать репозиторий в командной строке с

 $ git clone git: //github.com/leaflabs/maplemini.git 
,

листов / maplemini: Схема и компоновка Maple Mini

перейти к содержанию Зарегистрироваться
  • Почему GitHub? Особенности →
    • Обзор кода
    • Управление проектами
    • Интеграция
    • Действия
    • Пакеты
    • Безопасность
    • Управление командой
    • Хостинг
    • Отзывы клиентов →
    • Безопасность →
  • команда
  • предприятие
  • Проводить исследования
    • Исследуйте GitHub →
    учиться и внести свой вклад
    • Темы
    • Коллекции
    • Тенденции
    • Learning Lab
    • Руководства с открытым исходным кодом
    Общайтесь с другими
    • События
    • Общественный форум
    • GitHub Education
.

Maple Mini Original — PlatformIO 4.4.0a5 документация

PlatformIO

последний

  • Что такое PlatformIO?

Начало работы

  • PlatformIO IDE
  • PlatformIO Core (CLI)
  • PlatformIO Home
  • Учебники и примеры

Конфигурация

  • платформа.Ини
  • Переменные среды
  • Расширенные сценарии

Инструменты

  • менеджер библиотеки
  • Платформы
  • Каркасы
  • Доски
    • Aceinna IMU
    • ASR Микроэлектроника ASR605x
    • Atmel AVR
    • Atmel megaAVR
    • Atmel SAM
    • ЧИПС Альянс
    • Espressif 32
    • Espressif 8266
    • Freescale Kinetis
    • GigaDevice GD32V
    • Infineon XMC
    • Intel ARC32
    • Intel MCS-51 (8051)
    • Kendryte K210
    • Решетка iCE40
    • Linux ARM
    • Максим 32
    • Микрочип PIC32
    • Nordic nRF51
    • Nordic nRF52
    • Ядра
    • NXP i.MX RT
    • NXP LPC
    • RISC-V GAP
    • Шакти
    • SiFive
    • Silicon Labs EFM32
    • ST STM32
      • 1Bitsy
      • 32F412GDISCOVERY
      • 32F723EDISCOVERY
      • Контроллер 3D-принтера
      • Панель управления 3D-принтером
      • 3D контроллер принтера
      • 3DP001V1 Оценочная плата для 3D принтера
      • 96Boards Argonkey (STEVAL-MKI187V1)
      • 96Boards B96B-F446VE
      • 96Boards Neonkey
      • 96Boards Neonkey
      • Adafruit Feather STM32F405
      • AfroFlight Rev5 (8 МГц)
      • Armstrap Eagle 1024
      • Armstrap Eagle 2048
      • Armstrap Eagle 512
      • Черный STM32F407VE
      • Черный STM32F407VG
      • Черный STM32F407ZE
      • Черный STM32F407ZE
      • BlackPill F103C8
      • BlackPill F103C8 (128k)
      • BlackPill F303CC
      • BlackPill F401CC
      • Blue STM32F407VE Mini
      • BluePill F103C6
      • BluePill F103C8
      • BluePill F103C8 (128k)
      • Основная плата F401RCT6
      • Демо F030F4
      • Электросмит Дейзи
      • Espotel LoRa Модуль
      • F407VG
      • FK407M1
      • FYSETC S6
      • L476DMW1K
      • M200 V2
      • M300
      • MKR Sharky
      • МТС Стрекоза
      • Malyan M200 V1
      • клен
      • Клен (RET6)
      • Maple Mini Bootloader 2.0
      • Клен Мини Оригинал
        • Оборудование
        • Конфигурация
        • Загрузка
        • Отладка
        • Каркасы
      • Mbed Connect Cloud
      • Microduino Core STM32 для Flash
      • Microsoft Azure IoT Development Kit (MXChip AZ3166)
      • MultiTech mDot
      • MultiTech mDot F411
      • MultiTech xDot
      • N2 +
      • NAMote72
      • Nucleo G071RB
      • Nucleo G431KB
      • Nucleo G431RB
      • Nucleo G474RE
      • OLIMEXINO-STM32
      • Olimex STM32-P405
      • P-Nucleo WB55RG
      • PYBSTICK26 Duino
      • PYBStick 26 Pro
      • PYBStick Lite 26
      • PYBStick Стандарт 26
      • Piconomix PX-HER0
      • PrntrBoard V2
      • RAK811 LoRa Tracker
      • RAK811 LoRa Tracker
      • RHF76 052
      • RushUp Cloud-JAM
      • RushUp Cloud-JAM L4
      • ST 32F3348DISCOVERY
      • ST 32F401CDISCOVERY
      • ST 32F411EDISCOVERY
      • ST 32F413HDISCOVERY
      • ST 32F429IDISCOVERY
      • ST 32F469IDISCOVERY
      • ST 32F746GDISCOVERY
      • ST 32F769IDISCOVERY
      • ST 32L0538DISCOVERY
      • ST 32L100DISCOVERY
      • ST 32L476GDISCOVERY
      • ST 32L496GDISCOVERY
      • ST B-L475E-IOT01A Комплект для обнаружения
      • ST DISCO-L072CZ-LRWAN1
      • ST Discovery F072RB
      • ST Nucleo F030R8
      • ST Nucleo F031K6
      • ST Nucleo F042K6
      • ST Nucleo F070RB
      • ST Nucleo F072RB
      • ST Nucleo F091RC
      • ST Nucleo F103RB
      • ST Nucleo F207ZG
      • ST Nucleo F302R8
      • ST Nucleo F303K8
      • ST Nucleo F303RE
      • ST Nucleo F303ZE
      • ST Nucleo F334R8
      • ST Nucleo F401RE
      • ST Nucleo F410RB
      • ST Nucleo F411RE
      • ST Nucleo F412ZG
      • ST Nucleo F413ZH
      • ST Nucleo F429ZI
      • ST Nucleo F439ZI
      • ST Nucleo F446RE
      • ST Nucleo F446ZE
      • ST Nucleo F722ZE
      • ST Nucleo F746ZG
      • ST Nucleo F756ZG
      • ST Nucleo F767ZI
.
STM32F103CBT6 Maple Mini ARM STM32 Cortex M3 Минимальная системная плата разработки 3.3В USB Цифровой IO PWM Pins Порт для Arduino | |
  • Процессор: STM32F103CBT6, процессор 32 ARM Cortex-M3
  • Частота: 72 МГц
  • 128 КБ Flash и 20 КБ SRAM
  • 34 цифровых порта ввода / вывода (GPIO)
  • 12 16-битный прецизионный ШИМ порт
  • 9 12 прецизионный аналоговый вход (АЦП) порт
  • 2 канала SPI
  • 2 канала I2C
  • 7-канальный прямой доступ к памяти (DMA) (dma.час)
  • 3 USART (последовательный) канал
  • Расширенные и три таймера общего назначения
  • Может быть загружен непосредственно через порт USB и программу связи
  • Внешний JTAG
  • Вложенный векторный контроллер прерываний (NVIC) (включая GPIO на внешнем прерывании)
  • Поддержка низкого энергопотребления, сна и стандартного режима (<500 А)
  • Рабочее напряжение: 3,3 В
  • Входное напряжение (рекомендуется): 3 В — 12 В
  • Размер: 2.02 «× 0,72»

Maple Mini имеет 34 входа / выхода, пронумерованных от D0 до D33. Метка Maple Mini на экране соответствует порту и прилегающим к нему. Тем не менее, они по умолчанию имеют специальное назначение.
D23 — это USB-порт D +, D24 — это USB D-. Такие, как их использование в качестве GPIO, то ваша программа должна сначала отключить порт USB. Но вы знаете, отключение последовательного загрузчика USB означает, что приоритет не будет работать, вам нужно будет передать Perpetual Bootloader для следующего обновления.


Порт D32 — это порт мини-кнопки. Поэтому он в основном используется в качестве входного порта. Когда клавиша нажата, магнитный порт будет читать высоко.


Порт D33 — это мини светодиодный порт. Поэтому его основная роль заключается в качестве выходного порта. Когда будет написано с высоким, светодиодные фонари будут гореть

,

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *