MapleMini

Da wiki.piffa.net.
Maple.jpg

Le Maple Mini sono il modello di riferimento per il progetto [[ http://stm32duino.com/index.php | STM32duino]] che si propone di portare l'ambiente di programmazione Wiring - Arduino su piattaforma STM32 utilizzando l'Arduino IDE. Il risultato e' hardware molto piu' potente delle classiche Arduino AVR ad un prezzo molto competitivo, inferiore alle Teensey PJRC e con un ampio tipo di schede disponibili. Queste schede hanno 3 seriali, 32 PIN, 12 PWM 16 bit , 9 analogici, 72cicli per ms, 128 KB Flash and 20 KB SRAM, 2 I2C e SPI, 7 DMA, fornisce fino a 500 mA a 3.3 V, 20 pin sono tolleranti 5v (la scheda e' a 3.3v). Al momento la scheda consigliata e' la Maple Mini: http://www.aliexpress.com/item/STM32F103CBT6-maple-mini-ARM-STM32-compatibility/1987703487.html , viene consigliata la versione con il marchio "BAITE" per migliore qualita' costruttiva.

Info generali[modifica]

Altre schede STM32 il cui supporto per STM32duino e' in sviluppo citate sul forum:

[NUCLEO-F103RB] e' spesso citata sul sito e dallo stesso Roger Clark ma questa scheda non ha il quarzo collegato al MCU e richiede quindi alcune modifiche per poter essere usata: [1] [2]

Altre Schede[modifica]

Varie schede con supporto in sviluppo per STM32Arduino. Le schede sono generalmente utilizzabili anche con Mbed.

Si consiglia inoltre un FTDI e un adattatore ST-Link

Primo Utilizzo[modifica]

Per l'installazione si veda le istruzioni originali: https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation Si scarichi l'archivio https://github.com/rogerclarkmelbourne/Arduino_STM32, decomprimere e mettere tutto l'archivio nella cartella ***hardware*** della propria istallazione di Arduino (es. /usr/share/arduino/hardware/ ) oppure creare una cartella hardware nella cartella degli sketch.

Installare il pacchetto dfu-util , eseguire dall'utente di sistema lo script: hardware/Arduino_STM32/tools/linux/install.sh , altrimenti DFU non avra' i permessi per scrivere sulla scheda.

Al primo collegamento tramite USB la Maple Mini clone viene vista come:

dmesg [31703.223654] usb 3-11: new full-speed USB device number 33 using xhci_hcd [31703.352757] usb 3-11: New USB device found, idVendor=1eaf, idProduct=0003 [31703.352761] usb 3-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3 [31703.352763] usb 3-11: Product: Maple 003 [31703.352764] usb 3-11: Manufacturer: LeafLabs [31703.352766] usb 3-11: SerialNumber: LLM 003

Dopo il primo upload: [31756.556113] usb 3-11: new full-speed USB device number 35 using xhci_hcd [31756.685354] usb 3-11: New USB device found, idVendor=1eaf, idProduct=0004 [31756.685357] usb 3-11: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [31756.685358] usb 3-11: Product: Maple [31756.685359] usb 3-11: Manufacturer: LeafLabs [31756.685435] usb 3-11: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes [31756.685693] cdc_acm 3-11:1.0: ttyACM0: USB ACM devic


Settare l'IDE Arduino con:

  • Board = Maple Mini
  • Bootloader: original
  • Programmer: qualunque (viene caricato via DFU)


Al primo upload non si imposta la porta, sucessivamente questa' sara' disponibile come per le schede Arduino. Durante l'upload dovrebbe lampeggiare il led centrale segnalando lo stato della scheda, dopo il caricamento la scheda verra' resettata (2/3 secondi) e solo allora verra' eseguito il programma.

Il LED ONBOARD e' identificato come PB1, si veda la cartella: Arduino_STM32/examples/Digital/Blink/Blink.ino per i primi esempi.

void setup() {
  // PB1 e' il LED onboard
  pinMode(PB1, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(PB1, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(200);              // wait for a second
  digitalWrite(PB1, LOW);    // turn the LED off by making the voltage LOW
  delay(200);              // wait for a second
}

Esempio di una sessione di Upload:

Opening DFU capable USB device...
ID 1eaf:0003
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 1024
Copying data from PC to DFU device

Download	[                         ]   0%            0 bytes
Download	[=                        ]   7%         1024 bytes
Download	[===                      ]  15%         2048 bytes
Download	[=====                    ]  23%         3072 bytes
Download	[=======                  ]  30%         4096 bytes
Download	[=========                ]  38%         5120 bytes
Download	[===========              ]  46%         6144 bytes
Download	[=============            ]  53%         7168 bytes
Download	[===============          ]  61%         8192 bytes
Download	[=================        ]  69%         9216 bytes
Download	[===================      ]  76%        10240 bytes
Download	[=====================    ]  84%        11264 bytes
Download	[=======================  ]  92%        12288 bytes
Download	[======================== ]  99%        12316 bytes
Download	[=========================] 100%        12316 bytes
Download done.
state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
Done!
Resetting USB to switch back to runtime mode

Si consiglia di mettere la scheda in http://static.leaflabs.com/pub/leaflabs/maple-docs/latest/troubleshooting.html#perpetual-bootloader-mode