Friday, May 28, 2010

STEP1: Beagle learns to crawl with its first stage XLOADER

Beagleboard comes preflashed with Xloader and U-Boot on the NAND. This can always be helpful during the early days of customised XLoader development, as I need not have to worry much about bricking my board. This is especially true sometimes, when I need to develop without any help from the JTAG.

But that also means that I should find some way of loading my loader onto the board and ensure it gets executed before the preflashed XLoader does. Since OMAPs can be re-ordered with its booting device sequences using certain hardware pins [sys_boot], such that I can change the boot device detections from NAND to UART/USB/MMC, I can get my loader copied onto the internal SRAM without much of a problem.

I decided to start off with UART booting method and thanks to Nishanth, who has developed a tool called pserial, I can download my images without any issues. The only requirement for booting loader from UART is to hold down the USER button on the Beagle and then powering up the board. When the board powers up, the bootrom code residing within the OMAP's internal ROM checks the sys_boot config pins to decide which boot devices must be scanned first. With the press of USER button, bootrom code detects that it must first check on USB/UART/MMC before falling back to the default NAND flash.

No comments:

Post a Comment