[help!] How to use C++ in vxworks ??
I am shame to ask this question again. because I have questioned
this about one year ago here, and the problem I meet now is the same
source.
The souce is a VC "console" project , it is a Kalman filter
demo, and the project inlude a matrix Class(a .cpp and a .h) .
now I try to inplement on vxworks . I use tornado 2.2 for PPC ,
and the board is a PrPMC800( product of motorola),there is a G4 on it.
I have made a downloaderalbe project ,add the files , and build
it successfully( You konw I have achieve it ago as mentioned above ,so
I copied the build option from the old project ), but when I download
it , the tornado said:
unresolved symbol encountered while ;
Error while downloading ;
__cl_7CMatrixUiUi
__get_eh_context
__sjthrow
__builtin_vec_new
__builtin_delete
__terminate
__builtin_new
and my build option is: -O2 -mlongcall -mcpu=604 -mstrict-align -
ansi -fno-builtin -I. -IC:/Tornado2.2forPPC/target/h/ -IC:/
Tornado2.2forPPC/target/proj/800_Kalman_C++_3 -DCPU=PPC604 -
DTOOL_FAMILY=gnu -DTOOL=gnu.
I google some information about how to use C++ in vxworks , for
example the "extend "C"" prolbem and so on. But no body has said how
to use C++ in vxworks integrated . Could any body have the C++
development experence on tornado can tell me how to do it ? Inluding
how to spawn a task ,how to organise the source files, and how to make
the build option?
Re: How to use C++ in vxworks ??
Re: How to use C++ in vxworks ??
On 5月14日, 上午12时23分, Allen <che...@naritech.cn> wrote:[color=blue]
> Include c++ components[/color]
--------My project is downloadable
Re: How to use C++ in vxworks ??
Hello heartofdra,
[email]heartofdra@gmail.com[/email] schrieb:[color=blue]
> On 5月14日, 上午12时23分, Allen <che...@naritech.cn> wrote:[color=green]
>> Include c++ components[/color]
>
> --------My project is downloadable
>[/color]
You need to build the bootimage for your target board again, after you
have added the C++ runtime support (C++ components) to the vxWorks boot
image project (To be done in the Tornado Project Faciluty).
Then the download will work without any problem.
Hope it helps!
--
BaSystem Martin Raabe
E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de
Re: How to use C++ in vxworks ??
Would please tell me how to do this?
On 5月14日, 上午1时11分, Martin Raabe <Martin.Raabe@NOSPAM_BaSystem.de>
wrote:[color=blue]
> Hello heartofdra,
>
> heartof...@gmail.com schrieb:
>[color=green]
> > On 5月14日, 上午12时23分, Allen <che...@naritech.cn> wrote:[color=darkred]
> >> Include c++ components[/color][/color]
>[color=green]
> > --------My project is downloadable[/color]
>
> You need to build the bootimage for your target board again, after you
> have added the C++ runtime support (C++ components) to the vxWorks boot
> image project (To be done in the Tornado Project Faciluty).
>
> Then the download will work without any problem.
>
> Hope it helps!
>
> --
> BaSystem Martin Raabe
> E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de[/color]
Re: How to use C++ in vxworks ??
You mean that it can't be downloadable project when using C++ in
vxworks ?
On 5月14日, 上午1时11分, Martin Raabe <Martin.Raabe@NOSPAM_BaSystem.de>
wrote:[color=blue]
> Hello heartofdra,
>
> heartof...@gmail.com schrieb:
>[color=green]
> > On 5月14日, 上午12时23分, Allen <che...@naritech.cn> wrote:[color=darkred]
> >> Include c++ components[/color][/color]
>[/color]
[color=blue][color=green]
> > --------My project is downloadable[/color]
>
> You need to build the bootimage for your target board again, after you
> have added the C++ runtime support (C++ components) to the vxWorks boot
> image project (To be done in the Tornado Project Faciluty).
>
> Then the download will work without any problem.
>
> Hope it helps!
>
> --
> BaSystem Martin Raabe
> E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de[/color]
Re: How to use C++ in vxworks ??
Hello heartofdra,
when you download a project to the target, then there has to be VxWorks
software already in the target. This is called the VxWorks boot image.
The boot image is an extra project in Tornado.
Someone has to build this project before the resulting binary has been
burned into the target's flash/EPROM or put on the targets boot device
(HD or ftpd).
This boot image offers a runtime environment for the downloadable
application, you are referring to. This runtime environment needs to
provide support vor C++ applications. If it does not you get the errors
you have mentioned.
The downloadable application also needs to be prepared. It has to be
compiled AND linked to a file with the extension ozt, where the C++
constructors and destructors have been added to the object files.
This process is called "munching".
So when you download your c++ application file <name of the Tornado
project>.out you need to have C++ support in the target already.
When you boot your target, the boot image prints out (usually via serial
line or video adaptor) that there is or is not support for C++ applications.
I hope this helps.
If not, please feel free to consult the reference manuals and turotial
manuals.
Take care.
--
BaSystem Martin Raabe
E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de
Re: How to use C++ in vxworks ??
Thanks Martin , It's so kind of you.
Finally I got the way.
I confused about the "BSP standard buliding" and the "bootable
vxworks image".
You know , when I use it , I awalys down the vxwork image made by
the "BSP standard buliding" . I used to think the "bootable project"
is used to burn the vxworks and the application together into the boot
device when all our work is completed. Now ,I know it.
Thanks so many kind of people's suggestion, best wishes!
On May 14, 6:50 am, Martin Raabe <Martin.Raabe@NOSPAM_BaSystem.de>
wrote:[color=blue]
> Hello heartofdra,
>
> when you download a project to the target, then there has to be VxWorks
> software already in the target. This is called the VxWorks boot image.
> The boot image is an extra project in Tornado.
> Someone has to build this project before the resulting binary has been
> burned into the target's flash/EPROM or put on the targets boot device
> (HD or ftpd).
> This boot image offers a runtime environment for the downloadable
> application, you are referring to. This runtime environment needs to
> provide support vor C++ applications. If it does not you get the errors
> you have mentioned.
> The downloadable application also needs to be prepared. It has to be
> compiled AND linked to a file with the extension ozt, where the C++
> constructors and destructors have been added to the object files.
> This process is called "munching".
>
> So when you download your c++ application file <name of the Tornado
> project>.out you need to have C++ support in the target already.
>
> When you boot your target, the boot image prints out (usually via serial
> line or video adaptor) that there is or is not support for C++ applications.
>
> I hope this helps.
> If not, please feel free to consult the reference manuals and turotial
> manuals.
>
> Take care.
>
> --
> BaSystem Martin Raabe
> E: Martin.Raabe<at>B-a-S-y-s-t-e-m<dot>de[/color]