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.

Flash Erasing and Writing Problem- C6713

Hi,

I am using C6713 DSK and trying to write some data to flash after processing analog signal. I can erase and write to Flash but for some reason I am unable to erase and write Data from Sector 3 onwards.

DSK6713_FLASH_BASE + 0x01ffff, /* Sector 3 to DSK6713_FLASH_BASE + 0x03ffff  /* Sector 10 */

I tried to write to each Sector starting from Sector 0 but it has no effect of writing and erasing on Sector 3 onwards. On checking the memory from CCS it only shows a dashed (-) line. I don't know whats wrong here.

Moreover, how can I use full 512 Kb of flash to save more data ?

I will really appreciate your help.

Regards,

Tariq

  • Will some one please reply to this post ?

  • Al Salam,

    This is a Q for Spectrum Digital, the vendor for this DSK.  Talk to Danny over there.

    Good Luck,

    Sam

  • Walaikum as Salam

    But some one in this forum should know what is the problem.

    I am hoping to get reply from TI guys.

  • Will any one please reply to this post ?

  • Al Salam,

    From dsk6713_TechRef.pdf that Spectrum Digital have it says "512 Kbytes of non-volatile Flash memory

    (256 Kbytes usable in default configuration)".

    Also it say

    "The Flash and CPLD share CE1 which means that the highest DSP address bit (A21) is used to differentiate

     between the two. The FLASH_PAGE bit is driven to the Flash as a replacement for that address line which is

    connected to A19 of the Flash. On a standard DSK, the on-board Flash is not large enough for this bit to be significant.

    FLASH_PAGE is only useful if the board is re-populated with a larger pin-compatible Flash chip."

    and

    "The DSK uses a 512Kbyte external Flash as a boot option. It is visible at the beginning of CE1 (address 0x90000000).

    The Flash is wired as a 256K by 16 bit device to support the DSK's 16-bit boot option. However, the software that ships

    with the DSK treats the Flash as an 8-bit device (ignoring the top 8 bits) to match the 6713's default 8-bit boot

    mode. In this configuration, only 256Kbytes are readily usable without software changes."

    And you will need to manipulate FLASH_PAGE in CPLD below

    Good Luck,

    Sam

  • I know this fact..

    The Flash on the 6713 DSK is arranged as a 256Kb x 16 device, but the software and board are configured to use CE1 (the chip enable space the Flash is in) in 8-bit mode to match other C6x DSKs. The net effect is that people using the DSK software as-is will only see 256Kb of Flash.

    I am not even trying to use full 512kb at this time. The problem is that I am unable to Erase and Write from Sector 3 onwards which corresponds to 96kb memory out of 256kb.

    DSK6713_FLASH_BASE + 0x01ffff, /* Sector 3  */

    I don't know why you are stressing on how to configure Flash as 512kb. I am not able to use all 256kb of Flash. Thats the problem..

  • Al Salam,

    You are operating under CCS control and using the DSK6713.gel provided by Spectrum.

    In there

    /*--------------------------------------------------------------*/
    /* StartUp() */

    /* This function is called each time CCS is started.            */

    /* Customize this function to perform desired initialization.   */

    /*--------------------------------------------------------------*/

    StartUp()

    {

        setup_memory_map();

    .

    which set the CPU memory map to

    /*--------------------------------------------------------------*/
    /* setup_memory_map() */

    /* Memory map setup                                             */

    /*--------------------------------------------------------------*/

    setup_memory_map()

    {

        GEL_MapOn();

        GEL_MapReset();



        /* On-chip memory map */

        GEL_MapAdd(0x00000000, 0, 0x00030000, 1, 1); // Internal RAM (L2) mem

    .

    .

        /* Off-chip memory map */

        GEL_MapAdd(0x80000000, 0, 0x01000000, 1, 1); // CE0, SDRAM, 16 MBytes

        GEL_MapAdd(0x90000000, 0, 0x00020000, 1, 1); // CE1, 8-bit ROM, 128KBytes

        GEL_MapAdd(0x90080000, 0, 0x00000008, 1, 1); // CE1, 8-bit I/O port

        GEL_MapAdd(0xA0000000, 0, 0x10000000, 1, 1); // CE2 - Daughtercard

        GEL_MapAdd(0xB0000000, 0, 0x10000000, 1, 1); // CE3 - Daughtercard

    }

    and that is likely where your issues start by seing dashed lines - in place of real data.

    I do not have sight to the Flash source code used to erase/program etc..., so I can not comment on it anything.

    Good Luck,

    Sam

  • Walaikum As Salam

    Thanks for your help.

    I am able to use rest of the momory after modifying the given line to have 256KBytes of memory.

    GEL_MapAdd(0x90000000, 0, 0x00020000, 1, 1); // CE1, 8-bit ROM, 128KBytes

    -Tariq

  • Al Salam,

    Very Good.  I am glad I can help along with my friends from TI.  Please mark the thread as resolved, then.

    Good Luck,

    Sam