This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DM355 linux kernel booting problem

We designed a system using DM355,and when debugging ,we met a problem,did someone else know something about it ?

When the board booting ,it stoped here:

NAND read: device 0 offset 0xc00000, size 0x300000                             
 3145728 bytes read: OK                                                        
                                                                               
Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000                             
   Image Name:   Linux-2.6.10_mvl401                                           
   Image Type:   ARM Linux Kernel Image (uncompressed)                         
   Data Size:    1585188 Bytes =  1.5 MB                                       
   Load Address: 80008000                                                      
   Entry Point:  80008000                                                      
## Booting image at 80700000 ...                                               
   Image Name:   Linux-2.6.10_mvl401                                           
   Image Type:   ARM Linux Kernel Image (uncompressed)                         
   Data Size:    1585188 Bytes =  1.5 MB                                       
   Load Address: 80008000                                                      
   Entry Point:  80008000                                                      
   Verifying Checksum ... OK                                                   
OK                                                                             
                                                                               
Starting kernel ...                                                            
                                                                               
Uncompressing Linux.............................................................
............................................. done, booting thek

That is ,when the kernel was uncompressed ,it didn't start to boot,just stop there. We have tried all kinds of booting methods ,but all met the same problem.

We have checked that the flash is good,for there is nothing wrong about u-boot,and we have run the ddr test program which TI offered ,also good. Tftp command work right.

Can someone give us a hand ?

  • The image name seems a little odd, although not impossible as you can assign it any name you wish.  I do not see any tftp activity taking place... One thing that may help us indentify the cause is if you actually posted a log of your u-boot environment variables; to do this, press any key to break into u-boot, I believe you have a few seconds to do this when you first boot; then, type 'printenv' and post the log.

  • Juan Gonzales said:
    The image name seems a little odd, although not impossible as you can assign it any name you wish.

    Yes,I have rename uImage-dm355 to uImage.

    Juan Gonzales said:
    I do not see any tftp activity taking place...

    This is because I have set booting method to be :bootargs=mem=116M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,4M
    ip=off  .

    To make things clear,let me copy all the logs of my boot:

    1.Using the bootargs=mem=116M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,4M
    ip=off  :

     this is MT29F16G08FAA device                                            
    UBL: detected valid U-Boot magic number                                  
    UBL: booting to U-Boot                                                   
                                                                             
                                                                             
    U-Boot 1.2.0 (Oct 17 2007 - 15:38:02)                                    
                                                                             
    DRAM:  128 MB                                                            
    NAND:  NAND device: Manufacturer ID: 0xec, Chip ID: 0xd3 (Samsung NAND 1GiB 3,3V
     8-bit)                                                                  
    Bad block table found at page 524224, version 0x01                       
    Bad block table found at page 524160, version 0x01                       
    nand_read_bbt: Bad block at 0x002a0000                                   
    nand_read_bbt: Bad block at 0x01da0000                                   
    nand_read_bbt: Bad block at 0x01de0000                                         
    nand_read_bbt: Bad block at 0x08d60000                                         
    nand_read_bbt: Bad block at 0x08da0000                                         
    nand_read_bbt: Bad block at 0x08ee0000                                         
    nand_read_bbt: Bad block at 0x09d60000                                         
    nand_read_bbt: Bad block at 0x0b720000                                         
    nand_read_bbt: Bad block at 0x0b7e0000                                         
    nand_read_bbt: Bad block at 0x0e960000                                         
    nand_read_bbt: Bad block at 0x11a00000                                         
    nand_read_bbt: Bad block at 0x13400000                                         
    nand_read_bbt: Bad block at 0x182a0000                                         
    No NAND device found!!!                                                        
    1024 MiB                                                                       
    In:    serial                                                                  
    Out:   serial                                                                  
    Err:   serial                                                                  
    ARM Clock :- 216MHz                                                            
    DDR Clock :- 171MHz                                                            
    Hit any key to stop autoboot:  0                                               
    DM355 EVM # printenv                                                           
    bootdelay=3                                                                    
    baudrate=115200                                                                
    bootfile="uImage"                                                              
    filesize=248448                                                                
    fileaddr=82000000                                                              
    ipaddr=192.168.1.3                                                             
    serverip=192.168.1.5                                                           
    bootargs=mem=116M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,4M
    ip=off                                                                         
    bootcmd=nand read 0x82000000 0xC00000 0x300000;nboot 0x80700000 0 0x400000;bootm
    stdin=serial                                                                   
    stdout=serial                                                                  
    stderr=serial                                                                  
    videostd=pal                                                                   
                                                                                   
    Environment size: 342/16380 bytes                                              
    DM355 EVM # boot                                                               
                                                                                   
    NAND read: device 0 offset 0xc00000, size 0x300000                             
     3145728 bytes read: OK                                                        
                                                                                   
    Loading from NAND 1GiB 3,3V 8-bit, offset 0x400000                             
       Image Name:   Linux-2.6.10_mvl401                                           
       Image Type:   ARM Linux Kernel Image (uncompressed)                         
       Data Size:    1585188 Bytes =  1.5 MB                                       
       Load Address: 80008000                                                      
       Entry Point:  80008000                                                      
    ## Booting image at 80700000 ...                                               
       Image Name:   Linux-2.6.10_mvl401                                           
       Image Type:   ARM Linux Kernel Image (uncompressed)                         
       Data Size:    1585188 Bytes =  1.5 MB                                       
       Load Address: 80008000                                                      
       Entry Point:  80008000                                                      
       Verifying Checksum ... OK                                                   
    OK                                                                             
                                                                                   
    Starting kernel ...                                                            
                                                                                   
    Uncompressing Linux.............................................................
    ............................................. done, booting thek

    *****************************************************************************************

    *****************************************************************************************

    2.Using tftp and nfs :

    DM355 EVM # printenv                                                           
    bootdelay=3                                                                    
    baudrate=115200                                                                
    bootfile="uImage"                                                              
    filesize=248448                                                                
    fileaddr=82000000                                                              
    ipaddr=192.168.1.3                                                             
    serverip=192.168.1.5                                                           
    stdin=serial                                                                   
    stdout=serial                                                                  
    stderr=serial                                                                  
    videostd=pal                                                                   
    bootcmd=tftp;bootm                                                             
    bootargs=console=ttyS0,115200n8 noinitrd rw ip=192.168.1.3:192.168.1.1:192.168.1
    .1:255.255.255.0 root=/dev/nfs nfsroot=192.168.1.5:/home/brdsp/workdir/filesys,n
    olock mem=116M                                                                 
                                                                                   
    Environment size: 368/16380 bytes                                              
    DM355 EVM # boot                                                               
    TFTP from server 192.168.1.5; our IP address is 192.168.1.3                    
    Filename 'uImage'.                                                             
    Load address: 0x80700000                                                       
    Loading: #T ###############T #################T ################################
             ##############################################################T ###   
             ##T ############################################T ################### 
             ###T ##############################################################   
             ##################################################                    
    done                                                                           
    Bytes transferred = 1585252 (183064 hex)                                       
    ## Booting image at 80700000 ...                                               
       Image Name:   Linux-2.6.10_mvl401                                           
       Image Type:   ARM Linux Kernel Image (uncompressed)                         
       Data Size:    1585188 Bytes =  1.5 MB                                       
       Load Address: 80008000                                                      
       Entry Point:  80008000                                                      
       Verifying Checksum ... OK                                                   
    OK                                                                             
                                                                                   
    Starting kernel ...                                                            
                                                                                   
    Uncompressing Linux.............................................................
    ............................................. done, booting thek
    ********************************************************************************

    They all stopped when uncompressing linux done,what's your suggest about that ?

    And by the way ,the two booting method all works well on your dm355-evm board ,just when I use them on my own 355 board ,they do not work well.

  • Tony,

    Our software is only tested on our EVM.  Not sure what is different on your board, but it appears that the things break right when the kernel is starting to run.  You need to evaluate what is different among the two boards (ours and yours) and disable drivers for perihperals that may not be present on your board.

  • We are seeing the same thing on our first two prototype product boards. Our boards actually have two DM355 fitted. One DM355 boots into Linux fine, the other stops at '............................... booting thek".

    Initially both micros were using flash that was preprogrammed before PCB assembly, with the same software. When we saw this problem, for testing we erased the flash of the non-booting DM355 and set it up serially with UBL and U-Boot, and it's happy to boot to the U-Boot prompt. We then transferred the ramdisk.gz to address 0x82000000 serially too, then set the bootargs to boot the ramdisk as we have many times before on the EVM so we are confident in this procedure:
    setenv bootargs mem=116M console=ttyS0,115200n8 root=/dev/ram0 rw initrd=0x82000000,4M ip=off
    Then we type in the 'boot' command to cause the DM355 to boot using these bootargs the ramdisk image at 0x82000000. Again this we've done many times.

    Even using this procedure, where probably the DM355 doesn't care about the flash, hardware, or peripherals, the boot still freezes at the "booting thek" message in the same way. There is no kernel in flash yet, so it must only be going to the DDR to fetch the kernel and uncompress it to DDR.

    Would the DM355 only be accessing DDR during this boot, could this be for example a DDR problem or something else? Grateful of any suggestions, we are pretty stuck on this. Many thanks.

  • I have solved this problem following this document,and I hope it would be helpful to you .

    http://blog.csdn.net/lanmanck/archive/2009/06/23/4292340.aspx

  • If that can solve your problem, please let me know.