Le 15/03/2011 17:46, Luca Ceresoli a écrit : > Hi, > > I ported U-boot to a custom BeagleBoard-derivative board, which is running > fine so far. > > Now I'm trying to upgrade from the current codebase (v2010.06) to a more > recent one. My custom U-boot stopped booting after merging the > ARM relocation code implemented in september 2010 by Heiko Schocher, > even though I think I've changed my code where needed. > > More in detail, my code base works perfectly if merged with the upstream > code (from git://git.denx.de/u-boot.git) until the commit before the ARM > relocation series: > 4fff329 nand_boot_fsl_nfc.c: make "nfc" a "static const" pointer > > It stops working when I merge these 3 commits (plus an arbitrarily large > amount of the following ones): > f1d2b31 ARM: add relocation support > e48b7c0 ARM: implement relocation for ARM11 > 561142a ARM: implement relocation for ARM V7 (OMAP) > plus this patch to my code (copied from the Beagle code changes in commit > 561142a above): > > diff --git a/board/mycompany/myboard/config.mk > b/board/mycompany/myboard/config.mk > index 150b30c..a9c88d2 100644 > --- a/board/mycompany/myboard/config.mk > +++ b/board/mycompany/myboard/config.mk > @@ -30,4 +30,4 @@ > # (mem base + reserved) > > # For use with external or internal boots. > -TEXT_BASE = 0x80e80000 > +TEXT_BASE = 0x80008000 > diff --git a/include/configs/omap3_myboard.h b/include/configs/omap3_myboard.h > index c62febd..be0d9a9 100644 > --- a/include/configs/omap3_myboard.h > +++ b/include/configs/omap3_myboard.h > @@ -333,4 +333,9 @@ extern unsigned int boot_flash_sec; > extern unsigned int boot_flash_type; > #endif > > +/* additions for new relocation code, must added to all boards */ > +#undef CONFIG_SYS_ARM_WITHOUT_RELOC /* This board is tested with relocation > support */ > +#define CONFIG_SYS_SDRAM_BASE PHYS_SDRAM_1 > +#define CONFIG_SYS_INIT_SP_ADDR (LOW_LEVEL_SRAM_STACK - > CONFIG_SYS_GBL_DATA_SIZE) > + > #endif /* __CONFIG_H */ > > > The result is that U-boot does not print any single character on the serial > console, and I'm lost since I can't use a JTAG emulator. > > As I am not expert in the low-level U-boot code, I don't know where to look > at. Any suggestion would be appreciated. > > > Here are a few more details that might be relevant. > > The board is a BeagleBoard derivative, with the same CPU (OMAP3530, > Cortex-A8) and NAND flash chip. > The RAM chip is the same model, but we have only one 128 MB chip instead of > two. > There's also a LAN chip (SMC911x family). > > I started my porting from the upstream repository at > git://git.denx.de/u-boot.git and created a branch. > > Here I added a new board, initially equal to Beagle, then I removed some > unwanted features (JFFS2, board detection), added some wanted ones > (UBI/UBIFS, LAN driver, CONFIG_CMD_NET) and adapdet the default environment. > > I also changed CONFIG_SYS_MALLOC_LEN from 128kB to 1MB, as it was not enough > for UBI to work. > > Thanks in advance, > Luca
Hi Luca, As several fixes were introduced after the ARM relocation commits you are talking about, I would suggest not to try and progressively merge U-boot into your changes, but rather to rebase your branch directly on top of the current master of u-boot or u-boot-arm, so that you have all fixes which followed ARM relocation work. Amicalement, -- Albert. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot