• Resolved

[FAQ] : How can we improve the Flash tool performance?

Mastermind 36135 points

Replies: 1

Views: 61

Below are a few different things that you can try to improve the flashing performance when using TI's CCS On-chip Flash Plugin or UniFlash.  

a. Use a faster emulator like XDS200.  Performance of this emulator is comparable to that of XDS510, but it is cheaper.

b. There is no need to erase the entire Flash bank every time a flash program operation is initiated. In the On-Chip Flash Plugin GUI, user can choose the option "Necessary Sectors Only (for Program Load)" under Erase settings. This will erase only the sectors that are supposed to be reprogrammed (based on their linker cmd file). However, if any un-erased locations exist in other sectors that are not erased, application can not use those locations at run-time. Also, the checksum of the bank might not meet the expected value.  

c. If this is a production environment, you can choose “Program Only” option as units come erased from TI.

d. You can un-check "Verify Flash after Program" under Download Settings. Please note that verify of the image will not be done after the program operation when you choose this. You can use checksum option in Plugin after the program operation to verify the authenticity of the image, if it is acceptable for you.  Note that the checksum operation may need you to unlock the device if a reset is issued between the program and checksum initiation.  

e. If the application has multiple sections in the linker cmd file, you can try enabling "Combine Sections during Program Load to increase Performance" under Performance Settings. If there are not many sections, this is not suggested. When this feature is used, multiple sections in the executable will be combined together and programmed at once - While doing this, all the holes in between the sections will be filled with all 1s data and ECC also gets programmed for this all 1s data. Hence, those all 1s locations can not be used at application runtime if needed.

f. You can disable blank check after erase. If you choose this option, tools will not check whether the erase operation erased all the bits or not.  Hence, if a bit is not erased properly, the program operation will fail when a 0->1 transition happens as part of the program operation.

Thanks and regards,

Vamsi