INITIALIZATION AND SYSTEM REQUIREMENTS
12-14
Bit 31 of the assembled PMCON word loaded from the IBR is written to DLMCON.be to
establish the initial endianism of memory; the processor initializes the DLMCON.dcen bit to 0 to
disable data caching. The remainder of the assembled word is used to initialize PMCON14_15. In
conjunction with this step, the processor clears the bus control table valid bit (BCON.ctv), to
ensure for the remainder of initialization that every bus request issued takes configuration
information from the PMCON14_15 register, regardless of the memory region associated with the
request. At a later point in initialization, the processor loads the remainder of the memory region
Example 12-1. Processor Initialization Flow
Processor_Initialization_flow()
{
FAIL_pin = true;
restore_full_cache_mode; disable(I_cache); invalidate(I_cache);
disable(D_cache); invalidate(D_cache);
BCON.ctv = 0; /* Selects PMCON14_15 to control all accesses */
PMCON14_15 = 0; /* Selects 8-bit bus width */
/** Exit Reset State & Start_Init **/
if (STEST_ON_RISING_EDGE_OF_RESET)
status = BIST(); /* BIST does not return if it fails */
FAIL_pin = false;
PC = 0x001f2002;
/* PC.Priority = 31, PC.em = Supervisor,*/
/* PC.te = 0; PC.State = Interrupted */
ibr_ptr = 0xfeffff30;
/* ibr_ptr used to fetch IBR words */
/** Read PMCON14_15 image in IBR **/
FAIL_pin = true;
IMSK = 0;
DLMCON.dcen = 0;
LMMR0.lmte = 0; LMMR1.lmte = 0;
PMCON14_15[byte2] = 0xc0 & memory[i 8];
DLMCON.be = (memory[i 0xc] >> 7);
/** Compute CheckSum on Boot Record **/
carry = 0; CheckSum = 0xffffffff;
for (i=0; i<8; i++) /* carry is carry out from previous add*/
CheckSum = memory[i 16 + i*4] + Ch carry;
if (CheckSum != 0)
{ fail_msg = 0xfeffff64; /* Fail BUS Confidence Test */
dummy = memory[fail_msg]; /* Do load with address = fail_msg */
for (;;) ;
} /* loop forever with FAIL pin true */
else FAIL_pin = false;
/** Process PRCB **/
prcb_ptr = memory[0x14];
Process_PRCB(prcb_ptr); /* See Process PRCB Section for Details */
IP = memory[0x10];
g0 = DEVICE_ID;
return;/* Execute First Instruction */
}
Содержание 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: ......