Look here:
http://www.farnell.com/datasheets/1795874.pdf
ST making arduino like boards called NUCLEO 4 models from cortex M0 to M4
Look here:
http://www.farnell.com/datasheets/1795874.pdf
ST making arduino like boards called NUCLEO 4 models from cortex M0 to M4
Interesting they don't use the F2 and F3 series. Pricing is also very strange, AUD$15.15 for each board, is it going to be like the discovery boards where they're loosing money? Might get a few and see if libmaple support could be added with minimal fuss.
Mine have arrived, but I haven't tried them yet:
http://uk.farnell.com/jsp/search/browse.jsp?N=2031+204200&Ntk=gensearch&Ntt=nucleo&Ntx=mode+matchallpartial
£7.21+VAT, free postage over £20, so I bought three!-)
Hello,
see also by Mouser http://www2.mouser.com/Search/Refine.aspx?Keyword=stm+nucleo
very cheep I think it is sponserd by STM
the NUCLEO-F103RB is possible to use with MAPLE.
The first Step is the programming of MAPLE bootloader.
Documents are here
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00105823.pdf
http://www.st.com/web/catalog/tools/FM116/SC959/SS1532/LN1847
bleistiftspitzer - I don't understand why anyone would want to put the Maple bootloader onto a Nucleo.
The Nucleo already has a very neat bootloader built in.
A Nucleo looks like a USB Flash drive to the host PC.
Writing the STM32 program binary onto that USB Flash drive loads the program into the target MCU.
There is no need for a DFU bootlaoder.
A copy command does the job. Or a 'save' from any host program. That is how mbed works; it uses a web browser's 'save' command.
Hello.
Tried someone to add maple-mini target to mbed library?
anton - "Tried someone to add maple-mini target to mbed library?"
I'm not sure I understand the question.
Do you mean:
a. has anyone put an mbed bootloader onto a Maple-mini?
b. has anyone developed and uploaded a library to the mbed site which conforms to the mbed API, but which uses Maple-mini's STM32F103 peripherals?
c. both, so that the mbed toolchain could be used to compile and upload programs to the Maple-mini?
the nucleo/mbed platform is pretty awesome. I'm thinking about moving over that direction entirely
Fun fact: the breakout portion of the nucleo board is actually an embedded ST-LINK/V2. This means you can use just that portion to load maple boards with the fancy bootloader that the nucleo has. No seperate STLINK programmer needed, just use the cheap nucleo board as your programmer!
It's also cool to drop a .bin file into the uploader and have it just upload and work without fuss. There is no editing of the maple board config file to add a jtag target or anything like that.
@jstamour802:
That sounds pretty interesting. I also have a NUCLEO F401RE board and a few Maple boards.
- How did you hook up the Maple to the Nucleo?
- Are you using the mbed library & compiler or the MapleIDE?
- where did you get the .bin file from?
Thanks,
Mike
Hi Mike,
If you look up the nucleo datasheet (I have the one that parallels the Maple board, F103) there is a jumper that you move to put it into "ST-LINK" mode. With the jumpers removed it is in "ST-LINK" mode, and the connector next to the jumper can be used to program an external board.
Check out page 13 thru 15 of this manual:
http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00105823.pdf
Notice the jumper has silkscreen text that shows "STLINK" and "NUCLEO", one with the jumpers placed and without. If you remove the jumpers, you can use the header to the left to program an external board using the SWD pins.
Here are the steps I took:
1. You'll need to add the F103 Nucleo board to your MBED interface, that way you can compile the program for the F103 (Maple) target. Compile your program assuming this board, and the .bin file will be created. Start with a dumb hello world or LED blinky app just to test it out
2. Connect the SWD header (CN4) from the Nucleo board to the SWD pins of your target maple board, following the pinout on page 15. I dont think I wired up pin 5 or 6, but I cant remember.. do some research. SWD is really easy to use.
3. Remove the shunts on the jumper (CN2) on your Nucelo board to put it into "ST-LINK" Mode
4. Upload the .bin file you generated just like you would using the Nucleo by itself. THe program will go to the Maple instead with the jumpers remove
5. Rejoice! Don't spend any money on an STLINK unless you want the jtag debugging abilities.
I was shocked at how easily I uploaded an MBED bin file to my custom board. As someone who feels almost jinxed with these things not working as imagined, it worked right off the bat.
A final note:
you CAN use the Maple IDE to generate the BIN file. If you turn on Verbose compiling in the settings, it will tell you were the bin file is generated... BUT you must compile the program in Maple for a JTAG target. I struggled with this until I got some help myself.
You must edit a config file in the Maple IDE to add JTAG as your target.
See this post for the solution:
http://forums.leaflabs.com/topic.php?id=74271#post-105219
I hope this helps! Good Luck!
Thank you for the detailed explanation! I will try that out too.
SWD. Yes of cause !!!
Thank you to Jstamour802 for getting me back on the right track.
No more teeth grinding about the non-standard JTAG interface and no more fiddling with boot load.
I soldered the 2 x 4 JTAG pin headers onto the board and connected Vcc, Gnd, JTSM and JCLK to the ST-LINK/V1 interface on a STM32VL-Discovery just like jstamour802 did with the st-link/v2 on the nucleo board.
This is kewl. I compiled a blinker using mbed for nuleo 103. I did this using windows, so I upload the .bin file to the Maple using ST-Link utility, on linux you’ll use openocd / gdb as usual. It worked as expected w.o. any problems.
Please note that loading binaries onto the Maple like this will wipe out the start of the boot loader and binaries MUST build for being loaded at 0x08000000. Mbed binaries are linked to start at 0x08000000. Maple Ide binaries must be compiled for JTAG target.
“HEY! Didn’t you say that this wipes out the boot loader !?!?” It does. If you want it back, which I doubt, you can flash it back the same way you uploaded the binary.
If you don’t have access to a st-link SWD interface, the least expensive way to get hold of one looks like buying a nucleo 103 board (or any other nucleo) and cut the swd interface off using a dremmel or similar. The nucleo is prepared for this cutting off the SWD interface. The part of the nucleo board holding the STM32 chip will still work and can be programmed from the detached SWD using bread board wires. If you get a nucleo 103, you’ll end up with an swd interface and an extra board much like you old Maple.
Now we now have so much more rope to swing in. We can use both libmaple og mbed on our Maple. We can debug the lib maple program using gcc and gdb on linux. On windows both CoCox (free) or CrossWorks (payware) support stm32f103rb as target and could be an option for building and debugging.
I haven't tried CoCox only CrossWorks because I already had a license
Cheers
A couple of small points.
The nucleo's 'st-link' half of the board implements both an 'st-link/v2' and is an mbed-compatible bootloader.
That mbed bootloader looks like a USB flash drive.
A .bin can be loaded using an ordinary copy command, or 'save as' from any program, e.g. a web browser.
There is no need to install software if all you need is to upload a program.
I believe the mbed 'USB flash drive' bootloader works for any host PC platform: Windows, Linux, OS X, and others.
So, in theory it should be possible to use a nucleo's debugger-side to upload a program for any supported STM32F, without using JTAG, or ST-LINK, or even installing any software. That is the genius of mbed.
AFAIK, mbed supports STM32F103, so it should have peripheral libraries for STM32F103 peripherals.
Warning: I haven't tried this yet
(Full disclosure: I am not a member of LeafLabs staff.)
After add nucleo to mbed - maple team can close this project.
Gbulmer you are absolutely correct.
I was so focused on getting started with on chip debugging, that I forgot about the mbed part of the firmware in nucleo. I further didn’t have a Nucleo board, when I wrote my first post. I was using the st-link/v1 on a value line stm32f100 discovery board. That firmware doesn’t have mbed functionality, and will probably never get it.
When I'm going to do on chip debugging, I most likely will upload my binary to the board using the debugger software. I only used the st-link utility to verify link on the SWD level.
The debug probe on the Nucleo boards has a combined st-link and mbed firmware.
Yes the mbed firmware mimics an usb mass storage device and is formatted using FAT file system. Hence any OS that can use an usb flash device and which know how to read and write a MS-DOS file system can upload binaries to the mbed disk device.
I got a ST Nucleo F103RB now, so I tested gbulmers idea about using the mbed disk to upload to the maple and it worked flawlessly. That is provided the st-link/mbed probe is connected correctly via jumper wires to a powered on and working STM32 device.
If the SWD link to you STM32 isn't up and running, the mbed disk will appear to be write protected to you OS and the firmware will leave an error message in a txt file for you. Brilliant!
The Nucleo is reset automatically after upload of a binary. You'll have to press reset on the Maple. The RESET line from the st-link can only control one McU at the time i.e. you have to remove Solder Bridge on the Nucleo PCB to utilize the reset line a pin 5 of the SWD headers on nucleo st-link.
On chip debugging sorted and goodby (for me at least) to the Maple boot loader.
Cheers
You must log in to post.