I am trying to decipher the LD GNU linker command language. In my linker script, what is the significance of the bolded line? Obviously, I expect it to give a FLASH memory location, but don’t understand what the “.)” part means in relation to a FLASH address. I’ve reviewed the Command Language manual from GNU but still am not getting it.
/* Main application access to the bootloader API */
.linkToBootloaderAPI LINK_TO_BOOTLOADER_START : ALIGN (4)
{
PROVIDE(__link_to_bootloader_api_start = .);
KEEP (*(.linkToBootloaderAPI))
} >rom
APP_BUILD_INFO_SECTION_OFFSET = 0x20;
PROVIDE(__linktobootloaderapi_size = . - __link_to_bootloader_api_start);
**PROVIDE(__bootloader_end_address = .);**
PROVIDE(__bootloader_rom_usage = ALIGN(CY_FLASH_ROW_SIZE));
PROVIDE(__app_build_info_address = ALIGN(CY_FLASH_ROW_SIZE)+APP_BUILD_INFO_SECTION_OFFSET);
EDIT: Can’t get the line to bold. I mean PROVIDE(__bootloader_end_address = .);