[U-Boot] boot.bin on SD Card for SAMA5D3 Xplained

Robert Nelson robertcnelson at gmail.com
Wed Dec 5 20:38:48 UTC 2018


On Wed, Dec 5, 2018 at 8:37 AM <Eugen.Hristev at microchip.com> wrote:
>
>
>
> On 05.12.2018 02:15, Daniel Evans wrote:
> > Trying to get uboot SPL boot.bin to run on an SD card for the sama5d3 xplained board.  All I get is RomBOOT and no other messages.  I have tried throwing in a couple test pins to toggle in board_early_init_f but still not getting any debug.  I can get at91bootstrap to produce a boot.bin that works on the sama5d3 xplained so I am assuming I don’t have a bad board.  My boot partition is FAT16.  To compile I just run the following on Debian Buster :
> >
> > make mrproper
> > make sama5d3_xplained_mmc_defconfig
> > make
> >
> > Cross Compiler is gcc-linaro-6.4.1-2018.05-x86_64_arm-linux-gnueabihf
> >
> > When finished compiling I just copy the boot.bin to my BOOT partition.
> >
> > Has to be something obvious that I am missing.  Any insight is appreciated…
>
> Hello,
>
> Check the datasheet for sama5d3 SoC section 11.4.3. - Valid code
> detection (my datasheet is dated 2 Feb 2016 if it helps)
>
> Basically the vector 6 needs to have hardcoded the binary size. Are you
> doing that ? Otherwise the RomBOOT code will consider your binary as faulty.
>
> PS. make sure endianess is right, use a good hexeditor...
>
> Hope this helps,
> Eugen

Okay, just finished my git bisect, this turned out to be a miss-placed
#endif when Wenyou did the "configs: at91: Remove
CONFIG_SYS_EXTRA_OPTIONS assignment" patch:

https://github.com/u-boot/u-boot/commit/5541543f686b43210fb92181003ff7175d4ab036#diff-651b6ffe22be4df459343a0d6d25154e

=> RomBOOT
<debug_uart>
U-Boot spl 2019.01-rc1-00021-g2e2a2a5d4f-dirty (Dec 05 2018 - 14:30:22 -0600)
Trying to boot from MMC1
<debug_uart>

U-Boot 2019.01-rc1-00021-g2e2a2a5d4f-dirty (Dec 05 2018 - 14:30:22 -0600)

<snip>

diff --git a/include/configs/sama5d3_xplained.h
b/include/configs/sama5d3_xplained.h
index d0d8087ca3..f87713319d 100644
--- a/include/configs/sama5d3_xplained.h
+++ b/include/configs/sama5d3_xplained.h
@@ -80,7 +80,6 @@
 #elif CONFIG_NAND_BOOT
 #define CONFIG_SPL_NAND_DRIVERS
 #define CONFIG_SPL_NAND_BASE
-#endif
 #define CONFIG_SYS_NAND_U_BOOT_OFFS    0x40000
 #define CONFIG_SYS_NAND_5_ADDR_CYCLE
 #define CONFIG_SYS_NAND_PAGE_SIZE      0x800
@@ -91,3 +90,5 @@
 #define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER

 #endif
+
+#endif

Before:
#ifdef CONFIG_SYS_USE_MMC
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"

#elif CONFIG_SYS_USE_NANDFLASH
#define CONFIG_SPL_NAND_DRIVERS
#define CONFIG_SPL_NAND_BASE
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
#define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
#define CONFIG_SYS_NAND_PAGE_COUNT 64
#define CONFIG_SYS_NAND_OOBSIZE 64
#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
#define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER

#endif

After:
#ifdef CONFIG_SD_BOOT
#define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
#define CONFIG_SPL_FS_LOAD_PAYLOAD_NAME "u-boot.img"

#elif CONFIG_NAND_BOOT
#define CONFIG_SPL_NAND_DRIVERS
#define CONFIG_SPL_NAND_BASE
#endif
<------------------------------------------------- WHY HERE????
#define CONFIG_SYS_NAND_U_BOOT_OFFS 0x40000
#define CONFIG_SYS_NAND_5_ADDR_CYCLE
#define CONFIG_SYS_NAND_PAGE_SIZE 0x800
#define CONFIG_SYS_NAND_PAGE_COUNT 64
#define CONFIG_SYS_NAND_OOBSIZE 64
#define CONFIG_SYS_NAND_BLOCK_SIZE 0x20000
#define CONFIG_SYS_NAND_BAD_BLOCK_POS 0x0
#define CONFIG_SPL_GENERATE_ATMEL_PMECC_HEADER

#endif

Regards,

-- 
Robert Nelson
https://rcn-ee.com/


More information about the U-Boot mailing list