Booting CNS3420 EVB v 1.3 failed with 2.6.36 (and 2.6.35)
Lin Mac
mkl0301 at gmail.com
Thu Nov 4 23:08:25 EDT 2010
Here's the my summary:
1. Booting CNS3420 EVB v 1.3 failed with linux 2.6.36 and .35
2. Build fails if enable DEBUG in head.S. ( but I guess the cause is not in
head.S, since at least "Decompressing" and "booting" is shown.)
3. How should I debug before start_kernel?
Following is the description of the issues:
--------------------------------------
CNS3420 EVB v 1.3
Linux 2.6.36 and 2.6.35
Using arch/arm/configs/cns3420vb_defconfig as default config.
Toolchain is Sourcery G++ Lite for ARM GNU/Linux, arm-2010-q1 and
arm-2009-q1
My u-boot use following bootcmd to boot image:
---
set kfile bootpImage;
set ramaddr 4000000;
set bootcmd mmc\;fatload mmc 0 \$(ramaddr) \$(kfile)\; go
\$(ramaddr);saveenv;
---
As for the ramaddr, I've tried 0x10000, 0x80000, 0x100000, 0x200000,
0x4000000. All failed.
The u-boot message:
--
U-Boot 2008.10-mpcore-00653-g4f9d01a (Sep 17 2010 - 22:19:25)
Cavium Networks CNS3XXX SDK v1.0-1462
CPU: Cavium Networks CNS3000
ID Code: 410fb024 (Part number: 0xB02, Revision number: 4)
CPU ID: 900
Chip Version: c
DRAM: 256 MB
Flash: 128 MB
In: serial
Out: serial
Err: serial
CPU works at 600 MHz (600/1/1)
DDR2 Speed is 400 MHz
Hit any key to stop autoboot: 0
mmc_init
Detected SD Card
reading bootpImage
9363530 bytes read
enter do_eth_down!!!
## Starting application at 0x04000000 ...
Uncompressing Li done, booting t
--
With RVDS, the CPU stops at:
--
PC=0x815c
...
0x815c: E1A00000: MOV r0,r0
0x8560: E28F3048: B 0x815c
...
--
The assembly seems really wrong, but I don't know where is it in the code.
So I tried to enable DEBUG in head.S with following patch:
----
diff --git a/arch/arm/boot/compressed/head.S
b/arch/arm/boot/compressed/head.S
index c5191b1..fbd04c1 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -17,6 +17,7 @@
* 100% relocatable. Any attempt to do so will result in a crash.
* Please select one of the following when turning on debugging.
*/
+#define DEBUG
#ifdef DEBUG
#if defined(CONFIG_DEBUG_ICEDCC)
----
Then it failed at building:
----
AS arch/arm/boot/compressed/lib1funcs.o
arch/arm/boot/compressed/head.S: Assembler messages:
arch/arm/boot/compressed/head.S:1019: Error: too many positional arguments
arch/arm/boot/compressed/head.S:1036: Error: too many positional arguments
make[3]: *** [arch/arm/boot/compressed/head.o] Error 1
----
Best Regards,
Mac Lin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20101105/2f70c3cb/attachment.html>
More information about the linux-arm-kernel
mailing list