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.

DDR2 and DVFlasher



I'm trying to program my custom board using DVFlasher.  As the readme file that comes with the DVFlasher source suggests, I'm trying to properly configure my DDR2 settings in the UBL code.  Apparently I'm not doing such a good job because I always get the message "S-record Decode Failed." whenever DVFlasher tries to send my U-Boot binary to the target board.  A search turns up one email to the DaVinci mailing list suggesting incorrect DDR2 settings are the most likely culprit, but if anyone has any other suggestions as to what could be going wrong, please let me know.  I've configured my DDR2 settings as specified in the DDR2 controller guide (SPRUE22C) but perhaps I'm missing something.

I've set addressing lines (AEAW) for 21 bits of address and am pulling down the ODT line of my memory modules as suggested in the controller guide (although I do it via a GPIO during UBL start up).  My DDR part numer is MT47H64M16HR-3

 Thanks.

  • 1) FYI, the version of DVFlasher that accompanied the App Note (spraai4) does not have support for large block NAND flash devices; if you are using one of these devices, please work from DVFlasher v1.12 available from our software update site

    2) The message "S-record Decode Failed." occurs during transfer of u-boot via UART to NAND flash (similar, but not the same message occurs as result of NAND boot).  I believe DVFlasher transfers u-boot in two steps, it first transfers 14K UBL and writes it to flash, it then transfers u-boot and writes it to flash.  In each step, it checks to make sure s-record is valid.  Since you mention u-boot transfer is failing, does this mean that UBL transfers and gets copied to flash ok?  Are you sure that the u-boot you are sending via DVFlasher is an s-record application as opposed to a binary application?

    3) I assume your custom board is based on DM6446, since DVFlasher has only been tested on DM6446 EVM thus far.

     

  • Yes, our custom board is based on DM6446. 
    In response to #2, perhaps the UBL what is being transferred when the failure occurs; I had mistakenly assumed since I saw my customized code coming up on the terminal screen that the UBL had been successfully loaded.

    It appears that my problems may be a hardware wiring error where bank select lines were connected to the DDR2 modules incorrectly.

     Thanks for your help.

  • Hi, the DVFlasher at the "http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spraai4a" location seems to be V1.10. Where can i get the newer versions (i have seen that you speak about V1.12 and some people speak about version V1.14)?

  • That tool was specific to DM6446 and has been superseded by a more general tool available at http://wiki.davincidsp.com/index.php/Serial_Boot_and_Flash_Loading_Utility