[beagleboard] How to configure features of the Arm?


Hi Richard


Your question is very generic if you are asking about the BootRom


There is little relief from at least skimming TRM at some pointMost all TI chips use a bootrom in ROM that runs first from reset
For Linux based then the MLO runs from internal RAM then uboot.
the boot order as far as SPI,MMC ,serial USB etc is set in the BOOTROM
by tying processor pins to change the default boot order
some board may offer jumpers. You would only need such customization rarely


The Sitara Linux training page briefly covers booting you can google it


When you become an expert and try and build a custom board at least for OMAP 4 and want to boot from emmc2 or something non standard then you have the pleasure of deciphering the Pin Mux tool and changing the muxing in MLO code


Its not that BAD to change this MLO code if you LOVE firmware and TRM’s
my point is at that point you will have TO read the entire chapter in the TRM on BootLoader (-:


The concept of the bootrom was to make a chip that is very flexable for booting
Flexable comes at the cost of reading TRM’s


The Bootrom code is tightly guarded secret and not available to public but its API’s are public ie your cutstom Bootloader could make calls into the BOOTROM


An example I can share of when this may be needed
the TI 28335 DSP has Bootrom it uses SPI,Serial,CAN and more ways to get a firmware update into RAM. If you run from flash your bootloader would run from internal RAM and use the TI FLASH API to load the code over CAN and update the flash. In this case the defualt bootorder is not changed for us ie the pins that select the order are the default.


Even with the default BootRom order I believe the BootRom check several methods for booting before jumping to the defualt start location(processor specific)


In this case we dont change the BootRom order.


You might ask why then dont we let the TI bootROM load us over CAN? (-:
The default clock rate the BootRom is uses for CAN is too slow so we wrote our own CAN based bootloader that lives in a certain sector of flash relocates to internal RAM to flash the application update and resets into the APP


In summary it depends how deep you are in the fire to need the TRM details. I think understanding the Boot process is the single most important starting point for any chip if you write firmware or device drivers. If you write Linux apps you might not care


— On Sun, 6/9/13, rh richard_hubbe11@lavabit.com wrote:


> From: rh richard_hubbe11@lavabit.com
> Subject: [beagleboard] How to configure features of the Arm?
> To: beagleboard@googlegroups.com
> Date: Sunday, June 9, 2013, 1:13 PM
>
> Is it possible to configure the features of the Arm? For example can I
> configure the boot order? The processor Tech. manual is 4400 pages
> but how to take control of that is unclear. Also the USB ports are capable
> of acting as host or client. Are those capabilities exposed now? Can
> the USB ports be reconfigured?
>
> –
> For more options, visit http://beagleboard.org/discuss
> —
> You received this message because you are subscribed to the Google Groups “BeagleBoard” group.
> To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.


|