9 years, 10 months ago.

Could LeafLabs' Maple board run mbed?

Hi all,

I have a LeafLabs' Maple Rev5 board (http://leaflabs.com/docs/hardware/maple.html), and I see it uses exactly the same STM32F103RBT6 MCU as the Nucleo-F103RB board. Is it possible to reflash the Maple board so it can run mbed? If yes, then how? I found only one reference of the Maple board in the forum (http://mbed.org/forum/mbed/topic/74/), which is of no help... Any advice is very much appreciated. Many thanks in advance. Mac Ha

5 Answers

9 years, 1 month ago.

I have the same question,or if Nucleo-F103RB can reflash Maple's bootloader?It have two extension resources,include Arduino Uno Revision 3 connectivity.

9 years, 10 months ago.

Hello,

that maple got bootloader already resided on the chip . Does it support .bin ? What about crystal and MCU clocks? Is there any serial peripheral as na output through usb , similar to CMSIS-DAP (there's that USBTX, USBRX?

You can test hello world example if it runs. Probably will need to add a new target based on nucleo F103RB board to mbed.

Take this as my assumptions. Let us know your progress.

Regards,
0xc0170

Hello, and thanks for the reply. The Maple board has an Arduino-like bootloader, but can be reflashed with .bin - this page gives the procedure using Python and PySerial to load .bin file into the board: http://leaflabs.com/docs/bootloader.html#flashing-a-custom-bootloader

I'm just wondering would it work if I load the mbed's Nucleo-F103RB firmware, and if it'll work, where can I get the bin file?

Regarding crystal and MCU clocks: as far as I understand, it runs at 72 MHz and has 8 MHz crystal on board. All the MCU GPIOs are broken out, some into Arduino compatible headers, including USART. There's a USB connector, too, using USBDP and USBDM pins (PA11 and PA12). JTAG pins are also broken out... I'm not sure about CMSIS-DAP, USBTX, USBRX though.

All in all, by itself its a quite interesting STM32 Arduino-compatible clone, which can be programmed via USB. The only thing I don't like, it uses its own Arduino-like IDE, with sets of ported libraries. At LeafLabs, looks like, this project is in limbo, the libraries are not being updated, and the inconvenience of having one more IDE (besides Arduino for AVRs and Energia for TI's) on my laptop just for this one board, left it collecting dust in my drawer. If I can revive it as a mbed-compatible board, that would be great!

Thanks again and hopeful for the help. Mac Ha

posted by Ha Mac Nguyen 29 May 2014

Nucleo uses separate chip only for interface, which I believe you can't use for your board.

If it has jtag headers polluted, you can use another board for flashing. I have seen boards like KL25Z flashing another LPC board, using CMSIS-DAP on KL25Z board. There's an article about it which you can find, also here is a repository with a code. This could be an option for you, but anyway, you most probably need to port your new board to mbed. Check tools page on mbed, good start.

Regards,
0xc0170

posted by Martin Kojtal 30 May 2014
7 years, 8 months ago.

Hello,
If you have a retired Maple mini board and would like to use it with mbed then https://developer.mbed.org/users/hudakz/code/MapleMini_Hello/ might be handy for you.

7 years, 8 months ago.

The interrupt vector table is moved in Maple due to bootloader. Normally the interrupt vector table starts at 0x08000000 but in original Maple the vector table starts at 0x08005000 (there is a newer, smaller, bootloader known as version 2 with vector table at 0x08002000). These differences are very important for correct operation on Maple board. It is possible also to erase the bootloader and to program the board with ST-Link, with this configuration the board is compatible with Nucleo F103RB

8 years, 10 months ago.

PA_13 and PA_14 the SWD pins are broken out to P21 and P22. Can use the ST-LINK programmer from a nucleo board this way maybe?