I have a BeagleBone Green since a few days, thanks to Workshopshed*.

My goal is to use it to up my knowledge on linux powered embedded systems.

beaglebone green

I'd like to become better on cross-compilation and the tool chain. Get a deeper understanding of dealing with the time and energy budget on OS-based systems. And hopefully also pick up real-time coding skills.

A parallel thing I'd like to do is us c++ as much as possible. Just because.

 

*proof that good deals can be made between the UK and the EU .

 

Unbox and Plug In

Getting the BB up isn't difficult. It worked straight away for me.

I followed the instructions on the board's getting started page.

Once I plugged in the board and installed the drivers, I could surf to it with my browser (virtual ethernet over usb).

 

I then checked how I could conect to the device.

I've first used PuTTY over serial USB communication. Worked perfectly.

Then I used PuTTY with SSH over the virtual ethernet. Worked perfectly too.

As last, I tried out secure file transfer via WinSCP. Also worked.

 

This shows that i'm able to access the board and get to OS and file system.

I also checked a few of the Bone Script examples. They worked.

Basic things all checked. Now it's time to...

 

Install Latest Debian

I went to the telephone shop here to purchase a new microSD card (if you have kids, you'll know why I had to buy a fresh one).

I downloaded the latest debian distro for this board and unzipped it.

Then installed Win32DiskImager and followed instructions.

Unplugged the BB, inserted the SD card, and plugged it in again with the user (boot) button pressed.

Again, this worked as documented.

 

BeagleBoard.org Debian Image 2016-05-13 

 

 

Build a First c++ Example

Partly success there.

 

I've compiled a Hello World! example on the board and executed that. That worked flawlessly.

 

 

I also did two attempts for cross-compilation from CCS. Both failed.

I first tried to use the BeagleBone tool chain (you get that when installing the Sitara module) to compile and build a program.

That resulted in a memory overflow for my Hello World.

I didn't check any further (except a brief look in the linker instructions and the map file).

This is a first try-out, so I haven't read-up yet.

Then I tried a second attempt using the generic Cortex A8 support in CCS. That project created a binary.

After loading it to the BB via WinSCP and making it executable, it got kindly killed by the OS.

Again, note that I didn't do anything to properly check if I made a OS-loadable binary. Most likely not .

 

C++ to Hardware

That went ok. I used a c++ example to flash user LED 0 10 times.

Compiled on the board. Executed it with sudo (my OS user doesn't have access to the character device files).

All worked ok. The little c++ program got access to the hardware and blinked.

 

So basic steps went all perfectly. My naive attempts to cross-compile without studying failed.

I'll now start crawling the internet for a good explanation on setting up an xcompile toolkit.

 

 

 

 

BeagleBone - First Little Checks
BeagleBone - Cross Compile c++ on Windows
BeagleBone - Show XWindow Graphic Apps on Windows Desktop