Runcible
Runcible

Reputation: 7382

Compiling for VxWorks

I realize this may be a really dumb question. Please humor me:

True or False: The only way to compile a program to run on a VxWorks platform is to purchase a development environment like Tornado or Workbench from WindRiver.

(I'm looking for an free/open-source solution to compile for a VxWorks platform.)

Upvotes: 0

Views: 3321

Answers (4)

Abdul Hameed Khan
Abdul Hameed Khan

Reputation: 1

The VxWorks SDK is now available via one-click download under a non-commercial license agreement (NCLA). You can use this download to develop real-time applications for non-commercial use such as innovation projects and educational purposes.

Features include:

  • VxWorks APIs for in-kernel and user-level real-time-process (RTP) use

  • Ability to debug from the kernel shell, from command line, and from Microsoft VS Code.

Here is a link to download VxWorks SDK https://forums.windriver.com/t/vxworks-software-development-kit-sdk/43

Upvotes: 0

Bruce Lueckenhoff
Bruce Lueckenhoff

Reputation: 31

One can use a generic GNU cross-compiler to generate ELF files, and load them onto a running VxWorks system using the ld command. However, I don't recommend it for anything beyond proof-of-concept or initial experimentation -- the VxWorks libraries and Wind River's superb documentation of them are both necessary.

On the development host:

powerpc-elf-eabi-gcc -c foo.c

Then on the target-resident shell, that has mounted a filesystem from the development host (for example, over NFS):

-> ld < foo.o
-> main()

(Where the function main() comes from foo.c)

Upvotes: 1

GreySage
GreySage

Reputation: 1180

Since VxWorks is proprietary, they made it so you need their tools (Workbench/Tornado), which they supply, in order to develop for their OS.

Upvotes: 0

Benoit
Benoit

Reputation: 39094

Outside of an academic license (which would use a VxWorks installation anyway), there is not any way to legally compile your code for a vxWorks platform.

Technically, you CAN obtain the GNU toolchain used to compile code for VxWorks.

The issue you will run into is that you won't have access to the header files necessary for compiling your code or the libraries to link against.

Upvotes: 4

Related Questions