Mf4.2 + gcc +stm32

netduino today released the beta firmware for go! things, they use GCC 4.5 or 4.6 to compile for STM32

I have not looked any further, but I think there is full GCC solution available :slight_smile:

Antti

Cool.

In the few minutes I had this morning, I gave it a quick try and was unable to compile with it using the code sourcery lite gcc 4.6.1

The first error I got was in the CLR\core\HeapPersistence project, it was trying to run a command line with no tool specified, just the parameters.

Seems like that should be a simple fix, but I didn’t have any more time to look at it.

i see ok, let see :slight_smile:
who gets it first

Antti

If you guys are bogged down, have you considered looking at how things are done in the free version of Atolic TrueStudio? Sadly Atolic have withdrawn this now and offer a code-limited, better optimised one instead, but I still have the unlimmited version 2.3.0 on my system. This could be mined for start-up code hints, GCC versions and command lines if this would get you out of a hole.

I was able to sucessfully build a sizable application with Lua language, file system with both USB and SD storage and a USB client VCP running on the F4 Discovery Board all using TrueStudio IDE.

Life is shorter than a GCC command line, so I’m not up for diving into this myself, but if there is any information I can mine from TrueStudio to help let me know!

I’m happy to see they’re using the correct include for the STM32F4. Should reduce the potential for bugs and make it and easier to work with.

Hi

devkitarm has 4.7.x version of GCC with FP, still beta, so there is no issue that there is no attollic
the problem with GCC was not with GCC but with the .NETMF build system and badly done porting.
GCC per se was not an problem

LUA on F4 with USB? Where is the source code?? Id love to see Lua with USB but it is not
available with the code from public repositories :frowning:

Antti

I see, I need to be patient for a bit longer!

For Lua, I just took the basic, multi-platform source code for Lua 5.2.0, dumped it into a TrueStudio project and compiled. Then I added FatFs by ChaN, Nemui Trinomius’ SDIO library and the STM USB libraries, hooked up with a few lines of code written by me. I can put Lua scripts (text files) on either an SD card or a USB drive and run them on the F4 Discovery board.

This was really just a proof-of-concept excercise, but it was surprisingly straightforward. When Atolic pulled the free, unlimited TrueStudio, and I learned GHI were doing .NET on the STMF4, I decided to come back aboard this ship.

I guess the Lua guys just write better portable code than Microsoft!

JohnH

thanks, there is PARTIAL forked branch for STM32F4 lua, what seems to be rather dead :frowning:
so I assumed its more work then what you just decribed.

what todo, how high to jump to get raw-zipped tarball of your lua testing?

jump

jump

:slight_smile:

Antti

OK Antii, that’s high enough!

http://www.johnhind.myzen.co.uk/ARM/HubApp.zip

However please note that if the Greeks had a letter before alpha, it would apply to this code!

I should mention that to make the SD card work on the Discovery board you’ll need to put in some work with a soldering iron, a Dremel and a very large magnifying glass. The USB stick should work with just a micro-USB male to USB-A female adapter cable.

Enjoy!

  • John.

Hi

super thank you! its at least alpha I would say, looking at code structure!

And no, I do no need to solder, I have suitable target hardware :slight_smile:
We have tested SD card on that hw both with standalone operation as with NuttX RTOS
so we know its working.

And if needed we can do magic soldering, look here:

hand soldered 0402 high tower bridges, no magnifier, no microscope, not by me
we have scope viewer too, with that thing even I can solder small things.

Antti

Thanks for kind comments, Antii. I guess if you are lucky enough to have 25-year-old eyes you can manage SMT modifications without artificial magnification!

As long as STM keep selling the Discovery board for less than the ARM chip alone, it is pretty irresistable and I am becoming quite adept at removing the unwanted and IO hogging peripheral chips by the brute-force-and-ignorance method of grinding the chip to dust with a Dremmel!

Once you command-line heros have a working toolchain I’ll dive back in and contribute some work on I/O interfaces. I’m puzzled by the status though: as I understand it, GHI are already shipping the boards with working firmware, presumably built using expensive professional tools. So the problem is getting this proven code base to build using open tools?

John

hi i just looked today at cocoox.org again and funny they just announced stm32f4 support in cocoox IDE
ok its just eclipse and GCC, but it is TRULY free no strings attached.

UPDATED: updated cocoox IDE 1.4.1
made new project selected STM32F4
build, download, LEDS blink EASY

it should even support ft2232 base jtag dongles but it seems that support is dead or temporary
down, not sure why, only the colinkEX is supported, its lpc1343 with free hex, with that thing
you get like full IDE and JTAG debugging for less 20eur

ST link works nativly in cocoox ide for FLASHING did not get yet debugging to work but
that is I think not cocoox issue.

HA, I just remembered STLink does not AT ALL work with ANY ST own tools and utilities on this PC,
but with cocoox it at least flashed and erases ok !

–
re interfaces, we have had fun too, yesterday and today we implemented gamecube joybus
protocol with STM32F4, the protocol needs to receive over single wire bits that are 4 us long
either 0111 or 0001 so time grid is 1 us.

this is usually handled with AVR where the handler takes 100% of CPU time. With STM32F4
we use I2S transmitter with interrupts to SEND data one I2S word sent sends 4 bits
and UART with baud rate 2.65 megabaud and DMA to receive bits, one byte per pit received.

as result both the rx and tx are handled almost fully in background not utilizing any cpu time

nice way to learn.

I2S transmit path can be used to send any arbitrary bitstream it also has PLL that allows
the clock fine-tuning, pretty useful thing

Antti

Hi,

this weeks my two Cerb40 Boards arrived, and now I would like to join that specialists,
which are working on the gcc stuff …

The question for me:

  • where to find a actual sw-compository (zip-file, etc.) does it make sense to start with
    (not figuring out problems again, well known for 2-3 month …)
  • which compiler and maybe ide I should choose (I found a link from codesourcery, a
    few month old, al ling to yartago as well, trioflex mentioned a cocoox IDE, gcc 4.6.1
    or newer I learned would be fafourable; …)

Any help would be appreciated …

Michael

You need the Code Sourcery tool chain. Get it here:

You need the ARM EABI compiler.

You need to get the source from codeplex. Get it here:
http://netmf.codeplex.com/

I have set up a list of files that I have changed. I will put it all together, then maybe someone can tell me what I did wrong… :slight_smile:

Edit: Sorry, wrong codeplex, fixed now…

Actually, all you need is the porting ebook Support – GHI Electronics

Welcome to the community.

@ Gus,
But that does not cover the GCC snaggles of the STM32 port… :slight_smile:

@ Errol

Thx, for Your quick response, and the helpful hints.

IĀ“m downloading at the moment ā€œarm-2011.09-69-arm-none-eabi.exeā€,
and hope that this version works well with the actual sources …

I found all the stuff at http.//netmf.codeplex.com, but all the content is
about two month old … So I look forward to find an update, with all the
corrections You found in the meantime …

Michael

@ trioflex

[quote]with that thing
you get like full IDE and JTAG debugging for less 20eur
[/quote]

Except it cost $44USD to ship the CoLinkEx module to the USA :frowning:

nono :slight_smile: I did mean build one…
then it maybe 20USD…
but lots of time wasted, i got LPC1342 expresseo for 15EUR that could be reworked to colinkex
no need to buy the colinkex of course…

well, at embedded show nuvoton was giving away bags, inside every bag
2 nuvoton starterkits, both with nu-link jtag on them, also supported by cocoox

been playing with cocoox, it seems to work very well also with different jtag adapters
stlink
ti-icdi
nulink
…

Antti