Hi,
I am using OMAPL-138 custom board in our project. We are facing critical issue with ARM core interrupt. ARM core is not allow any peripheral interrupt to host. TI provided sample codes for each peripheral. When I load any sample project on DSP core it's working fine. Interrupts are working with DSP code but same project I load on ARM core I am getting any interrupt from any peripheral.
Regards this issue,
I noticed that processor do not allow to configure PINMUX registers because of processor is operate in user mode after startup. I am trying to change user mode to supervisor mode but in built CSS ARM library does not allow any change. Please suggest and do needful to change processor mode from user mode to supervisor mode.
This is the following code which is reside in boot.asm library file.
;*------------------------------------------------------
;* SET TO USER MODE
;*------------------------------------------------------
MRS r0, cpsr
BIC r0, r0, #0x1F ; CLEAR MODES
ORR r0, r0, #0x10 ; SET USER MODE <--------------------------------------- I want to change this value to #0x13
MSR cpsr_cf, r0
;*------------------------------------------------------
;* INITIALIZE THE USER MODE STACK
;*------------------------------------------------------
.if __TI_AVOID_EMBEDDED_CONSTANTS
MOVW sp, __stack
MOVT sp, __stack
MOVW r0, __STACK_SIZE
MOVT r0, __STACK_SIZE
.else
LDR sp, c_stack
LDR r0, c_STACK_SIZE
.endif
ADD sp, sp, r0
;*-----------------------------------------------------
;* ALIGN THE STACK TO 64-BITS IF EABI.
;*-----------------------------------------------------
Also,
I noticed that IRQ bit in CPRS register is set(means IRQ is disable). Usually what should be the status for this bit while execution of application program.
Please do needful for this issue.
Regards,
Mitul Shinde