GCC and MBED

I now have a tool chain working with GCC, and the MBED board, using the CMSIS

drivers provided by philips for the CPU, early days at the mo, only RS232 and the

serial USB channel working, but its a start,

We have had to do this so we can bring the tool chain internal to the department,

so we can use the MBED board as a teaching solution.

 

Please get in touch if interested, pcc@cs.york.ac.uk


23 comments

12 Apr 2010

I'm interested!

Do you plan to post step-by-step instructions here?

Do you have mbed.lib linking, or only CMSIS drivers?

13 Apr 2010

two good questions,

I hope to post a set of guide lines, on how to get things working, it may

take the form of a code example, with Makefiles etc, but with lots of

comments in the code.

 

We looked at using the mbed.lib library, and gave up in the end, it was

just to troublesome, so we are using the CMSIS driver library, and one

by one getting them going. Currently we have the CMSIS version of

FreeRTOS going, and the USB serial driver, and the RS232, onboard

LED's today :-)

 

Pete

13 Apr 2010

Here's another topic about this, with instructions:

http://mbed.org/forum/mbed/topic/665/

13 Apr 2010

thanks for that, I had not come accross it before, will have a look

 

Pete

15 Apr 2010

Update:

Now have the basics of the I2C bus running, and hope to finish this off today, the blue MBED board leds

started flashing yesterday.... See:

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/baseboard_2.html

for what we hope will be the replacement for a teaching solution we have, also the

current state of the CMSIS library, version of FreeRTOS and the code I have can be found here :-

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/gcc.html

 

Have fun

 

Pete

16 Apr 2010

The I2C bus now has the following devices, SAA1064 (4 by 7 seg display driver), Batron 16 by 2 line LCD

display, and the PCF8574 PIO chip, giving access to a 4 by 4 keypad latest archives can be found here

http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/gcc.html

22 Apr 2010

Looking at moving the whole source to here, trying Doxygen for the first time so bare with me, but

the project should all get placed here till its part of our teaching course

Pete

 

http://www-users.cs.york.ac.uk/~pcc/MCP/index.html

26 Apr 2010

CMSIS and FreeRTOS source tree are here, this was built against the Code Sourcery

GCC compiler, we are currently building a GCC tool chain from source here to support

the project.

 

http://www-users.cs.york.ac.uk/~pcc/MCP/index.html

27 Apr 2010 . Edited: 27 Apr 2010

Peter, I'm working on a similar (in spirit) FreeRTOS and GCC-support project:

http://github.com/hugovincent/arm-eabi-toolchain

http://github.com/hugovincent/mbed-lpc2368-freertos

 

At the moment I only have mbed beta hardware (ARM7 LPC2368) but as soon as I can get my hands on a Cortex/LPC1768 mbed I'll port it there as well. It is my (long-ish term) aim to re-implement the mbed API and libraries in free, GPL'd code, and to integrate these with the FreeRTOS operating system better. This is contingent of course on the mbed team allowing such a use of their header files (which have no license information in the copyright header blocks...)

I'll look at integrating your work into my own tree if you don't mind?

28 Apr 2010
> I'll look at integrating your work into my own tree if you don't mind?

I have no problems with this, all this S/W is compiled with the 'Sourcery G++ Lite Edition'
and the NXP CMSIS driver library, you would need to change the paths to compiler etc
in the Makefiles, but its all working here.

The top link is for the CMSIS library, and there port of FreeRTOS, the FreeRTOS line at the end is from the modified version from the freertos.org site built for the LPC1768 CPU.

The middle link is to test our development system that we are proposing for the students, currently there are several I2C devices working, with RS232 serial, and
Serial over USB working, basic GPIO and D2A and RTC bits, just moving to the
network, CAN and USB interfaces

Pete (pcc@cs.york.ac.uk)

Cortex Microcontroller Software Interface Standard (CMSIS) Including the NXP port of FreeRTOS
Local Test code for the CMSIS drivers This is our departmental API testbed
FreeRTOS a working port of FreeRTOS for the mbed board.
06 Aug 2010

Hi Peter,

Excellent work! I'm very interested, and will contact you directly, but I wanted to express my excitment and gratitude here in the mbed forum.

10 Sep 2010

Hi Pete,

 

None of this links are working anymore, did the project die?

 

Thanks

 

Andy

12 Sep 2010

We are in the process of moving buildings here at York University, so have not been

working on the project for a couple of months, but the project is very much alive,

just in hibination, also moving the computer room has not helped :-)

 

Will get the links sorted out next week

 

Pete

12 Sep 2010

Hi Pete,

 

Ah, good to know, FreeRTOS would be very nice to get going on my mbed.

 

I will keep an eye on the links :)

 

Cheers

 

Andy

12 Sep 2010

should be back

13 Sep 2010

Thanks Peter

20 Oct 2010

Thanks, Peter.  This really got me pointed in the right direction for where I want to go.  At the moment, I'm just focused on my mbed with an RJ45.  I want to flex my GNU tools as much as possible to get the results I want.  That means arm-elf-gcc or arm-eabi-gcc on my local system using Emacs as an editor and some macros.  Not just the code, but the general information you have posted on the site is fantastic for a relative newbie like myself.

Cheers.

21 Oct 2010

There is a new version of the CMSIS library from NXP, (The device driver library)

the makefiles need a few tweeks to work on a Unix/Linux system, but it compiles

just lerning the new functions, will update the zip/tar files on our web server at

some point in the next month, but for now here is the link to the file on the NXP

site: http://ics.nxp.com/support/documents/microcontrollers/zip/lpc17xx.cmsis.driver.library.zip

21 Oct 2010

Might be a question for NXP but why the needed tweaks for Unix/Linux?  I only develop on GNU/Linux using the GCC ARM toolchain.  I'll take a look at the library, but figured I'd toss the question out there.

Thanks!

21 Oct 2010

I believe the tweaks are for minor to trivial things, like different paths and path-separators ('/' vs '\' etc).

22 Oct 2010

Yes, its just to set the paths right, the examples are set to build in a DOS enviroment,

and been a linux user for the past 16+ years, the DOS enviroment is not good :-)

22 Dec 2010

Updated the state of the GCC port now I have time to work on it again

see: http://www-users.cs.york.ac.uk/~pcc/Circuits/mbed/baseboard/gcc.html

25 Jan 2013 . Edited: 25 Jan 2013

The official offline GCC toolchain for mbed is here: GCC ARM Embedded.

Please log in to post a comment.