How to NOT use .NET with the FEZ Cerberus Mainboard

Dear List,

I want to develop software for the FEZ Cerberus Mainboard NOT using .NET, only using
bare-bone C code.
Can this be done for example with only gcc, such as from
GNU Arm Embedded Toolchain in Launchpad
and the standard periphirals library for the STM32F4 from ST?

I use Linux as my development platform, and hopefully OPENOCD for flashing via jtag.

I assume that this is possible, because everything is open source,
but I want to be sure before bying some boards.

So, is this possible, and does anybody has any experience with this?

Thanks in advance,
Sietse Achterop
University of Groningen
The Netherlands

PS. One of the goals is to make a target for Matlab/Simulink for these boards.

Yes,It is possible. Refer to the schematics for pin mapping and you should be good to go.

Welcome to the forum!

The Cortex processors are really designed to be used with the new SWD interface – I’m not sure which JTAG adapter you’re planning on using, but make sure it supports SWD.

I posted a little picture and description of my set-up. There’s nothing particularly interesting about it, but be forewarned that you’ll have to solder the reset wire directly to the board, since the reset pin isn’t broken out at all (like it is on the FEZ Hydra).

Also, if this is new to you, I’d highly recommend going with something like CooCox; it’s a fully-featured open-source IDE that’s easy to install and configure. It supports the STM32F4 out of the box.

One last thing to note: although the FEZ Cerberus is capable of doing what you’re talking about, I’d recommend getting an STM32F4Discovery board to start with. Why?
[ul]Less than $15
On-board fully-featured ST-Link SWD debugger
Lots of example source code
Cool on-board peripherals
Every pin broken out on 0.1" headers[/ul]

Food for thought.


+1 for CooCox I even use it for my DaisyLink development on the DL40, a really nice package and works well with the J-Link Edu. The CooCox team also have a JTag emulator that they sell, I am very tempted to try it.

Thanks for the replies!

I’d like to revive this thread a bit.

I’m being forced back down into native code using an RTOS simply because .netmf won’t cover all my functionality.

BUT, I’d like to use the same chip so that I can use .netmf where appropriate, and RTOS when not. Make sense?

This is proving rather difficult outside of IAR and Keil. Our outfit must also cater to several Linux-only developers who won’t run those on VMs out of… IDK spite I guess. freeRTOS does not support it. CooCox doesn’t list the 405 as being supported.

What other options are there? Is there any gcc based option that will allow me to compile native for the 405, so I can use the same hardware for .netmf?

You KNOW what will happen to .netfmf here if I fail to find a solution.


CooCox fully supports the STM32F4-series processors.

Hmm. yes… now I wonder which page I was on where it looked like it didn’t?

Oh well, off I go!
Thanks Jay.

:black_medium_small_square:STM32F030R8T6, STM32F030C6T6, STM32F030C8T6, STM32F030F4P6, STM32F030K6T6
:black_medium_small_square:STM32F050C4, STM32F050C6, STM32F051C4, STM32F051C6, STM32F051C8, STM32F051K4, STM32F051K6, STM32F051K8, STM32F051R4, STM32F051R6 STM32F051R8,
:black_medium_small_square:STM32F100C4, STM32F100C6, STM32F100C8, STM32F100CB,
:black_medium_small_square:STM32F100R4, STM32F100R6, STM32F100R8, STM32F100RB, STM32F100RC, STM32F100RD, STM32F100RE,
:black_medium_small_square:STM32F100V8, STM32F100VB, STM32F100VC, STM32F100VD, STM32F100VE,
:black_medium_small_square:STM32F100ZC, STM32F100ZD, STM32F100ZE,
:black_medium_small_square:STM32F101C4, STM32F101C6, STM32F101C8, STM32F101CB,
:black_medium_small_square:STM32F101R4, STM32F101R6, STM32F101R8, STM32F101RB, STM32F101RC, STM32F101RD, STM32F101RE, STM32F101RF,
:black_medium_small_square:STM32F101T4, STM32F101T6, STM32F101T8, STM32F101TB,
:black_medium_small_square:STM32F101V8, STM32F101VB, STM32F101VC, STM32F101VD, STM32F101VE, STM32F101VF, STM32F101VG,
:black_medium_small_square:STM32F101ZC, STM32F101ZD, STM32F101ZE,
:black_medium_small_square:STM32F102C4, STM32F102C6, STM32F102C8, STM32F102CB,
:black_medium_small_square:STM32F102R4, STM32F102R6, STM32F102R8, STM32F102RB,
:black_medium_small_square:STM32F103C4, STM32F103C6, STM32F103C8, STM32F103CB,
:black_medium_small_square:STM32F103R4, STM32F103R6, STM32F103R8, STM32F103RB, STM32F103RC, STM32F103RD, STM32F103RE, STM32F103RF, STM32F103RG,
:black_medium_small_square:STM32F103T4, STM32F103T6, STM32F103T8, STM32F103TB,
:black_medium_small_square:STM32F103V8, STM32F103VB, STM32F103VC, STM32F103VD, STM32F103VE, STM32F103VF, STM32F103VG,
:black_medium_small_square:STM32F103ZC, STM32F103ZD, STM32F103ZE, STM32F103ZF, STM32F103ZG,
:black_medium_small_square:STM32F105R8, STM32F105RB, STM32F105RC, STM32F105V8, STM32F105VB, STM32F105VC,
:black_medium_small_square:STM32F107RB, STM32F107RC, STM32F107VB, STM32F107VC
:black_medium_small_square:STM32F405RG, STM32F407IG, STM32F407VG, STM32F407ZG, STM32F415RG, STM32F417VE