User Thread 와 Privilege Thread에 대해서
401
작성한 질문수 2
안녕하세요
User Thread 에서 Privileged Handler로 모드가 바뀌는 경우를 예를 들면 익셉션 상황 (예를 들어 타이머나 DMA로 인한 인터럽트) 에 핸들러모드로 진입 후 핸들러 함수로 분기하여 처리가 되는 것으로 이해를 했습니다.
그러면 Privileged Handler 에서 Privileged Thread로 모드가 바뀌는 경우는 어떤게 있나요?
답변 1
1
안녕하세요, 김인규님!
세 가지 정도의 사용 시나리오가 있을 것입니다.
시나리오1. 특권 쓰레드 + 특권 핸들러
>> 특권 쓰레드서 main 작업이 실행되고 인터럽트가 발생하면 특권 핸들러서 처리하고 돌아오는 방식입니다.
한줄요약. 가장 권장되고 즐겨 사용하는 환경입니다.
시나리오2. USER 쓰레드 + 특권 핸들러
>> USER 쓰레드서 main 작업이 실행되고 인터럽트가 발생하면 특권 핸들러서 처리하고 돌아오는 방법입니다. 시나리오1과는 main 이 특권 쓰레드에서 실행되느냐 아니냐만 차이가 있을 뿐입니다.
한줄요약. USER 쓰레드에서는 권한이 제한되는 것들이 많아, 잘 사용하지는 않는 환경입니다.
시나리오3. USER 쓰레드 + 특권 핸들러 + 특권 쓰레드
>> USER 쓰레드 상에서 main 작업이 실행되는 상황에서 의도적으로 SVC 명령어를 실행하여 특권 쓰레드로 변경할 수 있습니다(일종의 시스템 호출). 일부 RTOS 을 운용하는 환경에서라면 사용할 가능성이 있긴 합니다. 하지만, RTOS 환경에서도 이 방법이 선호되는 경우는 드뭅니다(시나리오 1을 사용하는 경우가 더 많음)
한줄요약. 일부 RTOS 기반에서 사용하는 환경입니다
stm32cubeide 관련 문의
0
46
2
DMA 관련한 강의도 제작해주실 수 있으신가요 ?
0
96
1
그림들도 해석 할 수 있어야 하나요?
1
100
2
no-stlink
1
80
2
4개의 CPU 사이클이 필요한 이유
1
100
2
MAC으로 진행 질문드려요..
1
95
2
학습 진행 시, 사용하는 Board에 대한 문의 드립니다!
0
159
2
push pop 질문
1
190
2
STM32Fx Cortex ARM 프로그래밍 저자:홍봉조, 출판사:지식과 감성
0
242
1
CORTEX_02_ASSEMBLY 빌드시 에러
1
270
1
외부 ST Link 연결 이용한 SWD 방법
0
339
1
파이프라인과 명령어
1
327
1
명령어 fetch
0
238
1
lr 레지스터 LSB 값
1
258
1
Disassembly 창 문제
0
349
1
s702 강좌에서 사용한 technical reference manual 문서
1
325
1
s702에 원자적 Access 를 위한 BSRR 코드작성 부분에 대해서
1
271
1
s202 LED 점등 예제 실행시 에러
2
351
1
STM32F429I-DISC 보드의 펌웨어
2
394
1
제공되지 않은 강의교재
0
319
1
s524 테일체이닝 강의 질문
0
234
1
부트코드와 부트로더의 차이점
1
1525
1
메모리 맵 질문
0
280
1
xPSR 레지스터 플래그 값 및 기타 질문 드립니다.
1
862
2





