[U-Boot] da850evm: u-boot does not start without UBL since commit f1d2b313c9eb6808d30c16a9eb5251240452a56c

Ben Gardiner bengardiner at nanometrics.ca
Mon Jun 6 20:08:15 CEST 2011


Hi Christian,

On Mon, Jun 6, 2011 at 10:52 AM, Christian Riesch
<christian.riesch at omicron.at> wrote:
> Hi Ben,
> Thanks again for your help!

My pleasure, sorry I can't help more : I think It's the case that we
have incompatible HW.

> On Mon, Jun 6, 2011 at 3:11 PM, Ben Gardiner <bengardiner at nanometrics.ca> wrote:
>>> I am using flash and boot utils 2.31 as well. Mono version is 2.4, I
>>> had to rebuild the utilities to make them run with mono on my machine.
>>> I modified the flash and boot utils' makefiles to build for the AM1808
>>> target only (otherwise I would have to install the DSP compiler).
>>
>> There's another difference -- I have tried rebuilding also but I
>> always gave up when 'timake' was not available. How are you working
>> around this? You are perhaps rebuilding in windows with CCSv3?
>
> No, I build in Linux:
>
> * Download OMAP-L138_FlashAndBootUtils_2_31.tar.gz from
> https://sourceforge.net/projects/dvflashutils/files
>
> tar xvfz OMAP-L138_FlashAndBootUtils_2_31.tar.gz
> cd OMAP-L138_FlashAndBootUtils_2_31
>
> * Apply the attached patch
> patch -p1 <flasham1808.patch
>
> * Build
> cd OMAP-L138/GNU/
> make clean
> make

Thanks for the patch. I applied and built as you suggested to use mono
2.4; now the only difference between our setups is the SOM (which has
a difference SoC on it -- yours is AM1808 mine is OMAPL138) and
baseboard.

Following the steps, I get no serial activity when u-boot is built
from "4fff329 nand_boot_fsl_nfc.c: make "nfc" a "static const"
pointer."

I did notice that I can erase/flash using either -targetType AM1808 or
OMAPL138 and get serial console output by using either the OMAPL138 or
AM1808 UBL's; all of the following commands result in serial output
from the board.

mono /media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/sfh_OMAP-L138.exe
-targetType AM1808  -p /dev/ttyS0 -flash_noubl
/media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/ubl/ubl_AM1808_SPI_MEM.bin

mono /media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/sfh_OMAP-L138.exe
-targetType OMAPL138 -p /dev/ttyS0 -flash_noubl
/media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/ubl/ubl_AM1808_SPI_MEM.bin

mono /media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/sfh_OMAP-L138.exe
-targetType AM1808  -p /dev/ttyS0 -flash_noubl
/media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/ubl/ubl_OMAPL138_SPI_MEM.bin

mono /media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/sfh_OMAP-L138.exe
-targetType OMAPL138 -p /dev/ttyS0 -flash_noubl
/media/unixdata/src/OMAP-L138_FlashAndBootUtils_2_31/OMAP-L138/GNU/ubl/ubl_OMAPL138_SPI_MEM.bin

So it appears there is no incompatibility introduced by the AM1808 /
OMAPL138 variant in flashing.

It seems that there is something that your AM1808 RBL is performing
which is not being performed by my OMAPL138 here. This could be due to
a misinterpreted AIS command maybe. Whatever the case, the UBL that is
prebuilt with the flash and boot utilities seems to be doing the right
setup.

I think that the AIS script header is not critical; I noticed that the
arm ubl's are all being built with the simple -uart.ini :

$grep -r " -ini " CCS/UBL_ARM/
CCS/UBL_ARM/UBL_NAND.pjt:FinalBuildCmd=..\..\GNU\AISUtils\HexAIS_OMAP-L138.exe
-ini ..\..\GNU\AISUtils\OMAP-L138-uart.ini -o $(Proj_dir)\UBL_NAND.ais
$(Proj_dir)\NAND\UBL_NAND.out;Run=Always
Binary file CCS/UBL_ARM/UBL_SPI_MEM.paf2 matches
CCS/UBL_ARM/UBL_SPI_MEM.pjt:FinalBuildCmd=..\..\GNU\AISUtils\HexAIS_OMAP-L138.exe
-ini ..\..\GNU\AISUtils\OMAP-L138-uart.ini -o
$(Proj_dir)\UBL_SPI_MEM.ais
$(Proj_dir)\SPI_MEM\UBL_SPI_MEM.out;Run=Always
Binary file CCS/UBL_ARM/UBL_NAND.paf2 matches
CCS/UBL_ARM/UBL_NOR.pjt:FinalBuildCmd=..\..\GNU\AISUtils\HexAIS_OMAP-L138.exe
-ini ..\..\GNU\AISUtils\OMAP-L138-uart.ini -o $(Proj_dir)\UBL_NOR.ais
$(Proj_dir)\NOR\UBL_NOR.out;Run=Always
Binary file CCS/UBL_ARM/UBL_NOR.paf2 matches
CCS/UBL_ARM/cc_build_Debug.log:..\..\GNU\AISUtils\HexAIS_OMAP-L138.exe
-ini ..\..\GNU\AISUtils\OMAP-L138-uart.ini -o
C:\cat_flashutils\scripts\OMAP-L138_FlashAndBootUtils_2_31\OMAP-L138\CCS\UBL_ARM\UBL_NOR.ais
C:\cat_flashutils\scripts\OMAP-L138_FlashAndBootUtils_2_31\OMAP-L138\CCS\UBL_ARM\NOR\UBL_NOR.out

for reference the contents of OMAP-L138-uart.ini:
---
; General settings that can be overwritten in the host code
; that calls the AISGen library.
[General]

; Can be 8 or 16 - used in emifa
busWidth=8

; SPIMASTER,I2CMASTER,EMIFA,NAND,EMAC,UART,PCI,HPI,USB,MMC_SD,VLYNQ,RAW
BootMode=UART

; 8,16,24 - used for SPI,I2C
;AddrWidth=8

; NO_CRC,SECTION_CRC,SINGLE_CRC
crcCheckType=NO_CRC
---

Since the AIS generated does no setup relevant to the platform it
seems that it should be possible to stick all the UBL setup into
u-boot and sign it with simple AIS using the above ini.

Best Regards,
Ben Gardiner

---
Nanometrics Inc.
http://www.nanometrics.ca


More information about the U-Boot mailing list