[Pulko Mandy] got his hands on the new STM32 F3 Discovery board. He’s a fan of the open source tools just like we are, so he posted a guide covering the use of an open source toolchain with the F3 hardware.
This board was just announced earlier this month but there is already support for it in OpenOCD. It’s not all that different from the F4 board, which we would think made the process a bit easier. [Pulko] is using the Sourcery CodeBench Lite toolchain, which works for pretty much all of the ARM chips out there. It is GCC based and comes with GDB for debugging (along with all the other tools you would expect). He did created his own Linker script and startup code. These are crucial for ARM so it’s nice that he provided them for us. He finishes up the guide by showing how OpenOCD can be used to flash the code to the chip and how it works with the debugger.
Yep, that blue light is blinking and I made it happen. I’ve been hard at work since I got my free STM32F0-Discovery board in the mail. Most recently I put together a starting template for building STM32F05x project on Linux. You’ll still need to install your own tool chain (I’m using the Code Sourcery G++: Lite Edition), but this makes it a snap to compile your projects with support for STM’s peripheral libraries.
As for programming, you may remember that I added support for writing to RAM in the stlink project. I’ve
wasted spent a ton of time trying to get support for writing to Flash into that project. It’s just less of a hassle to use stlink than it is to work with OpenOCD. But I’ve really hit a wall getting the flash loader code to work. If you want to check out what I’ve done so far in that area I committed a very messy branch (see the commits for what code changes I’ve made).
In the mean time you can use OpenOCD to write images compiled with the template to your device. I included the ‘make program’ option in the Makefile to do this from command line. If you need help compiling OpenOCD check the readme in the template repository.
The STM32 Discovery boards are nothing new, we’ve looked at them several times. But the newest sibling in the line might be just the thing to make the leap from your steadfast 8-bit projects. We got our hands on it and recorded a video review.
The STM32F0-Discovery gives you a programmer and ARM Cortex-M0 chip all on one convenient board. The top portion is the ST-Link V2 programmer, and includes jumpers and a programming header which let it easily program off-board chips.
The included microcontroller is an STM32F051R8T6 which includes 64kb of program memory and 8kb of RAM. Coming in at $1.80-3.77 in single units and in a hand-solderable LQFP package this raises an eyebrow for our future projects. It has an 8 MHz internal oscillator with 6x PLL which means you can run at 48 MHz without an external crystal (check out [Kenneth Finnegan’s] PLL primer if you don’t know what this is).
The only thing holding us back is the development environment. ST provides everything you need if you’re on Windows, but we want a Linux friendly solution. We know other Discovery boards have worked under Linux thanks to this project. This uses the same ST-LINK V2 so it should work as well. If you want one of your own head over the ST page to see if they’re still giving away samples. There should be a button labeled “Register for your FREE KIT”.
[Bingo] did some work porting Versaloon for STM8 and STM32 discovery boards. Versaloon is a multiple-architecture programmer that we saw a few weeks back. At its center is an STM32 microprocessor, which greatly simplifies the work necessary to use the two discovery boards instead. Flashing the firmware to the boards will zap the ST-link firmware and [Bingo] doesn’t know of a way to restore that so be warned. This hack is still pretty fresh off the bench, but so far it looks like vsprog and OpenOCD both work just fine with the new hardware.
Like us, you probably have piles of old PS/2 keyboards occupying strategic positions in your house and causing all sorts of trouble with the neighbours. As luck would have it, there is a way to put those lazy peripherals to work!
Our friends in the Czech Republic have successfully interfaced a PS/2 keyboard to an STM32 Discovery board (translated), and not a moment too soon—just in time for you to integrate their work into your entries for those juicy contests we told you about (the European one and the North American one).
The project page contains an in-depth walkthrough of how the PS/2 connection talks to the keyboard hardware along with source code and links, more than enough information to get started with a PS/2 keyboard hack on your Discovery application. And why stop at keyboards? Give your old PS/2 mouse a new lease on life, or even hook up your custom game controller to spice up the experience.
EBVElectronik of Germany is hosting a design contest based around the STM32F microcontroller. They are inviting engineers and inventors to come up with the best general purpose design ideas, with prizes including a Harley Davidson Motorcycle and a 1000 euro Apple voucher. Even better, they are offering a free STM32 Discovery Kit to anyone who enters, just to get them started. Sound too good to be true? Well, there is one catch. As of right now, entrants are limited to:
Any individual or group of individuals, age 18 and over as of the date of entry and located in EMEA (Europe and Middle East and Africa)
Sorry USA. We have to save some love for the international crowd. Do us a favor and let us know what you are planning to build, or if you win any of the prizes!
STMicroelectronics has another inexpensive development board out; the STM32 Discovery is an ARM Cortex-M3 prototyping platform. Coming in under $10 puts it right along the lines of their 8-bit offering, but this one is 32-bits with 5 KB of RAM and 128 KB of programming memory. It runs a bootloader and has on-board USB for easy programming. They’ve even got a trio of crippled IDE’s to get you started.
Unfortunately this is following a growing trend with the exclusion of Linux support. [Gordon] wrote in to let us know that there is hope in a couple of forms (but not using the USB functionality). The first is a serial programmer using the RS232 that [Paul] came up with (there’s a lot more on his blog so spend some time there). But you can also use the serial debug protocol to program the board.
Either way you’ll still need a method of compiling the code. We’ve had great success rolling our own GNU ARM cross compiler using this guide. Or you can grab a pre-built package by downloading Sourcery G++ lite.