본문 바로가기

임베디드

[임베디드-FreeRTOS]HALT : Task [name] overflowed its stack. Test [ProjectName] 오류

반응형

너무 간단한 오류 대처에 대한 포스팅입니다.

(워낙 윈도우에서 개발하다보니 이런 사소한 부분 때문에 시간이 소요되는것 같습니다. 잊지 않기 위한 포스팅입니다.)

 


환경  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 사이즈를 소스코드에서 사용하는 메모리보다 크게 설정해주면 됩니다. 

반응형