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.

Monta Vista Linux

Other Parts Discussed in Thread: CCSTUDIO

I have CCS v 3.3 installed. I want to compile the code of "DM6446 UART NAND & NOR Flasher (spraai4)" after some minor changes as our custom board NAND is not accesible. Using Cygwin I have issued the make command and I get the following error:

$ make
make -C ubl all
make[1]: Entering directory `/cygdrive/c/DM6446 UART NAND & NOR Flasher (spraai4)/ubl'
make -C src FLASH=nand
make[2]: Entering directory `/cygdrive/c/DM6446 UART NAND & NOR Flasher (spraai4)/ubl/src'
arm_v5t_le-gcc -c -Os -Wall -I../include -DUBL_NAND dm644x.c -o dm644x_nand.o
make[2]: arm_v5t_le-gcc: Command not found
make[2]: *** [dm644x_nand.o] Error 127
make[2]: Leaving directory `/cygdrive/c/DM6446 UART NAND & NOR Flasher (spraai4)/ubl/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/cygdrive/c/DM6446 UART NAND & NOR Flasher (spraai4)/ubl'
make: *** [all] Error 2

From where can I get arm_v5t_le-gcc?

I have seen on net that DV Flasher 1.11 is also available. From where can I get the latest source and the compiler?

Regards.

  • Naveed Alam said:

    From where can I get arm_v5t_le-gcc?

    This is the GCC compiler for the Montavista Linux toolchain and is not delivered with Code Composer Studio.  With your DM6446 development environment, such as the DVSDK, etc., a version of Montavista is provided which includes the toolchain, kernel, etc.

  • Basically, we are working on a custom board and we have not purchased any software solution except CCS. Is there any other way to compile this source code?

  • That DVFlasher source code is quite old; you are better off getting the software from http://tiexpressdsp.com/index.php/Serial_Boot_and_Flash_Loading_Utility.  I think this one is much easier to build as well.

  • Thanks Juan. I am trying to flash my NAND device from Micron (MT29F2G08AxD) which is 256 MB big block device. One page has been successfully written to the NAND through a custom code. But the flashing is not occuring. I get:

    Platform is Windows.
    Flashing NAND with ./ubl/ubl_DM644x_nand.bin and ./ubl/u-boot-nand_s3_4_fix.bin.


    Attempting to connect to device COM1...
    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:   BEGIN
    BEGIN commmand received. Sending CRC table...
     100% [                                                              ]
                               CRC table sent....



    Waiting for DONE...
    DONE received.  Sending the UBL...
     100% [                                                              ]
                                  UBL sent....


    DONE received.  UBL was accepted.
    UBL transmitted successfully.


    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...
    SENDIMG received. Returning ACK and header for image data...
    ACK command sent. Waiting for BEGIN command...
    BEGIN commmand received.
     100% [                                                              ]
                               Image data sent...


    Waiting for DONE...
    DONE received.  All bytes of image data received...
            Target: Writing UBL to NAND flash
            Target: Unprotecting blocks 0x00000001 through 0x00000005.
            Target: Number of blocks needed for header and data: 0x0x00000001
            Target: Attempting to start in block number 0x0x00000001.
            Target: Erasing block 0x00000001 through 0x00000001.
            Target: Writing header and image data to Block 0x00000001, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000002 through 0x00000002.
            Target: Writing header and image data to Block 0x00000002, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000003 through 0x00000003.
            Target: Writing header and image data to Block 0x00000003, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000004 through 0x00000004.
            Target: Writing header and image data to Block 0x00000004, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000005 through 0x00000005.
            Target: Writing header and image data to Block 0x00000005, Page 0x00000000
            Target: Write verify failed!
            Target: Protecting the entire NAND flash.
            Target:    DONE
    Sending the Application image
    Waiting for SENDIMG sequence...
    SENDIMG received. Returning ACK and header for image data...
    ACK command sent. Waiting for BEGIN command...
    BEGIN commmand received.
     100% [                                                              ]
                               Image data sent...


    Waiting for DONE...
    DONE received.  All bytes of image data received...
            Target: Writing APP to NAND flash
            Target: Unprotecting blocks 0x00000006 through 0x00000032.
            Target: Number of blocks needed for header and data: 0x0x00000001
            Target: Attempting to start in block number 0x0x00000006.
            Target: Erasing block 0x00000006 through 0x00000006.
            Target: Writing header and image data to Block 0x00000006, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000007 through 0x00000007.
            Target: Writing header and image data to Block 0x00000007, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000008 through 0x00000008.
            Target: Writing header and image data to Block 0x00000008, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x00000009 through 0x00000009.
            Target: Writing header and image data to Block 0x00000009, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x0000000A through 0x0000000A.
            Target: Writing header and image data to Block 0x0000000A, Page 0x00000000
            Target: Write verify failed!
            Target: Erasing block 0x0000000B through 0x0000000B.

    ............................................ upto block 0x00000032

            Target: Write verify failed!
            Target: Protecting the entire NAND flash.
            Target:    DONE
            Target:    DONE

    Operation completed successfully.

    Is this NAND not supported? It's device ID is 0xAA.

    I am trying to recompile the your suggested source using Cygwin but I get the errors:

    $ make
    make -C CCS all
    make[1]: Entering directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS'
    make -C NORWriter all
    make[2]: Entering directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter'
    timake NORWriter.pjt Debug
    ---------------------------  NORWriter.pjt - Debug  ---------------------------
    [debug.c] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -g -fr"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/Debug" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/ccs/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/drivers/include" -d"_DEBUG" -d"SKIP_LOW_LEVEL_INIT" -me -mv5e --abi=eabi -@"../../../DM644x/CCS/NORWriter/Debug.lkf" "debug.c"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    [nor.c] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -g -fr"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/Debug" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/ccs/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/drivers/include" -d"_DEBUG" -d"SKIP_LOW_LEVEL_INIT" -me -mv5e --abi=eabi -@"../../../DM644x/CCS/NORWriter/Debug.lkf" "nor.c"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    [util.c] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -g -fr"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/Debug" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/ccs/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/drivers/include" -d"_DEBUG" -d"SKIP_LOW_LEVEL_INIT" -me -mv5e --abi=eabi -@"../../DM644x/CCS/NORWriter/Debug.lkf" "util.c"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    [device.c] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -g -fr"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/Debug" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/ccs/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/drivers/include" -d"_DEBUG" -d"SKIP_LOW_LEVEL_INIT" -me -mv5e --abi=eabi -@"../../CCS/NORWriter/Debug.lkf" "device.c"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    [norwriter.c] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -g -fr"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/Debug" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/ccs/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/include" -i"c:/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter/../../../Common/drivers/include" -d"_DEBUG" -d"SKIP_LOW_LEVEL_INIT" -me -mv5e --abi=eabi -@"../Debug.lkf" "norwriter.c"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    [Linking...] "G:\CCStudio_v3.3\tms470\cgtools\bin\cl470" -@"Debug.lkf"
    ERROR: bad argument to option --abi: should be one of { ti_arm9_abi tiabi }

    Build Complete,
      1 Errors, 0 Warnings, 0 Remarks.
    make[2]: *** [all] Error 100
    make[2]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS/NORWriter'
    make[1]: *** [all] Error 2
    make[1]: Leaving directory `/cygdrive/c/DM644x_FlashAndBootUtils_1_50/DM644x/CCS'
    make: *** [all] Error 2

    Any idea?

  • So the good news is that your NAND device appears to be supported by DM6467 RBL (see http://focus.ti.com/lit/an/spraas0c/spraas0c.pdf ); the bad news is that if the serial utility is failing, it is likely this NAND device is not supported by the serial utility, which means you will need to modify the code to add support.  FYI, I know of a few customers that have sucessfully done this (you may even find posts if you search); the main change they needed to take care of was CRC computation.

     

  • I am planning to add more "printf()" to see what is happening buy I get the error of "--abi=eabi" with timake when I issue make through Cygwin.

    What is it's reason? I am using CCS 3.3.

  • I have the same problem on DM355, have you solved it?

  • Yes I installed the new code generation toolset that is available on the TI site. It does not complain about this parameter.