MapleMini

Da wiki.piffa.net.
Maple.jpg

Le Maple Mini sono il modello di riferimento per il progetto 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:

  1. dmesg
  2. [31703.223654] usb 3-11: new full-speed USB device number 33 using xhci_hcd
  3. [31703.352757] usb 3-11: New USB device found, idVendor=1eaf, idProduct=0003
  4. [31703.352761] usb 3-11: New USB device strings: Mfr=1, Product=2, SerialNumber=3
  5. [31703.352763] usb 3-11: Product: Maple 003
  6. [31703.352764] usb 3-11: Manufacturer: LeafLabs
  7. [31703.352766] usb 3-11: SerialNumber: LLM 003
  8. [/code]
  9.  
  10. Dopo il primo upload:
  11. [code][31756.556113] usb 3-11: new full-speed USB device number 35 using xhci_hcd
  12. [31756.685354] usb 3-11: New USB device found, idVendor=1eaf, idProduct=0004
  13. [31756.685357] usb 3-11: New USB device strings: Mfr=1, Product=2, SerialNumber=0
  14. [31756.685358] usb 3-11: Product: Maple
  15. [31756.685359] usb 3-11: Manufacturer: LeafLabs
  16. [31756.685435] usb 3-11: ep 0x82 - rounding interval to 1024 microframes, ep desc says 2040 microframes
  17. [31756.685693] cdc_acm 3-11:1.0: ttyACM0: USB ACM devic
  18.  


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.

  1.  
  2. void setup() {
  3. // PB1 e' il LED onboard
  4. pinMode(PB1, OUTPUT);
  5. }
  6.  
  7. // the loop function runs over and over again forever
  8. void loop() {
  9. digitalWrite(PB1, HIGH); // turn the LED on (HIGH is the voltage level)
  10. delay(200); // wait for a second
  11. digitalWrite(PB1, LOW); // turn the LED off by making the voltage LOW
  12. delay(200); // wait for a second
  13. }
  14.  

Esempio di una sessione di Upload:

  1. Opening DFU capable USB device...
  2. ID 1eaf:0003
  3. Run-time device DFU version 0110
  4. Claiming USB DFU Interface...
  5. Setting Alternate Setting #1 ...
  6. Determining device status: state = dfuIDLE, status = 0
  7. dfuIDLE, continuing
  8. DFU mode device DFU version 0110
  9. Device returned transfer size 1024
  10. Copying data from PC to DFU device
  11.  
  12. Download [ ] 0% 0 bytes
  13. Download [= ] 7% 1024 bytes
  14. Download [=== ] 15% 2048 bytes
  15. Download [===== ] 23% 3072 bytes
  16. Download [======= ] 30% 4096 bytes
  17. Download [========= ] 38% 5120 bytes
  18. Download [=========== ] 46% 6144 bytes
  19. Download [============= ] 53% 7168 bytes
  20. Download [=============== ] 61% 8192 bytes
  21. Download [================= ] 69% 9216 bytes
  22. Download [=================== ] 76% 10240 bytes
  23. Download [===================== ] 84% 11264 bytes
  24. Download [======================= ] 92% 12288 bytes
  25. Download [======================== ] 99% 12316 bytes
  26. Download [=========================] 100% 12316 bytes
  27. Download done.
  28. state(8) = dfuMANIFEST-WAIT-RESET, status(0) = No error condition is present
  29. Done!
  30. 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