Forums

ELF compiler for ARM7 based Real-time embedded OS VxWorks 5.5

Started by Rohan May 21, 2007
Hi All,

I have a hand held Meter Reading Instrument which has the following
specifications

CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz
Operating System: Real-time embedded OS VxWorks 5.5


I have a set of library files and include files etc which came with
the device.
It needs an elf file instead of the regular exe as executable.

which compiler should I used to generate that elf file.

Thanks,
Rohan

"Rohan" <rohanshar@gmail.com> wrote in message 
news:1179745684.665732.187920@n15g2000prd.googlegroups.com...
> Hi All, > > I have a hand held Meter Reading Instrument which has the following > specifications > > CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz > Operating System: Real-time embedded OS VxWorks 5.5 > > > I have a set of library files and include files etc which came with > the device. > It needs an elf file instead of the regular exe as executable. > > which compiler should I used to generate that elf file.
Google for "ARM compilers" and you'll find lots. Some are free such - gcc - and others cost a lot - Greenhills, IAR etc. There are some in the middle which are not free but are much cheaper than the dear ones - Rowley. I'm sure Windriver will have a compiler they prefer for work with VxWorks but I guarantee it won't be cheap. Incidentally, the 'exe' is not regular, it just happens to be the object code format you are most familiar with (I guess you are from a PC background).
On 2007-05-21, Tom Lucas <news@REMOVE_tlcs_THIS_dot_TO_fsnet_REPLY_dot_co.uk> wrote:
> "Rohan" <rohanshar@gmail.com> wrote in message > news:1179745684.665732.187920@n15g2000prd.googlegroups.com... >> Hi All, >> >> I have a hand held Meter Reading Instrument which has the following >> specifications >> >> CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz >> Operating System: Real-time embedded OS VxWorks 5.5 >> >> >> I have a set of library files and include files etc which came with >> the device. >> It needs an elf file instead of the regular exe as executable. >> >> which compiler should I used to generate that elf file. > > Google for "ARM compilers" and you'll find lots. Some are free > such - gcc - and others cost a lot - Greenhills, IAR etc. > There are some in the middle which are not free but are much > cheaper than the dear ones - Rowley.
The last I knew, the ARM compiler that Rowley sells is gcc.
> Incidentally, the 'exe' is not regular, it just happens to be > the object code format you are most familiar with (I guess you > are from a PC background).
Precisely. ELF _is_ the "regular" executable/object file format. The .exe format is an oddball, proprietary format. -- Grant Edwards grante Yow! GOOD-NIGHT, at everybody... Now I have to visi.com go administer FIRST-AID to mypet LEISURE SUIT!!
Op Mon, 21 May 2007 13:51:56 +0200 schreef Tom Lucas  
<news@REMOVE_tlcs_THIS_dot_TO_fsnet_REPLY_dot_co.uk>:
> "Rohan" <rohanshar@gmail.com> wrote in message > news:1179745684.665732.187920@n15g2000prd.googlegroups.com... >> Hi All, >> >> I have a hand held Meter Reading Instrument which has the following >> specifications >> >> CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz >> Operating System: Real-time embedded OS VxWorks 5.5 >> >> >> I have a set of library files and include files etc which came with >> the device. >> It needs an elf file instead of the regular exe as executable. >> >> which compiler should I used to generate that elf file. > > Google for "ARM compilers" and you'll find lots. Some are free such - > gcc - and others cost a lot - Greenhills, IAR etc. There are some in the > middle which are not free but are much cheaper than the dear ones - > Rowley. I'm sure Windriver will have a compiler they prefer for work > with VxWorks but I guarantee it won't be cheap.
That one is called the Wind River Compiler (formerly Diab).
> Incidentally, the 'exe' is not regular, it just happens to be the object > code format you are most familiar with (I guess you are from a PC > background).
Exe is not a format, just an incarnation of the PE (Portable Executable) format, which in turn is a perversion of the COFF format. -- Gemaakt met Opera's revolutionaire e-mailprogramma: http://www.opera.com/mail/
"Grant Edwards" <grante@visi.com> wrote in message 
news:13538sqhgbp1s66@corp.supernews.com...
> On 2007-05-21, Tom Lucas > <news@REMOVE_tlcs_THIS_dot_TO_fsnet_REPLY_dot_co.uk> wrote: >> "Rohan" <rohanshar@gmail.com> wrote in message >> news:1179745684.665732.187920@n15g2000prd.googlegroups.com... >>> Hi All, >>> >>> I have a hand held Meter Reading Instrument which has the following >>> specifications >>> >>> CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz >>> Operating System: Real-time embedded OS VxWorks 5.5 >>> >>> >>> I have a set of library files and include files etc which came with >>> the device. >>> It needs an elf file instead of the regular exe as executable. >>> >>> which compiler should I used to generate that elf file. >> >> Google for "ARM compilers" and you'll find lots. Some are free >> such - gcc - and others cost a lot - Greenhills, IAR etc. >> There are some in the middle which are not free but are much >> cheaper than the dear ones - Rowley. > > The last I knew, the ARM compiler that Rowley sells is gcc.
I realise that the underlying compiler is still gcc but I would say that from the OP's point of view they would appear to be two different beasts. From the questions the OP asked one can infer that he is not overly familiar with the linker end of the build process and is likely to assume that the IDE _is_ the compiler. But you are certainly correct, Crossworks generates object code using gcc.
On 21 May 2007 04:08:04 -0700, Rohan <rohanshar@gmail.com> wrote:

>CPU: Powerful embedded 32-Bit ARM7 microcomputer @ 24 MHz >Operating System: Real-time embedded OS VxWorks 5.5 > > >I have a set of library files and include files etc which came with >the device. >It needs an elf file instead of the regular exe as executable. > >which compiler should I used to generate that elf file.
The one that came with VxWorks 5.5 for that architecture. You'll need the VxWorks environment anyway because of OS headers and libs and the build environment. And yes, it's expensive. Mit freundlichen Gr&#2013266172;&#2013265951;en Frank-Christian Kr&#2013266172;gel
On 2007-05-21, Tom Lucas <news@REMOVE_tlcs_THIS_dot_TO_fsnet_REPLY_dot_co.uk> wrote:

>>>> I have a set of library files and include files etc which came >>>> with the device. It needs an elf file instead of the regular >>>> exe as executable. >>>> >>>> which compiler should I used to generate that elf file. >>> >>> Google for "ARM compilers" and you'll find lots. Some are free >>> such - gcc - and others cost a lot - Greenhills, IAR etc. >>> There are some in the middle which are not free but are much >>> cheaper than the dear ones - Rowley. >> >> The last I knew, the ARM compiler that Rowley sells is gcc. > > I realise that the underlying compiler is still gcc but I > would say that from the OP's point of view they would appear > to be two different beasts. From the questions the OP asked > one can infer that he is not overly familiar with the linker > end of the build process and is likely to assume that the IDE > _is_ the compiler.
The IDE (including the debugger) are Rowley's -- I hope nobody thought I was implying they weren't or that Rowley was doing anything wrong. If you want an IDE (particulary if you want Linux support), Rowley is the first place I'd look. The fact that the compiler itself is open-source is a real bonus. -- Grant Edwards grante Yow! What's the MATTER at Sid? ... Is your BEVERAGE visi.com unsatisfactory?
My doubt number 2 (sorry for sounding so stupid as its very new to me)

if I am able to write some code using C on some IDE with gcc as the
compiler. Now will the generated elf file will sit in my processor and
be accessibly to the VxWorks OS like it is in windows??

On May 21, 10:42 pm, Grant Edwards <gra...@visi.com> wrote:
> On 2007-05-21, Tom Lucas <news@REMOVE_tlcs_THIS_dot_TO_fsnet_REPLY_dot_co.uk> wrote: > > > > >>>> I have a set of library files and include files etc which came > >>>> with the device. It needs an elf file instead of the regular > >>>> exe as executable. > > >>>> which compiler should I used to generate that elf file. > > >>> Google for "ARM compilers" and you'll find lots. Some are free > >>> such - gcc - and others cost a lot - Greenhills, IAR etc. > >>> There are some in the middle which are not free but are much > >>> cheaper than the dear ones - Rowley. > > >> The last I knew, the ARM compiler that Rowley sells is gcc. > > > I realise that the underlying compiler is still gcc but I > > would say that from the OP's point of view they would appear > > to be two different beasts. From the questions the OP asked > > one can infer that he is not overly familiar with the linker > > end of the build process and is likely to assume that the IDE > > _is_ the compiler. > > The IDE (including the debugger) are Rowley's -- I hope nobody > thought I was implying they weren't or that Rowley was doing > anything wrong. If you want an IDE (particulary if you want > Linux support), Rowley is the first place I'd look. > > The fact that the compiler itself is open-source is a real > bonus. > > -- > Grant Edwards grante Yow! What's the MATTER > at Sid? ... Is your BEVERAGE > visi.com unsatisfactory?
Rohan wrote:
> Now will the generated elf file will sit in my processor and > be accessibly to the VxWorks OS like it is in windows?? >
I (blush) have to admit that I've never used VxWorks, I expect I'm the only subscriber here who hasn't. But if it's anything like other RTOSses you compile your application along with the OS, producing a single ELF (or whatever format) file that you then load into the target device's memory. Any filing system available is normally only used for data files. Paul Burke
"Paul Burke" <paul@scazon.com> wrote in message 
news:5bfk85F2stoa8U1@mid.individual.net...
> Rohan wrote: >> Now will the generated elf file will sit in my processor and >> be accessibly to the VxWorks OS like it is in windows?? >> > > I (blush) have to admit that I've never used VxWorks, I expect I'm the > only subscriber here who hasn't. But if it's anything like other > RTOSses you compile your application along with the OS, producing a > single ELF (or whatever format) file that you then load into the > target device's memory. Any filing system available is normally only > used for data files.
I believe it may be possible to load your code into memory at a certain location and have the OS jump to it when required but this is only a guess based on how it appeared to work when I had a brief encounter with VxWorks some time ago. Of course, this requires that VxWorks already be loaded. I do know that the LogicLoader OS that comes with LogicPD's development kits allows an elf to be uploaded serially or via ethernet (or JTAG too) and that the program can be started from the OS in a windowsish style (more DOS really). I believe the OS is based around uCos but I don't know for sure. I think the OP is standing at the bottom of a steep learning curve but one probably less steep than trying to bring up a new processor from scratch. I'm sure Lewin has written a book about about this sort of thing - it does seem to be rather up his street ;-)