[U-Boot] U-Boot debug - Error

manojatl manmano at rediffmail.com
Thu Sep 16 08:48:45 CEST 2010


We are using tool chain gnuarm 3.4.3 to compile U-Boot 1.1.6 for SMDK2400
board (ARM 9). The commands were as follows.


                make distclean
                make smdk2400_config
                make
                
 We are  able to successfully generate u-boot.The tool chain have build in
insight with version GNU gdb 6.1. 

While debugging the u-boot.elf  in insight with sim target, we encounter
error with  memset() funtion,which was called in the start_armboot()
function. The mixed code for memset() function is as follows 
  

                        427                    char *xs = (char *) s; 
                        0xcf8e0f4     <memset1+12>        : mov r3, r0                  
                        
                        428                    int l_count = count/4; 
                        0xcf8e0e8    <memset1>            : mov r2, r2, lsr
#2
                         
                        429  
                        430                     while (l_count--)
                        431                             *xs++ = c;
                         
                        0xcf8e0ec      <memset1+4>         : sub r2, r2, #1
; 0x1 
                        0xcf8e0f0     <memset1+8>         : cmn r2, #1 ; 0x1 
                        0xcf8e0f8      <memset1+16>       : moveq pc, lr 
                        0xcf8e0fc      <memset1+20>        : sub r2, r2, #1
; 0x1 
                        0xcf8e100     <memset1+24>       : cmn r2, #1 ; 0x1 
                        0xcf8e104    <memset1+28>      : strb r1, [r3], #1 
                        0xcf8e108     <memset1+32>       : bne 0xcf8e0fc
<memset1+20>
                         
                        432  
                        433                        return s;
                        434     }
                         
                        0xcf8e10c     <memset1+36>        : mov pc, lr 
                        
                                                                         
The "strb r1, [r3], #1" code tries to store 0x00 to locations starting  from
0x0cf1ffdc to 0x0cf20000 (36 bytes) byte by byte.The code  successfully
writes 0x00 to first byte location (0x0cf1ffdc), but when it  tries to write
the second byte location (0x0cf1ffdd), it throws an exception and the 
program hangs.
 
The makefile in the Top directory (./U-Boot) and config.mk file of 
'./U-Boot/cpu/arm920t' are attached for your ready reference.
 
Please help us to sort the above issue.
http://old.nabble.com/file/p29725451/Makefile.txt Makefile.txt 
http://old.nabble.com/file/p29725451/config.mk config.mk 
-- 
View this message in context: http://old.nabble.com/U-Boot-debug---Error-tp29725451p29725451.html
Sent from the Uboot - Users mailing list archive at Nabble.com.



More information about the U-Boot mailing list