Hi All :
I’m trying to use the non-Secure SysTick Timer in Non-Secure project of trustzone example “Hello World” from SDK_2.9.0_LPCXpresso55s69 (MCUXpresso IDE project) with my LPCXpresso55s69 board.
The System Tick Configuration (non-secure) “TZ_SysTick_Config_NS” runs successfully in non-secure world. (hello_world_ns.c )
After trustzone example “Hello World” runs completely, nothing happened to the Handler function “SysTick_Handler” which added in non-sercure world. (hello_world_ns.c )
The same result presented if I try to copy and add another vector table initialization e.g., “g_pfnVectors_ns” in starup code for secure & non-secure project (~\lpcxpresso55s69_hello_world_s\startup\startup_lpc55s69_cm33_core0.c & ~\lpcxpresso55s69_hello_world_ns\startup\startup_lpc55s69_cm33_core0.c )
The Non-secure vector base address specify to start address of non-secure world in secure project. ( hello_world_s.c )
/* Set non-secure vector table */
SCB_NS->VTOR = NON_SECURE_START;
As we know, there are three system tick timers (SysTick timer) are present in the LPC55S69. Two inside the CPU0 (Secured and Non-Secured), and one inside the CPU1 (Non-Secured).
How can I use non-Secure SysTick Timer for my non-Secure application in non-Secure world?
Dear Sir :
Thanks for your documentation for MRT0 module interrupt example in Non-secure world. ( GeneratingInterruptInNon-securityMode.pdf )
I’ll exercise it for Device specific interrupts with Positive IRQn values.
By the way, the SysTick Timer uses dedicated exception vector : processor core exceptions which with negative IRQn values. e.g., Exception 15: System Tick Interrupt. SysTick_IRQn = -1
After check the NVIC functions, nothing what I found to initial NVIC module if the processor core exceptions which with negative IRQn values.
Do you have any idea for processor core exceptions which with negative IRQn values in Non-secure world ?
Pls refer to the following figure which defines the priority of SysTick module, I copy it from the Cortex-M4 user manual.
Hope it can help you