
Dear Scott, I have disassemble the nand_base.o file,because i know the problem happened here. Do you think it's useful for your analysis?
00001a4c <nand_scan_tail>: 1749 1a4c: e92d4070 push {r4, r5, r6, lr} 1750 1a50: e590509c ldr r5, [r0, #156] 1751 1a54: e595304c ldr r3, [r5, #76] 1752 1a58: e3130701 tst r3, #262144 ; 0x40000 1753 1a5c: e1a06000 mov r6, r0 1754 1a60: 1a000002 bne 1a70 <nand_scan_tail+0x24> 1755 1a64: e59f04ec ldr r0, [pc, #1260] ; 1f58 <nand_scan_tail +0x50c> 1756 1a68: ebfffffe bl 0 <malloc> 1757 1a6c: e58500dc str r0, [r5, #220] 1758 1a70: e59510dc ldr r1, [r5, #220] 1759 1a74: e3510000 cmp r1, #0 ; 0x0 1760 1a78: 03e0000b mvneq r0, #11 ; 0xb 1761 1a7c: 08bd8070 popeq {r4, r5, r6, pc} 1762 1a80: e5963014 ldr r3, [r6, #20] 1763 1a84: e59520b0 ldr r2, [r5, #176] 1764 1a88: e0813003 add r3, r1, r3 by the way,I cann't find the prototype of malloc in the whole project,it seems that it is encapsulated in some libs. -- Best regards, Terry.
在 2010-11-11四的 13:49 -0600,Scott Wood写道:
On Thu, 11 Nov 2010 23:06:01 +0800 terry gliumailenator@gmail.com wrote:
Dear everyone, I'm using u-boot-2010.09. After I download u-boot.bin to my boards(cpu is s3c2410),the output from serial shows that cpu has exception, the information list as following: U-Boot 2010.09 (Nov 11 2010 - 21:55:07)
U-Boot code: 33F80000 -> 33FA0BDC BSS: -> 33FA45EC RAM Configuration: Bank #0: 30000000 64 MiB NAND: data abort pc : [<33f8fbb4>] lr : [<33f85f70>] sp : 33f07fac ip : 00000000 fp : 00000000 r10: 00001298 r9 : ffffff7f r8 : 33f4ffe0 r7 : 00000000 r6 : 33fa3b50 r5 : 33fa3c00 r4 : 33fa0274 r3 : 33f9ff54 r2 : 00000064 r1 : 00000001 r0 : cc33cc33 Flags: NzCv IRQs off FIQs off Mode SVC_32 Resetting CPU ...
value of pc locate at <malloc> function, value of lr locate at <nand_scan_tail>(/drivers/mtd/nand/nand_base.c).
Could you look up the specific line numbers of 0x33f8fbb4 and 0x33f85f6c, and show a few lines of disassembly around those addresses?
-Scott