SPRAC71B February 2019 – October 2023
The program header contains the following fields.
p_type
The C28x defines no processor-specific segment types for the p_type field in the program header.
p_vaddr, p_paddr
The C28x does not currently have virtual addressing. Both the p_vaddr and p_paddr fields indicate the execution address of the segment. Segments that are loaded at one address and copied to another to execute are represented in the object file by two distinct segments: a load-image segment containing the segment's code or data whose address fields refer to the load address; and an uninitialized run-image segment whose address fields refer to the run address. The application is responsible for copying the contents of the load image to the run address at the appropriate time.
p_flags
There are no processor-specific segment flags defined for C28x.
p_align
As described in the System V ABI, loadable segments are aligned in the file such that their p_vaddr (address in memory) and p_offset (offset in the file) are congruent, modulo p_align. In systems with virtual memory, p_align generally specifies the page size. Unless specified for a specific platform, for the C28x the meaning and setting of p_align is unspecified.