It looks like the internal ROM-based bootloader looks for a secondary program loader (SPL) that initializes the necessary devices to continue the boot process and pass control to a third-stage bootloader. So now I believe it's a matter of finding whether there are existing code implementations of this SPL, or last-case scenario this would have to be implemented. Time for more investigating. :)
On Thu, Mar 26, 2015 at 9:27 AM, Jarielle Catbagan <jcatbaga...@gmail.com> wrote: > To put things into context in regards to the conversation that I was > having with Ed, Dr. Joel, and Gedare: > > I am currently in the process of looking into porting MicroMonitor to > the Beaglebone Black. As indicated by Ed, "[t]he difficulty of the > port will depend on how much existing CPU-initialization > (clocks, cache, etc..) code we can reuse." > > Ed has also indicated to me that there might be an internal bootloader > stored in a ROM-based memory that might look for an image in a > specific format. I will definitely be investigating more into this. > I did manage to briefly browse through the Beaglebone Black System > Reference Manual Rev C.1 [1], and I have found that the boot > configuration/process is briefly elaborated in section 6.7. For > convenience, since it's a short section I will post it here: > > "The design supports two groups of boot options on the board. The user > can switch between these modes via the Boot button. The primary boot > source is the onboard eMMC device. By holding the Boot button, the > user can force the board to boot from the microSD slot. This enables > the eMMC to be overwritten when needed or to just boot an alternate > image... > > [T]the processor-external boot code is composed of two stages. After > the primary boot code in the processor ROM passes control, a secondary > stage (secondary program loader -- "SPL" or "MLO") takes over. The SPL > stage initializes only the required devices to continue the boot > process, and then control is transferred to the third stage "U-boot". > Based on the settings of the boot pins, the ROM knows where to go and > get the SPL and UBoot code. In the case of the BeagleBone Black, that > is either eMMC or microSD based on the position of the boot switch." > > I was kindly guided to look into programming a uSD card as it might be > more efficient to run MicroMonitor off of the uSD for quick testing > after every build. If all goes well, either an application image will > be located and booted off of the same SD card or via a network boot. > For serial debugging I have an FTDI 3.3V USB-to-Serial cable that I > have been previously using to access the U-boot monitor on the > Beaglebone Black. > > > [1] > https://github.com/CircuitCo/BeagleBone-Black/blob/master/BBB_SRM.pdf?raw=true _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel