logicsniffers에서 문맥전환 할때 prvExampleTaskHook() 함수 호출 관련
2
작성한 질문수 1
voidvApplicationIdleHook (void) 함수에서 0LED 0n 후에
문맥전환 할때 prvExampleTaskHook() 함수에서 0LED Off 한다고 하셨는데
prvExampleTaskHook() 함수를 부르는 곳이 어디인지?
함수 내부에서 브레이크 포인터 설정해도 안되네요!
자세한 설명 부탁 드립니다.
고맙습니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다. josephleeja님
prvExampleTaskHook() 함수는 vApplicationIdleHook()에서 자동으로 호출되거나, 문맥 전환 시 FreeRTOS가 자동 호출하는 함수가 아닙니다.
LogiSniffer 예제에서는 다음과 같은 흐름으로 호출됩니다.
vTaskSetApplicationTaskTag(NULL, prvExampleTaskHook)으로 현재 태스크에 Hook 함수를 등록합니다.
- 이후
xTaskCallApplicationTaskHook(NULL, param)을 호출하면 등록된prvExampleTaskHook()함수가 실행됩니다.
- 따라서 현재 실행 중인 코드에서 Hook 등록 부분이나
xTaskCallApplicationTaskHook()호출 부분이 빠져 있다면, 함수 내부에 브레이크포인트를 설정해도 멈추지 않습니다.
관련 예제에서는 06_COUNT_SEM 및 08_DEFERRED_INTERRUPT의 task.c에서 다음과 같은 등록 코드를 확인할 수 있습니다.
vTaskSetApplicationTaskTag(NULL, prvExampleTaskHook);
또한 12_LOGICSNIFFS 예제의 소스가 변경되어 해당 호출 코드가 현재 예제에서 제거되었을 가능성도 있으므로, 문맥 전환 시 Hook을 사용하려면 Hook 등록 코드와 xTaskCallApplicationTaskHook() 호출 여부를 함께 확인해 보셔야 합니다.
관련 질문과 답변을 아래에서 확인해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
uC/OS-II RTOS 포팅 관련 질문
0
74
2
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
117
2
STM32 포팅할 때 STM32 Project가 없음
0
364
2
FreeRTOS 멀티코어 지원안됨?
0
161
2
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
0
144
2
포팅 부탁드립니다!
0
96
1
포팅 부탁드립니다. <NUCLEO-G071RB>
0
110
2
상호배제 후 되지를 않아서 질문드립니다.
0
103
1
수료증 발급 기준 수정 요청
1
117
1
재진입가능여부에 관한 질문
1
104
1
01_TASKMAN프로젝트 디버깅 모드 실패
1
184
2
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
1
106
2
실행순서
1
113
2
uart 전송중에는 스위칭이 금지되나요?
1
117
2
스택오버플로우 실습 중 stack size 설정 질문
0
129
2
포팅 원합니다.
2
111
2
코루틴 실습질문
1
149
2
TODO 2번 문제
1
191
4
10. 선점형 커널 그림 설명중 우선순위가 반대인 경우에도 Task B가 먼저 수행되나요?
1
131
2
디버거모드에 진입이 안됩니다.
0
232
2
prvExampleTaskHook 함수 호출 부분에 대해 문의드립니다.
0
167
2
보드 STM32H735IG와 강의 호환 여부 문의
1
197
3
[ L152RE ] 원샷 소프트타이머 실행 잘 되시나요?
1
202
2
Deferred Interrupt Processing 샘플 예제 문의 드립니다.
1
145
2





