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.

28346:Is there a limit firmware size to use Stand-alone?

For operating Stand-alone, I use a external Flash (512Kb).

 

But there is a problem. When HEX file is written the external Flash by over 144kb,

 

It does not work by Stand-alone.

 

However, When HEX file is written the RAM by the J-tag, There is no problem.

 

 

As you can see the Map file below, RAM is enough.

 

        name            origin    length      used     unused   attr    fill
----------------------  --------  ---------  --------  --------  ----  --------
PAGE 0:
  BEGIN                 00300000   00000002  00000002  00000000  RWIX
  H05SARAM              00300002   0002fffe  00012bfd  0001d401  RWIX
  CSM_RSVD              0033ff80   00000076  00000000  00000076  RWIX
  CSM_PWL               0033fff8   00000008  00000000  00000008  RWIX
  IQTABLES              003fe000   00000b50  00000000  00000b50  RWIX
  IQTABLES2             003feb50   0000008c  00000000  0000008c  RWIX
  FPUTABLES             003febdc   000006a0  00000000  000006a0  RWIX
  BOOTROM               003ff27c   00000d44  00000000  00000d44  RWIX
  RESET                 003fffc0   00000002  00000000  00000002  RWIX

The options are as follows: to create a HEX file

hex2000 a.out-i-o a.hex-boot-spi8-e 0x300000-lospcp 0-spibrr 4

 

Is there a limit size to use Stand-alone?

Thank you.

TestProject_Fail.zip
  • Is there a limit size to use Stand-alone?

    There is no limit as such. Are you sure that your external flash has not been corrupted? Did you try replacing the flash?

    Regards,

    Gautam

  • I found the cause of this problem. 

    http://e2e.ti.com/support/microcontrollers/c2000/f/171/p/190313/698147.aspx

    It problem occur when .text block size is over 0xFFFF.

    but I don't know how to fix it problem.

    Thank you.

    ----------------------------- my 28346 HEX  file Analysis -----------------------------

    AA 08 ; key value
    00 00 00 00 ; 8 reserved words
    00 00 00 00
    00 00 00 00
    00 00 00 00
    00 00 00 00 ; 0x0000 0000 entryAddr, staring point after boot load completes
    02 00 ; 0x0002 - First block consists of 2 16-bit words
    00 00 00 00 ; 0x0000 0000 - First block will be loaded starting at 0x0000 00000
    70 00 ; Data loaded = 0x0070 0xFFF7
    F7 FF
    04 00 ; 0x0004 - 2nd block consists of 4 16-bit words
    00 00 06 80 ; 0x0000 8006 - 2nd block will be loaded starting at 0x8006
    01 19 ; Data loaded = 0x1901 0x56c3 0xFFFF 0x0006
    C3 56
    FF FF
    06 00

    FF FF ; 0xFFFF - 3nd block cosists of 0xFFFF 16-bit words

    ==> 3nd block size is 0x00 00 if block size 0x10000 

    30 00 ; 0x0030 0000 - 3nd block will be loaded starting at 0x300000 ( H0~5 SARAM )
    00 00
    02 FE

    .....

    ....

  • It problem occur when .text block size is over 0xFFFF.

    but I don't know how to fix it problem.

    I'm forwarding your query to Santosh, who has responded to the above link.

    Regards,

    Gautam

  • June,

    yes this is a known issue, I need to check if the tools are being updated for the fix.

    Meanwhile would you be able to edit the blocks in the hex file manually or with a script, to be less than 0xFFFF in size. Like divide up the third block which is >= 0xFFFF in size into two:  where you put some first 0x02 (min) words from the big block into first divided block and the rest into another one. The data remains unchanged all you would do is wherever you find 0xFFFF for length you put 0x02 and then leave two data words and the add at length field of 0xFFFF-2 and leave the rest as it is. Then proceed to the next block.

    Hope this helps..

     

    Best Regards

    Santosh