강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dydydade6189
dydydade6189

câu hỏi đã được viết

Lập trình FreeRTOS

Phương pháp loại trừ lẫn nhau - Cấm ngắt quãng

TaskDelay() 함수처럼 Context Switching을 유발하는 함수는 모두 내부적으로 ISR을 통해 실행되는 것일까요?

Viết

·

613

1

상호배제방법-인터럽트금지 강의를 듣다가 궁금한 점이 생겨서 질문드립니다.

TaskDelay() 함수처럼 Context Switching을 유발하는 함수는 모두 내부적으로 ISR을 통해 실행되는 것일까요?

특히 Systick Interrupt를 통해 실행되는 것 같은데, 제가 제대로 이해한 게 맞는지 궁금합니다.

운영체제임베디드FreeRTOS

Câu trả lời 2

0

beSlow님의 프로필 이미지
beSlow
Người đặt câu hỏi

명쾌하게 이해가 되었습니다. ^^ 좋은 강의 감사합니다!

0

guileschool님의 프로필 이미지
guileschool
Người chia sẻ kiến thức

안녕하세요. kt y님!

결론부터 말씀드리자면, 문맥전환은 모두 ISR(PendSV_Handler) 에 의하여 처리되는 것 맞습니다.

freeRTOS 기반 소프트웨어에서 문맥전환이 실행되는 경로는 다음의 2가지입니다. (1)freeRTOS 커널 API 내부에서 트리거, (2)systick 인터럽트를 포함한 제반 인터럽트 핸들러에서 트리거

비록 트리거가 시작되는 경로는 서로 다르지만 둘다다 PendSV_Handler 에 의해 문맥 전환이 수행되게 됩니다.

PendSV_Handler 동작에 관하여는 과거 질문 글을 참고하시면 좋습니다.

Hình ảnh hồ sơ của dydydade6189
dydydade6189

câu hỏi đã được viết

Đặt câu hỏi