Offline Keil uVision compiling with mbed online support (SOLUTION)

02 Mar 2011

Hey I'm starting a new topic because the old one that relates to this is cluttered. mbed.lib and keil http://mbed.org/forum/mbed/topic/518/?page=1#comment-8522

So please just post Keil uVision stuff because it gets confusing when you start talking about all the different compiler options available.

The procedure I used to get the mbed online compiler led blinky example to work is based on App note 207 from Keil, along with example blinky uVision project. http://www.keil.com/appnotes/files/apnt207.pdf http://www.keil.com/download/files/apnt207.zip

Abstract This Application Note demonstrates how to migrate a project based on mbed’s online IDE to a Keil µVision based project which allows for offline development. This is possible because both environments use ARM’s Real View tool suite which allows for a seamless migration.

I simply followed the application note to the word and got it working in about 2 min. I didn't run into any of the linking problems that the old thread goes into detail about, so it looks like it's all sorted out now.

It looks like this is a true "offline" solution.

Hopefully those arduino nuts will stop winning about the online cloud compiling thing and be willing to use a microcontroller with some real balls. Yea I know that Keil uVision isn't opensource, and the eval version only supports 32kb, which is half the available ram on the mbed, but with the arduinos you only have 32kb anyway.

08 May 2011

Thank you for posting this :-)

It took me a little longer than 2 minutes because I am using some features from a later mbed library than the one in the apnt207.zip file so had to download the latest files from here: http://mbed.org/projects/libraries/svn/mbed/trunk Simply download the header files and the other files, copying them over those from the zip file.

Another issue I had was that I am using '\e' to determine that the escape key has been pressed, this initially caused the Keil software to issue a warning and the Escape key wasn't recognised. I was able to correct this problem by adding a '- -gnu' instruction to the compiler options (see the 'Misc Controls' section):

/media/uploads/Just4pLeisure/snapshot1.png

So Keil's software works quite painlessly except that my project is too large :-(

/media/uploads/Just4pLeisure/snapshot2.png

Everything works fine with smaller projects though :-)

10 Jun 2011

Hello,

I also followed the application note to the word but I still get some erros when compiling with uVision (I compiled the same program online and it worked fine). The messages I got are the following:

..\bottle_reloj\main.cpp(79): error: #135: class "mbed::Serial" has no member "RxIrq" ..\bottle_reloj\main.cpp(79): error: #304: no instance of overloaded function "mbed::Serial::attach" matches the argument list ..\bottle_reloj\main.cpp(80): error: #135: class "mbed::Serial" has no member "TxIrq" ..\bottle_reloj\main.cpp(80): error: #304: no instance of overloaded function "mbed::Serial::attach" matches the argument list compiling SDFileSystem.cpp... compiling diskio.c... .\mbed\FileHandle.h(19): error: #20: identifier "namespace" is undefined .\mbed\FileHandle.h(19): error: #65: expected a ";" .\mbed\FileHandle.h(45): warning: #12-D: parsing restarts here after previous syntax error .\mbed\FileHandle.h(53): warning: #77-D: this declaration has no storage class or type specifier .\mbed\FileHandle.h(53): error: #65: expected a ";" .\mbed\FileHandle.h(65): error: #757: variable "virtual" is not a type name .\mbed\FileHandle.h(65): error: #101: "ssize_t" has already been declared in the current scope .\mbed\FileHandle.h(65): error: #65: expected a ";" .\mbed\FileHandle.h(75): warning: #77-D: this declaration has no storage class or type specifier .\mbed\FileHandle.h(75): error: #65: expected a ";" .\mbed\FileHandle.h(88): error: #757: variable "virtual" is not a type name .\mbed\FileHandle.h(88): error: #101: "off_t" has already been declared in the current scope .\mbed\FileHandle.h(88): error: #65: expected a ";" .\mbed\FileHandle.h(97): warning: #77-D: this declaration has no storage class or type specifier .\mbed\FileHandle.h(97): error: #65: expected a ";" .\mbed\FileHandle.h(99): error: #757: variable "virtual" is not a type name .\mbed\FileHandle.h(99): error: #65: expected a ";" .\mbed\FileHandle.h(110): warning: #12-D: parsing restarts here after previous syntax error .\mbed\FileHandle.h(112): error: #169: expected a declaration .\mbed\DirHandle.h(19): warning: #12-D: parsing restarts here after previous syntax error .\mbed\DirHandle.h(21): error: #20: identifier "namespace" is undefined .\mbed\DirHandle.h(21): error: #65: expected a ";" .\mbed\DirHandle.h(46): warning: #12-D: parsing restarts here after previous syntax error .\mbed\DirHandle.h(57): warning: #77-D: this declaration has no storage class or type specifier .\mbed\DirHandle.h(57): error: #65: expected a ";" .\mbed\DirHandle.h(62): warning: #77-D: this declaration has no storage class or type specifier .\mbed\DirHandle.h(62): error: #65: expected a ";" .\mbed\DirHandle.h(70): error: #757: variable "virtual" is not a type name .\mbed\DirHandle.h(70): error: #65: expected a ";" .\mbed\DirHandle.h(81): warning: #12-D: parsing restarts here after previous syntax error .\mbed\DirHandle.h(83): error: #169: expected a declaration .\mbed\DirHandle.h(87): error: #40: expected an identifier .\mbed\DirHandle.h(87): error: #65: expected a ";" .\mbed\DirHandle.h(95): warning: #12-D: parsing restarts here after previous syntax error .\mbed\Base.h(15): error: #20: identifier "namespace" is undefined .\mbed\Base.h(15): error: #65: expected a ";" .\mbed\Base.h(37): warning: #12-D: parsing restarts here after previous syntax error .\mbed\Base.h(39): warning: #77-D: this declaration has no storage class or type specifier .\mbed\Base.h(39): error: #65: expected a ";" .\mbed\Base.h(54): warning: #1295-D: Deprecated declaration name - give arg types .\mbed\Base.h(74): error: #757: variable "virtual" is not a type name .\mbed\Base.h(74): error: #65: expected a ";" .\mbed\Base.h(93): warning: #77-D: this declaration has no storage class or type specifier .\mbed\Base.h(93): error: #65: expected a ";" .\mbed\Base.h(104): error: #757: variable "bool" is not a type name compiling FATDirHandle.cpp... compiling FATFileHandle.cpp... Target not created

Should I download the files that Sophie said? btw, How did you do it? I mean, I didn't find an option to download the .h files directly, I would have to copy the text and then delete the file numbers and stuff (which would be quite annoying). Thanks in advance!!

25 Nov 2011

THX, it works.

first compiling without any error! Without the downloading time -uVision-, it took 5 min to run!!

27 Jun 2015

OK AND THANKS

27 Jun 2015

none

27 Jun 2015

none bghaqdrahgsvf vrsgsfdsrsese trameasg hkharad cvasant kharad vasant kharweerdjdghf

15 Oct 2015

I tried to copy bin file of codes in keil LPC23xx code bundle to mbed board. But it was not successful , can someone help?