clarify VLLS[2,3] wakeup through reset on cortex m0+

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

clarify VLLS[2,3] wakeup through reset on cortex m0+

跳至解决方案
859 次查看
biosbob
Contributor II

when i wakeup from VLLS[2,3] mode, documentation says i wakeup through "reset"; by contract LLSx the wakeup is through the "WFI" instruction....

in my cortex m0+ application, i've actually MOVED SCB->VTOR to an address other than 0x00000000 (for reasons beyond the scope of this question)....

it appears that (despite moving the VTOR) the "reset" wakeup goes back through the original vector at address 0x00000000....  is that by design????  or is there someway to have the wakeup "reset" go through the vectors currently referenced by the VTOR register????

标签 (1)
0 项奖励
1 解答
838 次查看
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

As for design goes, when a RESET is issued, the Program Counter (or PC) goes to a reset state, which normally is 0x0 (or the origin). This is by design and, to my knowledge, this is core related and you cannot modify this reset value.

What you could do is send from 0x0 to whatever address or table you need. If you are working with a system with built-in bootloader, just verify the flow of the program, some interrupts cannot be modified by user as they are defined by design and are platform related.

Let us know if this helps you or not.

在原帖中查看解决方案

0 项奖励
2 回复数
833 次查看
biosbob
Contributor II

in my case, i do have my own bootloader at 0x0....  but care has to be taken when writing your own bootloader to handle a "wakeup reset" and not (for example) initialize memory!!!!

0 项奖励
839 次查看
Daniel-Aguirre
NXP TechSupport
NXP TechSupport

Hi,

As for design goes, when a RESET is issued, the Program Counter (or PC) goes to a reset state, which normally is 0x0 (or the origin). This is by design and, to my knowledge, this is core related and you cannot modify this reset value.

What you could do is send from 0x0 to whatever address or table you need. If you are working with a system with built-in bootloader, just verify the flow of the program, some interrupts cannot be modified by user as they are defined by design and are platform related.

Let us know if this helps you or not.

0 项奖励