Other Parts Discussed in Thread: HALCOGEN
Tool/software: TI C/C++ Compiler
Dear TI Experts,
I am reading through the ARM Assembly Language Tools (SPNU118W), with the intention of understanding the linker file of a CCS project.
My question is related to the MEMORY directive, as explained on page 210 of SPNU118W ( 8.5.4.2 MEMORY Directive Syntax ), in particular, the "attr" field of a memory range.
Per definition, "attr" "restricts the allocation of output sections into certain memory ranges".
What does that mean for the initialized (.text, .data) and the uninitialized (.bss, ...) sections? From what I understand, the .bss section shouldn't be assigned to a (R) or (RX) memory range, as the .bss also needs to be written (W) to also, thus the reason it resides in RAM. Is my understanding of this correct?
But here comes what I don't quite understand - how is it possible to execute instructions from RAM then during the update process of a MCU using the F021 API if the attribute of the RAM range is only (RW), but not (RWX)?
Thank you in advance!
Kind regards,
Mihail