vxWorks on Beaglebone Black

Started by fridout106 3 weeks ago6 replieslatest reply 1 week ago59 views

I am trying to install vxWorks onto the internal storage of my Beaglebone Black. I can find very minimal information on how to do this on Google.

I have an MLO file, the correct .dtb file for my am335x processor, u-boot image file, the vxWorks file, and uEnv file. Do I need to edit something in the uEnv file?

If this is even doable, can someone point me in the right direction or give me some advice?

[ - ]
Reply by trogers531January 30, 2018

It’s been awhile since I did an initial install and configuration of vxWorks, different processors, too. But I still work with these systems every day, and it’s one of my favorites for lots of good reasons. It’s a good, robust commercial RT system, one of the best, suitable for critical long term designs that have to run for years without glitches.

The system documentation describes the setup process pretty well, if my memory serves. Are you trying to replace the Linux kernel, run the compile side packages, or maybe trying something wilder, like running a different kernel as a task under Linux?

I use the BeagleBone for a few pick up projects; it’s Debian, really, and not too hard to work out what the system does during startup and such. The info on the particulars of the version created by the guys from TI is readily available.

—Tom

[ - ]
Reply by fridout106January 30, 2018

Thank you for the response.

I am in fact trying to replace the existing Debian kernel that is on the board now. Installing Debian onto the board was fairly easy. I basically just created a Debian image on an SD card and then flashed that image onto the internal storage on the Beaglebone Black.

However working with the vxWorks files is proving to not be so trivial. I think I might need to configure the uEnv.txt file and mess with the u-boot file as well. Any advice on that?

[ - ]
Reply by trogers531January 31, 2018

I’ll have to take a look at the current distribution appropriate for the Beaglebone hardware architecture, what is included these days, how it should fit into the environment.

The common form back on the day was more or less geared towards stand alone purpose built programs that rely on the behind the scenes details that compile environments for stand alone applications include automatically, code that you seldom see that precedes the initialization of the code you define in main().

I could never keep my fingers out, always poked through what the development environment packaged up for me. This isn’t any different, but the hardware is a good bit more sophisticated, requires more code to configure for boot, can function at a higher level than the 68K or PowerPC chipsets common back in the day.

That can translate into higher expectations of what the embedded kernel will do for you, combined with the ‘helper’ code often included or available as an add-on.

In general, unless things are very different these days, these RT kernels aren’t meant to provide a general purpose computing environment. VxWorks looks a lot like UNIXwhen it runs, right down to the way tasks init and communicate. But in the systems I still use from day to day, the focus is the underlying application function.

I’m off for two days Thur - Fri, and I’ll take a pass at seeing what the current distribution looks like.  More then.

—Tom

[ - ]
Reply by fridout106January 31, 2018

Thank you again. I'll look forward to any information you can find out.

[ - ]
Reply by trogers531February 5, 2018

Okay, haven’t been able to get too far into the documentation for Sitara - Beaglebone support packages yet, but it seems pretty clear from the website info that the expected system configuration is a classic host - target setup, Wind River workbench running on a fairly conventional system, RedHat Enterprise, Windows, Solaris, or the Wind River Linux system. The expected host architecture is listed as x86-64b in everything I’ve seen so far.

This is pretty close to what we saw back when my group first played with it, so it’s nice to see some stuff hasn’t changed all that much.

What that means is you probably can’t do the develop-in-the-target thing with VxWorks, if that’s what we’re looking for. You can probably do a bootstrap setup in which you create and install a target environment on a standard host that can support development of applications on the target that have some access to the installed kernel’s resources, a slightly less complicated exercise than it sounds.

There may already be a target demo pre-compiled in the BeagleBone compatible Sitara support package. I’ll know more when Wind River re-ups my login credentials; it’s been awhile since I visited them, and they’ve long since forgotten who I am.

Won’t have much more time to spend on this, but it’s certainly interesting to dive back into Wind River’s product offerings. Thanks for that.

—Tom

[ - ]
Reply by fridout106February 13, 2018

Thank you so much for taking the time to look into it for me.