임베디드
[임베디드-FreeRTOS]HALT : Task [name] overflowed its stack. Test [ProjectName] 오류
새거
2022. 12. 28. 11:02
반응형
너무 간단한 오류 대처에 대한 포스팅입니다.
(워낙 윈도우에서 개발하다보니 이런 사소한 부분 때문에 시간이 소요되는것 같습니다. 잊지 않기 위한 포스팅입니다.)
환경 | Zynq 7000(ZC 706)보드 |
IDLE | SDK |
FreeRTOS Version | FreeRTOS10_xilinx 1.2 version |
소스코드 디버깅 도중 Task overflowed its stack오류가 UART로 수신을 확인 했습니다.
이런경우 Task에 할당한 Stack을 초과해서 메모리를 사용해서 발생한 오류입니다.
BaseType_t xReturned;
TaskHandle_t xHandle = NULL;
/* Create the task, storing the handle. */
xReturned = xTaskCreate(
vTaskCode, /* Task 함수 */
"NAME", /* Task 이름. */
STACK_SIZE, /* Stack 사이즈. */
( void * ) 1, /* Parameter passed into the task. */
tskIDLE_PRIORITY,/* 우선순위 */
&xHandle ); /* Task 핸들 */
//출처 : https://www.freertos.org/a00125.html
해결방안 : 코드에 있는 Stack 사이즈를 소스코드에서 사용하는 메모리보다 크게 설정해주면 됩니다.
반응형