Hi,
Warm greetings!!
We are using u-boot(1.1.2) bootloader for PowerPC board. We are trying to compile bootloader by using montavista tool chain. After done some basic changes it got compile but when it get flashed in board by using BDI it creates some problem. Device is going for reset again and again after displaying below messages:
U-Boot 1.1.2 (CASHEL) (Nov 20 2014 - 20:48:31)
MPC8272 Reset Status: Check Stop, External Soft, External Hard
MPC8272 Clock Configuration
- Bus-to-Core Mult 4x, VCO Div 2, 60x Bus Freq 25-75 , Core Freq 100-300
- dfbrg 0, corecnf 0x1a, busdf 3, cpmdf 1, plldf 0, pllmf 3
- vco_out 400000000, scc_clk 100000000, brg_clk 100000000
- cpu_clk 400000000, cpm_clk 200000000, bus_clk 100000000
- pci_clk 66666666
CPU: MPC8272 (HiP7 Rev 14, Mask 1.0 0K50M) at 400 MHz
Board: CASHEL MPC8248
DRAM: 128 MB
Later on we have tried ELDK 5.1 tool chain to compile the bootloader, but it get failed and shows -lgcc error, shows below:
powerpc-linux-gcc -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xfff00000 -I/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/eldk-5.5/powerpc-softfloat/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/../../lib/powerpc-linux/gcc/powerpc-linux/4.8.1/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -Wall -Wstrict-prototypes -g -Os -fPIC -ffixed-r14 -meabi -D__KERNEL__ -DTEXT_BASE=0xfff00000 -I/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include -fno-builtin -ffreestanding -nostdinc -isystem /opt/eldk-5.5/powerpc-softfloat/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/../../lib/powerpc-linux/gcc/powerpc-linux/4.8.1/include -pipe -DCONFIG_PPC -D__powerpc__ -DCONFIG_8260 -ffixed-r2 -ffixed-r29 -mstring -mcpu=603e -mmultiple -I.. -Bstatic -T /home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/board/CASHEL/u-boot.lds -Ttext 0xfff00000 -n hello_world.c -o hello_world
In file included from /home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/asm/byteorder.h:82:0,
from /home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/asm/bitops.h:9,
from /home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/bitops.h:69,
from /home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/common.h:36,
from hello_world.c:24:
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/big_endian.h:44:27: warning: '__swab32p' is static but used in inline function 'ext2_find_next_zero_bit' which is not static [enabled by default] #define __cpu_to_le32p(x) __swab32p((x))
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/generic.h:101:22: note: in expansion of macro '__cpu_to_le32p'
#define cpu_to_le32p __cpu_to_le32p
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/asm/bitops.h:319:8: note: in expansion of macro 'cpu_to_le32p'
tmp = cpu_to_le32p(p);
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/big_endian.h:44:27: warning: '__swab32p' is static but used in inline function 'ext2_find_next_zero_bit' which is not static [enabled by default] #define __cpu_to_le32p(x) __swab32p((x))
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/generic.h:101:22: note: in expansion of macro '__cpu_to_le32p'
#define cpu_to_le32p __cpu_to_le32p
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/asm/bitops.h:312:14: note: in expansion of macro 'cpu_to_le32p'
if ((tmp = cpu_to_le32p(p++)) != ~0U)
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/big_endian.h:44:27: warning: '__swab32p' is static but used in inline function 'ext2_find_next_zero_bit' which is not static [enabled by default] #define __cpu_to_le32p(x) __swab32p((x))
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/linux/byteorder/generic.h:101:22: note: in expansion of macro '__cpu_to_le32p'
#define cpu_to_le32p __cpu_to_le32p
^
/home/lalith/svn_folder/Cashel_Modular_SVN/bootloader/include/asm/bitops.h:302:9: note: in expansion of macro 'cpu_to_le32p'
tmp = cpu_to_le32p(p++);
^
/opt/eldk-5.5/powerpc-softfloat/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/../../libexec/powerpc-linux/gcc/powerpc-linux/4.8.1/ld: cannot find -lgcc_s
/opt/eldk-5.5/powerpc-softfloat/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/../../libexec/powerpc-linux/gcc/powerpc-linux/4.8.1/ld: cannot find -lc
/opt/eldk-5.5/powerpc-softfloat/sysroots/i686-eldk-linux/usr/bin/powerpc-linux/../../libexec/powerpc-linux/gcc/powerpc-linux/4.8.1/ld: cannot find -lgcc_s
collect2: error: ld returned 1 exit status
make[1]: *** [hello_world] Error 1
make[1]: Leaving directory `/svn/lalith/Cashel_Modular_SVN/bootloader/examples'
make: *** [examples] Error 2
Please suggest where we went wrong or some other tool chain which we can use to build the bootlaoder. Thanks in advance.
Thanks & Regards
Lalit
I recommend using a current version of U-Boot rather than one that is ten years old. If you got that U-boot code from a third party, you could try asking them for support. If you insist on using that old version, you should use a toolchain from the same era. I'm not familiar with MontaVista's toolchains (and you don't say what version in any case), but ELDK 5.1 is from 2011, about 7 years after U-Boot 1.1.2 was released.
Finally, since you say it reboots after the DRAM line, check that your memory configuration (e.g. timings) is correct.
Hi Lalit
I am not sure if it is related but do you have perhaps watchdog
on this board that you didn't tun off ? When you RESET HALT
with your BDI and just sit at the reset vector, is your board
still rebooting ?
Regards
Sinan Akman