configCHECK_FOR_STACK_OVERFLOW 관련
381
작성한 질문수 1
스택오버플로우 관련 문제가있어 질문드립니다.
FreeRTOSConfig.h 에 configCHECK_FOR_STACK_OVERFLOW 를 정의했는데
task.c 에 vApplicationStackOverflowHook 함수가 활성화가 되지않아 문의드립니다.

답변 2
1
안녕하세요. taeun.ahn님!
해외출장 건으로 답변이 늦어진 점 우선 양해를 구합니다.
stm32cubeide 버젼이 올라가면서 생긴 변화(경고 WARNING) 입니다. 자세한 내용은 여기참조
stm32cubeide 1.15.0 이후 버젼을 사용하시는 분들만 이 글을 참조해주세요.
주의!!! 역 호환되지 않기 때문에 이전 버젼(stm32cubeide 1.15.0 보다 이전 버전)을 사용하시는 분들은 아래 내용을 적용하시면 안됩니다.
freeRTOS_tutorials 의 모든 프로젝트를 대상으로 아래와 같이 두 가지를 수정해 주셔야 하는데
첫째, 링커스크립트 파일(STM32F???_FLASH.ld)을 아래 그림을 참고해서 수정해주세요.

둘째, FreeRTOSConfig_base.h 파일 내용중 아래를 수정
변경전
#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled( __FILENAME__, LINE )
변경후
#define configASSERT( x ) if( ( x ) == 0 ) vAssertCalled( __FILE_NAME__, LINE )
0
안녕하세요, 인프런 AI 인턴입니다.
taeun.ahn님, 스택 오버플로우 문제로 고민이 크셨겠네요. vApplicationStackOverflowHook 함수가 활성화되지 않는 문제는 몇 가지 원인으로 발생할 수 있습니다. 아래 몇 가지 점검 사항을 확인해 보세요:
configCHECK_FOR_STACK_OVERFLOW 설정 확인:
FreeRTOSConfig.h파일에서#define configCHECK_FOR_STACK_OVERFLOW 2를 정의했는지 확인하시고, 이 값이 올바른지 확인해주세요. 일반적으로 1 또는 2의 값을 설정할 수 있으며, 2를 사용하는 경우는 더 많은 오버헤드를 가지고 정확한 검사를 수행합니다.vApplicationStackOverflowHook 함수 정의 여부 확인:
task.c에vApplicationStackOverflowHook함수가 올바르게 정의되어 있는지 확인해 주세요. 함수가 제대로 구현되지 않으면 호출되지 않습니다.컴파일 옵션 확인: 스택 오버플로우 체크가 활성화되려면 프로젝트 설정에서 컴파일러 최적화 옵션이 이에 영향을 줄 수 있습니다. 최적화 수준을 변경해 보세요.
각 태스크의 스택 크기 확인: 생성된 태스크의 스택 크기가 충분한지 확인해 주세요.
uxTaskGetStackHighWaterMark()와 같은 기능을 사용하여 스택 사용량을 모니터링할 수 있습니다.
문제가 해결되지 않으면, 코드의 다른 부분이나 빌드 과정을 살펴보는 것도 좋습니다. 추가적인 해결 방법이 필요하시다면 간단한 샘플 코드와 함께 더 많은 정보를 제공해 주시면 도움이 될 수 있습니다.
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
57
2
STM32 포팅할 때 STM32 Project가 없음
0
148
2
FreeRTOS 멀티코어 지원안됨?
0
83
2
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
0
82
2
포팅 부탁드립니다!
0
57
1
포팅 부탁드립니다. <NUCLEO-G071RB>
0
64
2
상호배제 후 되지를 않아서 질문드립니다.
0
60
1
수료증 발급 기준 수정 요청
1
69
1
재진입가능여부에 관한 질문
1
66
1
01_TASKMAN프로젝트 디버깅 모드 실패
1
76
2
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
1
69
2
실행순서
1
74
2
uart 전송중에는 스위칭이 금지되나요?
1
71
2
스택오버플로우 실습 중 stack size 설정 질문
0
79
2
포팅 원합니다.
2
75
2
코루틴 실습질문
1
99
2
TODO 2번 문제
1
140
4
10. 선점형 커널 그림 설명중 우선순위가 반대인 경우에도 Task B가 먼저 수행되나요?
1
80
2
디버거모드에 진입이 안됩니다.
0
175
2
prvExampleTaskHook 함수 호출 부분에 대해 문의드립니다.
0
119
2
보드 STM32H735IG와 강의 호환 여부 문의
1
151
3
[ L152RE ] 원샷 소프트타이머 실행 잘 되시나요?
1
157
2
Deferred Interrupt Processing 샘플 예제 문의 드립니다.
1
119
2
포팅 서비스 부탁드립니다
1
122
2





