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.

No valid boot image found! NAND Boot failed. DM6446

hi all
     I want to Upgrading the U_Boot of the DVEVM-DM6446,
     so I according to dvsdk_2_00_00_22/PSP_02_00_00_140/docs/commands.txt
    
     this is my steps on uboot
           #setenv serverip 192.168.0.12
           #setenv ipaddr 192.168.0.15
           #tftp 0x80700000 u-boot-1.2.0-davinci-nand.bin
           #nand erase 0x18000 0x20000
           #nand write 0x80700000 0x18000 0x20000
       then I boot the kernel
           # boot
           this all right!!
      +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++      
      When I DVEVM power outage, and again on the power, it prompts me the following:
             (S3 set [1...10]:0000111110,J4 jump NAND) 
            DM644x initialization passed!
         TI UBL Version: 1.50
         Booting Catalog Boot Loader
         BootMode = NAND
         Starting NAND Copy...
         No valid boot image found!
         NAND Boot failed.
         Aborting...  

         (stop.......)
        then how can I do thanks!
  
   by the way my dvevm dm6446 nand flash is 64M  but the commands.txt say 32M,what wrong?
   How do I do to upgrade my uboot ?
  thank you !!   

  • zhijun guo said:

               #tftp 0x80700000 u-boot-1.2.0-davinci-nand.bin
               #nand erase 0x18000 0x20000
               #nand write 0x80700000 0x18000 0x20000

    Two things to keep in mind:

    1) the true size of u-boot is printed out as a result of TFTP command (I got the size below for the same version of u-boot you are using).

               Bytes transferred = 141096 (22728 hex)

    As you can see, this size is bigger then the 0x20000 being used in the last two commands in your log (nand erase and nand write).  The size you specify has to be bigger than the size of u-boot (22728 hex) and needs to be a multiple of the page size of the NAND device you are using in your hardware EVM.

    2)  If you are working with your custom board and have elected a different NAND device that what is on our EVM, then first you need to make sure that your NAND device is supported by RBL (rom boot loader); a list of RBL supported NAND devices is found on the ARM susbsystem guide.  That said, even if your NAND device is supported, if it has a different page/block size structure than the device on our EVM, then you will lilkely need to change UBL, u-boot, and Linux Kernel to support your new NAND device. 

    I hope this helps....

  •   I use TI's DVEVM(DM6446), I install the dvsdk following  the spra66f.pdf, 
      I donot know why DMEVM's nand flash size is 32M that is said in dvsdk_2_00_00_22/PSP_02_00_00_140/docs/commands.txt
      but I can see the nand flash in TI's DVEVM is 64M,
      how can i update ti's dvevm
      where to be found the something  about the 64M nand flash in ti's dvevm(dm6446)!!

  • If you are using our EVM, then you can use the serial port (UART) flashing utility to reflash the EVM with u-boot.  There are other options for reflashing (e.g. CCS/JTAG), but the serial flashing method does not require additional tools and is rather simple.

    Also, please disregard the 32M reference on the commands.txt file, the correct size on the EVM is 64M.  The commands listed on the commands.txt would be the same irrespective of this size.

     

  • thank you juan!!
     now I can update the uboot using DVFlasher_1_12.exe.and tftp the uImage to the ti's DVEVM(DM6446). I program the uImage to the 0x200000 address of the nand flash and boot the uImage to the address 0x80700000 of ddr2 (based on sprue66f-A.4.3).


       but I donot know why the uImage address in the nand flash is 0x20 0000 and 0x8070 0000 in ddr2. I jump the J4 to the nand on dvevm,understand the EM_CS2's address is 0x0200 0000. 

       if the nand flash address 0x20 0000 is the virtual address but the 0x8070 0000 is what ?
      

       where to be found the files about the  nand flash partition.(not the board-evm.c,because calculate on the file ,uImage's address is not 0x20 0000)

    (please excuse for my poor English!!)

    thank you !!!

  • the nand address is the address where you uImage resides and 0x80700000 is the address where the u-boot copies the uImage and executes it.

     

    and you can change the partition in mach-davinci folder in the file board-dm644x-evm.c

  • I had a problem while flashing u boot in NAND using serial port utility . I am using DM644x_FlashAndBootUtils_1_10.

    while flashing it hangs at     " Waiting for SENDIMG sequence..."  I had copied the screenshot below.Please give me a detailed description to overcome this problem.

    I am new to these things.

    [root@fedora GNU]# mono sfh_DM644x.exe -nandflash -APPLoadAddr 0x82080000 -APPStartAddr 0x82080000 ubl/ubl_DM644x_nand.bin /home/vinoth/Projects/uboot_dm644x/finaldm644x/u-boot.bin

    -----------------------------------------------------
       TI Serial Flasher Host Program for DM644x
       (C) 2008, Texas Instruments, Inc.
       Ver. 1.10
    -----------------------------------------------------


    Platform is Unix/Linux.
    Flashing NAND with ubl/ubl_DM644x_nand.bin and /home/vinoth/Projects/uboot_dm644x/finaldm644x/u-boot.bin.


    Attempting to connect to device /dev/ttyS0...
    Press any key to end this program at any time.


    Waiting for the DM644x...
    BOOTME commmand received. Returning ACK and header...
    ACK command sent. Waiting for BEGIN command...
    Target: BOOTME

    Waiting for the DM644x...
    BOOTME commmand received. Returning ACK and header...
    ACK command sent. Waiting for BEGIN command...
    Target: BOOTMEWaiting for the DM644x...
    BOOTME commmand received. Returning ACK and header...
    ACK command sent. Waiting for BEGIN command...
    Target: BOOTME

    Waiting for the DM644x...
    BOOTME commmand received. Returning ACK and header...
    ACK command sent. Waiting for BEGIN command...
    Target: BOOTME

    Waiting for the DM644x...
    BOOTME commmand received. Returning ACK and header...
    ACK command sent. Waiting for BEGIN command...
    Target:  BEGIN
    BEGIN commmand received. Sending CRC table...
    CRC table sent.  Waiting for DONE...
    DONE received.  Sending the UBL...
    DONE received.  UBL was accepted.
    UBL transmitted successfully.

    Target:Chip initialization passed!
    Target:TI SFT Version: 1.10
    Target:Booting Catalog Boot Loader
    Target:BootMode = UART

    Waiting for SFT on the DM644x...
    Target:Starting UART Boot...
    Target:BOOTUBL
    BOOTUBL commmand received. Returning CMD and command...
    CMD value sent.  Waiting for DONE...
    Target:   DONE
    DONE received. Command was accepted.
    Sending the UBL image
    Waiting for SENDIMG sequence...

     

    It hangs here.

    Thanks in Advance.

    Regards,

    vinoth.

     

     

     

     

  • hi sir

    I am getting problem in setting the bootloader settings for DM6446 evm

    i am using setenv nfshost 192.168.72.130 bootloader serverip etc

    and other all settings to boot our newly built image

    well when im using boot after saveenv

    target address (host ip address) it shows always 10.0.0.1 whatever address i choose for host  and target is dhcp(ok)

    this is not the first time we are doing this the all procedure had already been done and  booted perfectly and ive run all the demos too

    but now im getting this problem

    well when i m use

    tftpboot 0x80700000 uImage

    it works fine

    but boot doesn't after this too

    so  i ve changed host ip to staticip  10.0.0.1(before it was 192.168.72.130)

    so boot works

    but kernel hangs at

    uncompressing kernel................................................................................................................................................................................................. (hangs)

    may be the uImage is not correct

    pls suggest some solutions to set the env correctly in bootloader

    and this kernel hanging problem

    thanks

    kailash