Hi,
I started the following thread in the sys/bios forum. I was suggested to move it to the omap processor forums.
I'm trying to toggle GPIO 13 on the EVM-OMAPL137. I can do it without any issue on the DSP but I get the following error if I try to do it from the ARM
k size: 0x800.
R0 = 0xc300f228 R8 = 0xffffffff
R1 = 0x00000000 R9 = 0xffffffff
R2 = 0x00000000 R10 = 0xffffffff
R3 = 0xc300b414 R11 = 0xffffffff
R4 = 0xffffffff R12 = 0x01e27000
R5 = 0xffffffff SP(R13) = 0xc30028b8
R6 = 0xffffffff LR(R14) = 0xc300ab9c
R7 = 0xffffffff PC(R15) = 0xc30028b8
PSR = 0xffffffff
DFSR = 0x00000005 IFSR = 0x00000005
DFAR = 0x01e27a0c
ti.sysbios.family.arm.exc.Exception: line 205: E_dataAbort: pc = 0xc30028b8, lr = 0xc300ab9c.
xdc.runtime.Error.raise: terminating execution
I'm trying to port just the part that toggles the GPIO (no need to interact with the user switches).
I can configure the PINMUX but as soon as I try to set the direction I get the error shown above.
// Configure DS1 - DS4 (User LEDs) with GPIO
CSL_FINST(sysRegs->PINMUX15, SYSCFG_PINMUX15_PINMUX15_11_8, GPIO0_12);
CSL_FINST(sysRegs->PINMUX15, SYSCFG_PINMUX15_PINMUX15_15_12, GPIO0_13);
CSL_FINST(sysRegs->PINMUX15, SYSCFG_PINMUX15_PINMUX15_19_16, GPIO0_14);
CSL_FINST(sysRegs->PINMUX15, SYSCFG_PINMUX15_PINMUX15_23_20, GPIO0_15);
// Configure DS1 - DS4 (User LEDs) as output
CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR12, CSL_GPIO_DIR_DIR_OUT);
CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR13, CSL_GPIO_DIR_DIR_OUT);
CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR14, CSL_GPIO_DIR_DIR_OUT);
CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR15, CSL_GPIO_DIR_DIR_OUT);
Any suggestion will be greatly appreciated. I'm making sure to, launch the target, connect the dsp first, then connect the arm, and load my .out. The error happens, if I step through the code, in: "CSL_FINS(gpioRegs->BANK[GP0].DIR, GPIO_DIR_DIR12, CSL_GPIO_DIR_DIR_OUT);"
I have not been able to figure out which register I'm writing that I'm not suppose to. All suggestions are welcome.
Jaime