2010-07-08 4 views
2

arm-family cpu (Cortex M3)에서 펌웨어를 디버깅하고 있습니다.임베디드 Cortex M3 (ARM) 디버깅 - xPSR.ISR에서 ISR이 실행되고 있음을 어떻게 알 수 있습니까?

디버거에는 'ISR'이라는 하위 필드가 포함 된 'xPSR'을 비롯한 CPU 레지스터가 표시됩니다. CPU 레지스터의 모드는 'Mode = Handler'입니다. 즉, m3 cpu가 '스레드'모드 대신 인터럽트 처리기에 있음을 의미합니다 ..

xPSR.ISR = 15 거기에. 난 16 진수 15 (12 월 21 일) 있어야합니다 생각합니다. 그리고이 ISR 벡터 테이블 주석보고에서 "시스템 타이머 틱 0B"인터럽트 것 같아요. 사실, 지금은 십진수 15 , 그리고 그것은 내가보고있는 SysTick 타이머 인터럽트 핸들러입니다. (코드가 어셈블러 일회용 기본 처리기의 경우이기 때문에 약 100 개의 다른 asm 레이블이 한 곳에서 표시되기 때문에 코드에서 알기가 어렵습니다. ISR을 호출했습니다.)

그러나 저는 Cortex M3 칩에 익숙하지 않았기 때문에 ARM7TDMI에 대한 지식이 그다지 사용되지 않아서 희미 해졌습니다. 나는 기억이 안 나. 그리고 나는이 문서를 어디에서나 찾을 수 없다.

아무에게도이 사실을 알 수 있습니까?

답변

3

예외 번호 15 십진수는 Cortex M3에서의 SYSTICK 인터럽트입니다.

에는 M3에서 사용되는 다양한 인터럽트 번호를 나열하는 표 (표 5-1 - 예외 유형)가 있습니다.

Exception type Position  Priority  Description 
-------------- ------------ --------  ------------------------------------ 
Reset    1    –3 (highest) Invoked on power up and warm reset. On first instruction, 
               drops to lowest priority (Thread mode). This is asynchronous. 
Non-maskable Int 2    –2   Cannot be stopped or pre-empted by any exception but reset. 
               This is asynchronous. 
Hard Fault   3    –1   All classes of Fault, when the fault cannot activate because of 
               priority or the Configurable Fault handler has been disabled. 
               This is synchronous. 
Memory Management 4    Configurable Memory Protection Unit (MPU) mismatch, including access 
               violation and no match. This is synchronous. This is used 
               even if the MPU is disabled or not present, to support the 
               Executable Never (XN) regions of the default memory map. 
Bus Fault   5    Configurable Pre-fetch fault, memory access fault, and other 
               address/memory related. This is synchronous when precise 
               and asynchronous when imprecise. 
Usage Fault   6    Configurable Usage fault, such as Undefined instruction executed or illegal 
               state transition attempt. This is synchronous. 
    -     7-10   -   Reserved 
SVCall    11   Configurable System service call with SVC instruction. This is 
               synchronous. 
Debug Monitor  12   Configurable Debug monitor, when not halting. This is synchronous, but 
               only active when enabled. It does not activate if lower priority 
               than the current activation. 
    -     13    -   Reserved 
PendSV    14   Configurable Pendable request for system service. This is asynchronous 
               and only pended by software. 
SysTick    15   Configurable System tick timer has fired. This is asynchronous. 

External Interrupt 16 and above Configurable Asserted from outside the core, INTISR[239:0], and fed 
               through the NVIC (prioritized). These are all asynchronous. 
관련 문제