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.

[DM6437] nand boot file required

Other Parts Discussed in Thread: TMS320DM6437

Dear all,

Where can I find ubl_nand.bin, u-boot-nand.bin and flashwriter_nand.out which are descripted in Application Note - "Booting DaVinci EVM From NAND Flash" (SPRAAA0A).
I can't find it in my dvsdk_1_01_00_15 folder.

Thanks.

  • This App Note was written from a DM6446 perspective using Linux operating system.  Unlike DM6446, DM6437 does not have an ARM9 running Linux hence the boot process is likely very different (not too familiar with this myself).  A good place to start would be the DVDP Getting Staerted Guide (http://focus.ti.com/lit/ug/spruev6/spruev6.pdf) which references http://focus.ti.com/general/docs/litabsmultiplefilelist.tsp?literatureNumber=spraag0d for supported boot-modes on DM6437.

  • Juan is right, as this is a DSP only device with just a C64x+ core and no ARM the typical intended software stack is just DSP/BIOS based which does not use a UBL or U-Boot style of booting, the DM6437 typically boots with an AIS (Application Image Script) formatted image that will configure the device and load the appliation into memory much like you load your .out file from CCS. As Juan suggests SPRAAG0d provides details on the AIS format and booting options for the DM6437.

    Typically the DM6437 is booted with NOR flash, though there is a NAND flash on the EVM I have not used it personally, however there is a NAND flash writer and collateral in the zip file associated with SPRAAG0d.

  • Sorry for the late reply. And thank you for your notice.
    I got another problem now: How do I burn the nand flash?
    I use the FlashBurn to burn the nor flash and success.
    But it doesn't work on nand flash, and I do adjust SW1. SW2 and JP2 to NAND boot mode.

  • I got it.
    It should convert *.out to *.bin by genAIS.pl which is from spraag0d.
    Then write *.bin into nand flash by NANDWriter project.
    Thank you all for your time.

  • I have tried to do the exact the same thing, but without any luck.

    I have tried to use bootload the led_test program to the EVM board. To achieve this i generate an AIS script with the genAIS perl script distributed in the zip file with SPRAAG0D. I run the genAIS script with the following arguments:

    perl genAIS.pl -otype bin -i led.out -o led_nand.bin -bootmode nand -cfg ..\evm\evmdm6437.cfg (I've tried both with and without the config script -cfg)

    I then download the AIS file by placing it on the base of my C-drive and run the NANDwriter project. I import the project into CCSv4 and run the code in the debugger. When running this project it asks for a file to download where I write

    c:\led_nand.bin

    It then downloads the program and writes that it has been succesfully downloaded (i see the program chip-select the NAND device with my oscilloscope).

    When I power-cycle the device I again see that the NAND device is chip-selected a number of times, but the LED's doesn't change as they are supposed to.

    The boot-setting switches are set as can be seen on the image below

    Can anyone point to a good way to debug this issue?

  • Can you tell me which utility used for converting *.out to *.bin.

    even i wanna convert it..

    Regards,

    vijay hiremath

  • Your answer is in the thread already. Please read the whole thread.

  • hi,

    [C64XP_0] Starting test of NAND Flash...
    [C64XP_0] Starting NANDWriter.
    [C64XP_0] Initializing NAND flash...
    [C64XP_0] Manufacturer ID  = 0x000000AD
    [C64XP_0] Device ID        = 0x00000079
    [C64XP_0] Pages Per Block  = 0x32
    [C64XP_0] Number of Blocks = 0x8192
    [C64XP_0] Bytes Per Page   = 0x512
    [C64XP_0]      Total blocks: 8192
    [C64XP_0]      Total pages:  262144
    [C64XP_0]      Total bytes:  134217728
    [C64XP_0] Enter the File Name
    app.bin
    [C64XP_0] Number of blocks needed for writing: 0x00000004
    [C64XP_0] Attempting to start in block number 0x00000001
    [C64XP_0] Unprotecting blocks 0x00000001 through 0x00000004.
    [C64XP_0] Erasing blocks 0x00000001 through 0x00000004.
    [C64XP_0] Writing 512 bytes of data:
    [C64XP_0] Data mismatch! Verification failed.
    [C64XP_0] Block   = 1
    [C64XP_0] Page    = 0
    [C64XP_0] i       = 4
    [C64XP_0] src[i]  = 255
    [C64XP_0] dest[i] = 255
    [C64XP_0] NAND_VerifyPage() failed.
    [C64XP_0] Skipping bad block at block number :1:
    [C64XP_0] Attempting to start in block number 0x00000002
    [C64XP_0] Unprotecting blocks 0x00000002 through 0x00000005.
    [C64XP_0] Erasing blocks 0x00000002 through 0x00000005.
    [C64XP_0] Writing 512 bytes of data:
    [C64XP_0] Data mismatch! Verification failed.
    [C64XP_0] Block   = 2
    [C64XP_0] Page    = 0
    [C64XP_0] i       = 0
    [C64XP_0] src[i]  = 255
    [C64XP_0] dest[i] = 255
    [C64XP_0] NAND_VerifyPage() failed.
    [C64XP_0] Skipping bad block at block number :2:
    [C64XP_0] Attempting to start in block number 0x00000003
    [C64XP_0] Unprotecting blocks 0x00000003 through 0x00000006.
    [C64XP_0] Erasing blocks 0x00000003 through 0x00000006.
    [C64XP_0] Writing 512 bytes of data:
    [C64XP_0] Data mismatch! Verification failed.
    [C64XP_0] Block   = 3
    [C64XP_0] Page    = 0
    [C64XP_0] i       = 0
    [C64XP_0] src[i]  = 255
    [C64XP_0] dest[i] = 255
    [C64XP_0] NAND_VerifyPage() failed.
    [C64XP_0] Skipping bad block at block number :3:
    [C64XP_0] Attempting to start in block number 0x00000004
    [C64XP_0] Unprotecting blocks 0x00000004 through 0x00000007.
    [C64XP_0] Erasing blocks 0x00000004 through 0x00000007.
    [C64XP_0] Writing 512 bytes of data:
    [C64XP_0] Data mismatch! Verification failed.
    [C64XP_0] Block   = 4
    [C64XP_0] Page    = 0
    [C64XP_0] i       = 0
    [C64XP_0] src[i]  = 255
    [C64XP_0] dest[i] = 255
    [C64XP_0] NAND_VerifyPage() failed.
    [C64XP_0] Skipping bad block at block number :4:
    [C64XP_0] Attempting to start in block number 0x00000005
    [C64XP_0] Unprotecting blocks 0x00000005 through 0x00000008.
    [C64XP_0] Erasing blocks 0x00000005 through 0x00000008.
    [C64XP_0] Writing 512 bytes of data:
    [C64XP_0] Data mismatch! Verification failed.
    [C64XP_0] Block   = 5
    [C64XP_0] Page    = 0
    [C64XP_0] i       = 0
    [C64XP_0] src[i]  = 255
    [C64XP_0] dest[i] = 255
    [C64XP_0] NAND_VerifyPage() failed.
    [C64XP_0] Skipping bad block at block number :5:
    [C64XP_0] Warning! Write Failed
    [C64XP_0]     : Writing data failed!! Error code = 276944520.

    when i use Spraagoe utility i am getting this error...

    can anyone please tell me???

    why i am not able to program or erase the flash.

    i am using

    CCS V5

    TMS320DM6437.

    Thanks and regards,
    Vijay Hiremath
    +91 9379162644