Package org.deepjava.runtime.mpc5200
Class Kernel
- java.lang.Object
-
- org.deepjava.runtime.mpc5200.Kernel
-
- All Implemented Interfaces:
IdeepCompilerConstants
,Impc5200
,Ippc32
public class Kernel extends Object implements Ippc32, Impc5200, IdeepCompilerConstants
This is the kernel class. It provides basic functionalities and does the booting-up.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) static int
cmdAddr
(package private) static int
loopAddr
(package private) static int
stackEndPattern
-
Fields inherited from interface org.deepjava.runtime.IdeepCompilerConstants
cblkClinitAddrOffset, cblkCodeBaseOffset, cblkCodeSizeOffset, cblkConstBlockSizeOffset, cblkNofPtrsOffset, cblkPtrAddr0Offset, cblkVarBaseOffset, cblkVarSizeOffset, stClassConstOffset, stHeapOffset, stKernelClinitAddr, stNofStacks, stResetOffset, stSizeToCopy, stStackOffset
-
Fields inherited from interface org.deepjava.runtime.mpc5200.Impc5200
BBCMCR, CANBTR0, CANBTR1, CANCTL0, CANCTL1, CANIDAC, CANIDAR0, CANIDAR1, CANIDAR2, CANIDAR3, CANIDAR4, CANIDAR5, CANIDAR6, CANIDAR7, CANIDMR0, CANIDMR1, CANIDMR2, CANIDMR3, CANIDMR4, CANIDMR5, CANIDMR6, CANIDMR7, CANRFLG, CANRIER, CANRXERR, CANRXFG, CANTAAK, CANTARQ, CANTBSEL, CANTFLG, CANTIER, CANTXDLR, CANTXDSR0, CANTXDSR1, CANTXDSR2, CANTXDSR3, CANTXDSR4, CANTXDSR5, CANTXDSR6, CANTXDSR7, CANTXERR, CANTXFG, CANTXIR0, CANTXIR1, CANTXIR2, CANTXIR3, CANTXTBPR, CDMCER, CDMPSC1MCLKCR, CDMPSC2MCLKCR, CDMPSC3MCLKCR, CDMPSC6MCLKCR, CS0CR, CS0START, CS0STOP, CS1CR, CS1START, CS1STOP, CS2CR, CS2START, CS2STOP, CS3CR, CS3START, CS3STOP, CS4CR, CS4START, CS4STOP, CS5CR, CS5START, CS5STOP, CS6CR, CS7CR, CSBCR, CSCR, CSSR, DPDR, excpCodeSize, GPSPCR, GPWDDR, GPWER, GPWIN, GPWOUT, HID0, HID1, HID2, ICTCPMIMR, ICTLBESR, ICTLCISAR, ICTLEER, ICTLIRQIELR, ICTLMIEAR, ICTLMIPR1, ICTLMIPR2, ICTLMISAR, ICTLPIEAR, ICTLPIMR, ICTLPISAR, ICTLPPR1, ICTLPPR2, ICTLPPR3, ICTLSER, IPBICR, L2U_GRA, L2U_MCR, MBAR, MemBaseAddr, MI_GRA, MSCAN1Base, MSCAN2Base, PSC1Base, PSC2Base, PSC3Base, PSC4Base, PSC5Base, PSC6Base, PSCCCR, PSCCR, PSCCSR, PSCCTLR, PSCCTUR, PSCMR1, PSCMR2, PSCRFCNTL, PSCRFNUM, PSCRxBuf, PSCSICR, PSCSR, PSCTFCNTL, PSCTFNUM, PSCTFSTAT, PSCTxBuf, PVR, SDRAMCR, SDRAMCR1, SDRAMCR2, SDRAMCS0, SDRAMCS1, SDRAMMR, SDRAMSCDR, SPR1008, SPR1009, SPR1011, SPR286, SPR287, SPR528, SPR536, SPR560, SPR568, SPR630, SRAM_BaseAddr, SRAM_Size, SRR1init, SVR, sysTabBaseAddr, XLBACR
-
Fields inherited from interface org.deepjava.runtime.ppc32.Ippc32
CR, CTR, DAR, DEC, DSISR, FPR0, FPR1, FPR10, FPR11, FPR12, FPR13, FPR14, FPR15, FPR16, FPR17, FPR18, FPR19, FPR2, FPR20, FPR21, FPR22, FPR23, FPR24, FPR25, FPR26, FPR27, FPR28, FPR29, FPR3, FPR30, FPR31, FPR4, FPR5, FPR6, FPR7, FPR8, FPR9, FPSCR, LR, MSR, R0, R1, R10, R11, R12, R13, R14, R15, R16, R17, R18, R19, R2, R20, R21, R22, R23, R24, R25, R26, R27, R28, R29, R3, R30, R31, R4, R5, R6, R7, R8, R9, SPR1, SPR18, SPR19, SPR22, SPR26, SPR268, SPR269, SPR27, SPR272, SPR273, SPR274, SPR275, SPR287, SPR8, SPR9, SPRG0, SPRG1, SPRG2, SPRG3, SRR0, SRR1, TBLread, TBUread, XER
-
-
Constructor Summary
Constructors Constructor Description Kernel()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
blink(int nTimes)
Blinks LED on GPIO_WKUP_7, nTimes with approx.static void
checkStack()
Blinks LED on GPIO_WKUP_7 if stack end was overwrittenstatic void
enableInterrupts()
Enables interrupts globally.static long
timeNs()
Reads the system time.static long
timeUs()
Reads the system time.
-
-
-
Field Detail
-
stackEndPattern
static final int stackEndPattern
- See Also:
- Constant Field Values
-
loopAddr
static int loopAddr
-
cmdAddr
static int cmdAddr
-
-
Method Detail
-
timeUs
public static long timeUs()
Reads the system time.- Returns:
- System time in µs
-
timeNs
public static long timeNs()
Reads the system time.- Returns:
- System time in ns
-
blink
public static void blink(int nTimes)
Blinks LED on GPIO_WKUP_7, nTimes with approx. 100µs high time and 100µs low time, blocks for 1s- Parameters:
nTimes
- Number of times the led blinks.
-
enableInterrupts
public static void enableInterrupts()
Enables interrupts globally. Individual interrupts for peripheral components must be enabled locally.
-
checkStack
public static void checkStack()
Blinks LED on GPIO_WKUP_7 if stack end was overwritten
-
-