INITIALIZATION AND SYSTEM REQUIREMENTS
12-18
12.3.2
Process PRCB Flow
The following pseudo-code flow illustrates the processing of the PRCB. Note that this flow is used
for both initialization and reinitialization (through
sysctl
).
Example 12-2. Process PRCB Flow
Process_PRCB(prcb_ptr)
{ PRCB_mmr = prcb_ptr;
reset_state(data_ram); /* It is unpredictable whether the */
/* Data RAM keeps its prior contents */
fault_table = memory[PRCB_mmr];
ctrl_table = memory[P0x4];
AC = memory[P0x8];
fault_config = memory[P0xc];
if (1 & (fault_config >> 30)) generate_fault_on_unaligned_access = false;
else generate_fault_on_unaligned_access = true;
/** Load Interrupt Table and Cache NMI Vector Entry in Data RAM**/
Reset_block_NMI;
interrupt_table = memory[P0x10];
memory[0] = memory[interrupt (248*4) + 4];
/** Process System Procedure Table **/
sysproc = memory[P0x14];
temp = memory[0xc];
SSP_mmr = (~0x3) & temp;
SSP.te = 1 & temp;
/** Initialize ISP, FP, SP, and PFP **/
ISP_mmr = memory[P0x1c];
FP = (~0xF) & ISP_mmr;
SP = FP + 64;
PFP = FP;
/** Initialize Instruction Cache **/
ICCW = memory[P0x20];
if (1 & (ICCW >> 16) ) disable(I_cache);
/** Configure Local Register Cache **/
programmed_limit = (7 & (memory[P0x24] >> 8) );
config_reg_cache( programmed_limit );
/** Load_control_table. **/
load_control_table(ctr0x10 , ctr0x58);
load_control_table(ctr0x68 , ctr0x6c);
IBP0 = 0x0; IBP1 = 0x0; DAB0 = 0x0; DAB1 = 0x0; BPCON = 0x0
/** Initialize Timers **/
TMR0.tc = 0; TMR1.tc = 0; TMR0.enable = 0; TMR1.enable = 0;
TMR0.sup = 0; TMR1.sup = 0; TMR0.reload = 0; TMR1.reload = 0;
TMR0.csel = 0; TMR1.csel = 0;
DLMCON.dcen = 0
LMMR0O.lmte = 0
LMMR1.lmte = 0
return;
}
Содержание i960 Jx
Страница 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Страница 24: ......
Страница 25: ...1 INTRODUCTION ...
Страница 26: ......
Страница 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Страница 36: ......
Страница 46: ......
Страница 47: ...3 PROGRAMMING ENVIRONMENT ...
Страница 48: ......
Страница 73: ...4 CACHE AND ON CHIP DATA RAM ...
Страница 74: ......
Страница 85: ...5 INSTRUCTION SET OVERVIEW ...
Страница 86: ......
Страница 111: ...6 INSTRUCTION SET REFERENCE ...
Страница 112: ......
Страница 195: ...INSTRUCTION SET REFERENCE 6 83 6 Opcode mov 5CCH REG movl 5DCH REG movt 5ECH REG movq 5FCH REG See Also LOAD STORE lda ...
Страница 233: ...7 PROCEDURE CALLS ...
Страница 234: ......
Страница 256: ......
Страница 257: ...8 FAULTS ...
Страница 258: ......
Страница 291: ...9 TRACING AND DEBUGGING ...
Страница 292: ......
Страница 309: ...10 TIMERS ...
Страница 310: ......
Страница 324: ......
Страница 325: ...11 INTERRUPTS ...
Страница 326: ......
Страница 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Страница 370: ......
Страница 412: ......
Страница 413: ...13 MEMORY CONFIGURATION ...
Страница 414: ......
Страница 429: ...14 EXTERNAL BUS ...
Страница 430: ......
Страница 468: ......
Страница 469: ...15 TEST FEATURES ...
Страница 470: ......
Страница 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Страница 494: ......
Страница 502: ......
Страница 503: ...B OPCODES AND EXECUTION TIMES ...
Страница 504: ......
Страница 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Страница 516: ......
Страница 523: ...D REGISTER AND DATA STRUCTURES ...
Страница 524: ......
Страница 550: ......
Страница 551: ...GLOSSARY ...
Страница 552: ......
Страница 561: ...INDEX ...
Страница 562: ......
Страница 578: ......