Hi
Nowadays I work on tci6638k2k and I try to start running dsp0 from master boot loader arm0. I create a test function from some sources but I couldnt achieve it. My code is written in below
#define DEVICE_REG32_W(x,y) *(volatile uint32_t *)(x)=(y) #define DEVICE_REG32_R(x) (*(volatile uint32_t *)(x)) #define CHIP_LEVEL_REG 0x02620000 #define KICK0 (CHIP_LEVEL_REG + 0x0038) #define KICK1 (CHIP_LEVEL_REG + 0x003C) #define MAGIC_ADDR 0x8FFFC #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) #define IPCGR(x) (0x02620240 + x*4) #define BOOT_MAGIC_NUMBER 0xBABEFACE #define BOOT_MAGIC_ADDR(x) (MAGIC_ADDR + (1<<28) + (x<<24)) /*test function - olcay*/ void run_dsp0() { int i,j; DEVICE_REG32_W(KICK0, 0x83e70b13); DEVICE_REG32_W(KICK1, 0x95a4f1e0); DEVICE_REG32_W(BOOT_MAGIC_ADDR(0), 0x800000); for (i=0; i<1000; i++){} DEVICE_REG32_W(0x02620240, 1); // IPCGR_8 reg(0x02620240) // for (j=0; i<1000; j++){} }
I guess I write wrong MAGIC_ADDR, and wrong entry point.
- Which adress should be magic adress for running dsp0 automatically via IPCGR?
- Which adress should be dsp0 's entry point?
- Which IPCGR register should be used ? (I used IPCGR8 - Arm's reg)
Thanks