Electronic – How to program a BeagleBone board

beagleboardbootloadermicroprocessorprogramming

Until now I used Microchip PIC, to program this microprocessor there is MPLAB. I would like to make a step forward and learn about other microcontrollers.

I found the BeagleBone Black quiet promising for my DIY project because there is a 2GB flash and 1GHz clock.
I have a few question as a beginner:
On the eewiki I found a tutorial where they are describing how to start, but this tutorial is based on SD card.
If I want to use only the 2GB flash card than how can I load my software on it without using SD card?

I saw on that page that there is a bootloader(UBoot), what is this for? For example I just wan to blink a led, using PIC it is a few line of code which I upload and that's all, If I would like to do the same with a BeagleBone Black what I suppose to do?
Do I need UBoot? How can I write this piece of code to the eMMC of the BeagleBone?

If I have a board without any preloaded software(including bootloader) how can I start to upload a software?

Best Answer

The processor on the BeagleBone is not a microcontroller, but rather a microprocessor (the Sitara AM3359 from Texas Instruments), which doesn't have non-volatile memory on the processor itself, but rather tries to load programs (such as an OS) into RAM via a communications interface (UART, USB, Ethernet) or from an external memory (FLash or memory card). The initialization/booting process for this processor is described in detail starting at page 4667 of the technical reference manual.

It seems the latter (booting from a memory device) is the case for the BeagleBone, which means you can "program" the BeagleBoard by changing the content of the on-board Flash (eMMC) or by forcing it to boot from the microSD card. It's not very clear from their documentation how easy or hard it is to create your own memory images (for SD card or the eMMC). I suspect it's not trivial.