Hi all,
I have little experience with bare metal programming at STM32 series and currently studying exception behavior in "ARMv-7m Architecture Reference Manual".
I'm confused about syn/asynchronous exception at B1-569. I have one question about it and related one.
However, let me provide some idea about these question. Is it just an adjective to describe exception? Take SVC and PendSV for example, SVC should be synchronous one because the arguments should not be modified. It should not be pending. Another one, PendSV, is triggered as needed. The common case is that the priority of PendSV would be minimal one, so it would be asynchronous.
Thanks,
yenWu
"synchronous" means it happens with the instruction stream. An interrupt is an asynchronous event, as you cannot say when it happens. So it may happen during the execution of an instruction.
Also check for precise and imprecise aborts.
Thanks very much for your detailed explanation, 42Bastian Schick.I have understood it and it make sense on Manual. For the second question, I guest that I have already got it. Let me explain it. "Active and Pending" is one of the exception state. It means that the specified exception have already been "active" and also caught it again, so it would also be "pending". Moreover, only asynchronous exceptions can be in this state.
pendSV is a pendind synchronous exception. It depend on the priority if it it take immediately.
Hey 42Bastian Schick, I found that pendSV is an asynchronous exception from ARM documentation of Table 2.16. below.
infocenter.arm.com/.../index.jsp