Update: uMon is now booting from SD
jcatbagan93 at gmail.com
Fri Jul 3 01:27:59 UTC 2015
Hello Ed and all:
uMon is now booting from SD!
As Ed has indicated to me, the first reason why uMon did not appear to
boot from SD was that UART initialization was not performed when the
AM335x was booting from memory. Originally, when uMon was booting
from UART, as Ed has mentioned to me, uMon was working and was able to
use the UART because it appears that the UART was set up already by
the internal ROM code during the UART boot procedure.
The UART initialization was suppose to be done in cpuio.c. Ed has
sent me a diff containing the necessary modifications/additions that
has served as the basis for the UART initialization. After applying
this diff to the current uMon tree, building the uMon image and
transferring the image to an SD card, attempting to boot from SD still
resulted in the BBB to appear to not boot up.
Ed has mentioned to me that one of the possible reasons why the SD
boot is not coming through could be something that is missing during
the UART initialization like clock management or power control. This
has prompted me to go back and look through the AM335x TRM,
specifically on the sections regarding the PRCM (Power Reset Clock
Management) and UART modules.
It turned out that one of the UART0 registers, register MDR1, the
MODESELECT field had the value 0x07 which translates to the UART
module being disabled. Since the UART in uMon is already set up to
work with UART 16x mode, and the value for this mode is 0x00, this was
stored in the MODESELECT field of the MDR1 register.
After setting this field the uMon image was rebuilt, the GP header was
prepended to the image and was transferred to the SD card as "MLO".
Booting the SD card resulted in uMon being able to boot and to reach
the uMon command line.
My next steps before proceeding to finish DDR initialization is to
clean up the updated files that perform the necessary UART
initialization and then I will submit the patches that reflect these
changes for review.
More information about the umon-devel