NOTICE: The Processors Wiki will End-of-Life on January 15, 2021. It is recommended to download any files or other content you may need that are hosted on processors.wiki.ti.com. The site is now set to read only.
LAUNCHXL2 570LC43: LinkerECCRecommendation - VFILL vs. FILL
What is the difference between:
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0 vfill = 0xffffffff
and
FLASH0 (RX) : origin=0x00000020 length=0x001FFFE0 fill = 0xffffffff
The former (vfill) doesn't cause the linker to output the fill value of 0xFFFFFFFF over the entire region specified. Instead, it instructs the linker to treat the memory region as if it is filled with 0xFFFFFFFF when the linker calculates the data values for the ECC regions.
The latter (fill) would actually output all of the flash contents plus fill data for the flash.
The difference between the two options is mainly significant when using a slower debug probe like the XDS100 class probe that is included on the launchpad. Using vfill will result in a download size that is the size of the program plus ECC data (about 512K). Whereas using the 'fill' directive would mean downloading a 4 MByte image even for a small 'blinky' program.
Assuming flash is erased before programming - both choices will result in the flash being programmed with valid ECC contents for every address - but the vfill based .out file program in about 1 minute instead of 4-5 minutes.