3 * C-SPY macro information
\r
5 * __jtagCP15ReadReg(CRn, CRm, op1, op2)
\r
6 * __jtagCP15WriteReg(CRn, CRm, op1, op2, value)
\r
7 * __readMemory8(address, zone)
\r
8 * __writeMemory8(value, address, zone)
\r
9 * __writeMemory32(value, address, zone)
\r
18 __message "Initialize ATCM";
\r
20 MRC p15, 0, <Rd>, c1, c0, 1 ; Read ACTLR
\r
21 MCR p15, 0, <Rd>, c1, c0, 1 ; Write ACTLR
\r
24 /* enable ECC in ACTLR */
\r
25 v_reg = __jtagCP15ReadReg(1, 0, 0, 1);
\r
26 v_reg = v_reg | 0x06000000; // set 26 and 25 bits for enabling ECC
\r
27 __message "ACTRL: ", v_reg:%x; // output ACTRL value for check
\r
28 __jtagCP15WriteReg(1, 0, 0, 1, v_reg);
\r
30 __fillMemory32(0x0, 0x00000000, "Memory", 0x20000, "Copy");
\r
31 __message "ATCM initialization finished";
\r
35 __init_VIC_ProvideHandler()
\r
39 __message "Initialize VIC provide handler \n";
\r
41 MRC p15, 0, <Rd>, c1, c0, 0 ; Read SCTLR
\r
42 MCR p15, 0, <Rd>, c1, c0, 0 ; Write SCTLR
\r
45 /* Set VIC to provide handler address */
\r
46 v_reg = __jtagCP15ReadReg(1, 0, 0, 0);
\r
47 v_reg = v_reg | 0x01000000; // set 24 bit for setting VE bit
\r
48 __jtagCP15WriteReg(1, 0, 0, 0, v_reg);
\r
56 __message "Executing execUserPreload() function";
\r
62 __message "FINISH Executing execUserPreload() function";
\r
69 __message "Executing execUserReset() function";
\r
71 __init_VIC_ProvideHandler();
\r
73 t = #CPSR; // Clear CPSR.F bit
\r
74 __message "CPSR ",t:%x;
\r
78 __message "CPSR ",t:%x;
\r
80 __message "FINISH Executing execUserReset() function";
\r