GCC and MBED
Page last updated
12 Apr 2010, by
Peter Cooper.
23
replies
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
I'm interested!
Do you plan to post step-by-step instructions here?
Do you have mbed.lib linking, or only CMSIS drivers?
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
thanks for that, I had not come accross it before, will have a look
Pete
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
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
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
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?
> 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. |
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.
Hi Pete,
None of this links are working anymore, did the project die?
Thanks
Andy
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
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
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.
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
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!
I believe the tweaks are for minor to trivial things, like different paths and path-separators ('/' vs '\' etc).
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 :-)
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
You need to log in to post a comment
I'm interested!
Do you plan to post step-by-step instructions here?
Do you have mbed.lib linking, or only CMSIS drivers?