Specifications
A Minimal PowerPCª Boot Sequence for 33
Executing Compiled C Programs
Source Files
#define L2CR_L2I 0x00200000 /* bit 10 Global invalidate bit */
#define L2CR_TS 0x00040000 /* bit 13 Test support on */
#define L2CR_TS_OFF ~L2CR_TS /* bit 13 Test support off */
#define L2CR_L2OH_5 0x00000000 /* bits 14-15 Output Hold time = 0.5ns*/
#define L2CR_L2OH_1 0x00010000 /* bits 14-15 Output Hold time = 1.0ns*/
#define L2CR_L2OH_INV 0x00020000 /* bits 14-15 Output Hold time = 1.0ns*/
5.4 ld.script
SECTIONS
{
/*
* check to see if we defined section starts in the makefile - if not,
* define them here.
*
* Align everything to a 16-byte boundary if youÕre specifying the
* addresses here.
*/
TEXT_START = DEFINED(TEXT_START) ? TEXT_START : 0x00000000;
IMAGE_TEXT_START = DEFINED(IMAGE_TEXT_START) ? IMAGE_TEXT_START : 0xFFF00000;
.text TEXT_START : AT (IMAGE_TEXT_START)
{
/*
WeÕre building a s-record with the .text section located
at TEXT_START that weÕre going to load into memory at
IMAGE_TEXT_START. _img_text_start and _img_text_end
indicate the locations of the start and end of the text
segment at the loaded location.
These values are used by the routine that relocates the text.
*/
*(.text)
*(.rodata)
*(.rodata1)
*(.got1);
}
/* Save text location in image and the final location to be used
in ppcinit.S */
_img_text_start = LOADADDR(.text);
_img_text_end = ( LOADADDR(.text) + SIZEOF(.text) );
_final_text_start = ADDR(.text);
/*
* Put the data section right after the text in the load image
* as well as after the relocation unless else specified
* If the user specified an address, assume itÕs aligned to a
* 32-byte boundary (typical cache block size). If weÕre
* calculating the address, align it to cache block size ourself.
*/