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.

Problem with programming via rs232 by C2prog. Works ok with CCS

Hello.

I have problem with programming processor 28335 with rs232. I use c2prog and everything is ok when I erase and program. It looks like everything is ok,  but it doesn't work. I have found that if I erase all sections without B after programming processor starts. If I clear all sections including B processor doesn't start. If I program with same code via JTAG everything is ok. Processor always starts. I attach my cmd file.

  • I solved the problem. Flash B is on page 1( data memory) and I have something like this in my cmd file:

    BEFORE (doesn't work)

    PAGE 1 :   /* Data Memory */

    ...

       RAMDMA2     : origin = 0x00C800, length = 0x003801

       FLASHB      : origin = 0x330000, length = 0x008000     /* on-chip FLASH */

    ...

    SECTIONS
    {

       RAM3                 : LOAD = FLASHB,
       {
                            div_f32.obj (.text),
                            atan2_f32.obj (.text),
                            atan_f32.obj (.text),
                            sincos_f32.obj (.text),
                            cos_f32.obj (.text),
                            sin_f32.obj (.text),
                            sqrt_f32.obj (.text),
                            isqrt_f32.obj (.text),
       }

                            RUN = RAMDMA2,
                                LOAD_START(_RAM3_loadstart),
                              LOAD_END(_RAM3_loadend),
                             RUN_START(_RAM3_runstart)
                             PAGE = 1

    ...

    }

    I divide into 2 sections RAMDMA2 and RAMDMA3 and moved RAMDMA2 to page 0:

    AFTER (works correctly)

    PAGE 0:    /* Program Memory */
    ...
       RAMDMA2     : origin = 0x00C800, length = 0x002000
       FLASHC      : origin = 0x328000, length = 0x008000     /* on-chip FLASH */
    ...


    PAGE 1 :   /* Data Memory */

    ...
       RAMDMA3     : origin = 0x00E800, length = 0x001800
       FLASHB      : origin = 0x330000, length = 0x008000     /* on-chip FLASH */

    ...
    }

    SECTIONS
    {

       RAM3                 : LOAD = FLASHC,
       {
                            div_f32.obj (.text),
                            atan2_f32.obj (.text),
                            atan_f32.obj (.text),
                            sincos_f32.obj (.text),
                            cos_f32.obj (.text),
                            sin_f32.obj (.text),
                            sqrt_f32.obj (.text),
                            isqrt_f32.obj (.text),
       }
       
                             RUN = RAMDMA2,
                                LOAD_START(_RAM3_loadstart),
                              LOAD_END(_RAM3_loadend),
                             RUN_START(_RAM3_runstart)
                             PAGE = 0

    ...

    }