As there're linker-defined symbols like
Load$$LR$$load_region_name$$Base Address of the load region. Load$$LR$$load_region_name$$Length Length of the load region. Load$$LR$$load_region_name$$Limit Address of the byte beyond the end of the load region
to get the attributes of a Load region. But I think the Load$$LR$$load_region_name$$Length and Load$$LR$$load_region_name$$Limit are redundant. Since we can calculate the Limit address by adding the Length to the Base address.
My question is how to get the maximum size of a region in C source? For example,
Load Region LR_IROM1 (Base: 0x00005000, Size: 0x00005cb8, Max: 0x0000b000, ABSOLUTE, COMPRESSED[0x000054ec])
Load$$LR$$LR_IROM1$$Length would be 0x000054ec. But is there any symbol to refer to the value of 0x0000b000?
So why don't the Length and/or Limit symbols answer your question?
the Length and/or Limit symbols are only the region value you have used or your code has occupied , but not the maxsize
Maybe we can define a useless region as below
ER_IROM1 0x00000000 0x100 {
}
ER_USELESS 0x00000100 {
and in c file, we can use (ER_USELESS - ER_IROM1 )to get the maxsize which is 0x100, but I haven't verified it yet.