task를 생성 할 때에 stackDepth 설정 관련하여 궁금한게 있습니다.
강의를 보던 도중에 메모리 할당에 관련하여 몇가지 궁금한점이 있어 질문드립니다.
아래그림과 같이 stack 사이즈를 128로 지정하는 경우 task에 사용되는 메모리는 bss 영역에 할당되는게 맞는지요?

아래 그림과 같이 stack 사이즈를 변경하게되면 메모리에 할당이 되어 Memory Regions 창에 변화량이 보여야 하는데 반영되지 않는거 같아 질문드립니다.






테스크를 생성 할 때에 stack 사이즈는 어떤 메모리에서 할당되는건지요?
감사합니다.
답변 1
0
안녕하세요. research님!
질문에 대하여 답변드리겠습니다.
우선, 태스크를 하나씩 생성할때마다 BSS 영역이 늘어나는 것은 아닙니다.

그리고, 태스크 스택은 BSS 영역을 사용합니다.
다음과 같이 스크린캡쳐 내용과 계속되는 설명을 참고해주세요
▲그림1
▲그림2
▲그림3
그림3 과 같이 FreeRTOSConfig_base.h 파일내 configTOTAL_HEAP_SIZE 값을 변경하면 그림1과 그림2에 변화가 관찰되실 겁니다.
모든 태스크들이 나누어 사용할 태스크 스택의 총량은 configTOTAL_HEAP_SIZE 으로 결정됩니다.
이처럼 FreeRTOS 의 태스크들이 사용할 스택 메모리는 BSS 영역에 프로그램 실행 시작하기 전부터 컴파일 과정을 통해서 결정된다고 보시면 됩니다.
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
58
2
STM32 포팅할 때 STM32 Project가 없음
0
176
2
FreeRTOS 멀티코어 지원안됨?
0
89
2
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
0
87
2
포팅 부탁드립니다!
0
61
1
포팅 부탁드립니다. <NUCLEO-G071RB>
0
67
2
상호배제 후 되지를 않아서 질문드립니다.
0
62
1
수료증 발급 기준 수정 요청
1
73
1
재진입가능여부에 관한 질문
1
68
1
01_TASKMAN프로젝트 디버깅 모드 실패
1
77
2
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
1
72
2
실행순서
1
77
2
uart 전송중에는 스위칭이 금지되나요?
1
75
2
스택오버플로우 실습 중 stack size 설정 질문
0
84
2
포팅 원합니다.
2
77
2
코루틴 실습질문
1
101
2
TODO 2번 문제
1
141
4
10. 선점형 커널 그림 설명중 우선순위가 반대인 경우에도 Task B가 먼저 수행되나요?
1
82
2
디버거모드에 진입이 안됩니다.
0
177
2
prvExampleTaskHook 함수 호출 부분에 대해 문의드립니다.
0
121
2
보드 STM32H735IG와 강의 호환 여부 문의
1
153
3
[ L152RE ] 원샷 소프트타이머 실행 잘 되시나요?
1
159
2
Deferred Interrupt Processing 샘플 예제 문의 드립니다.
1
121
2
포팅 서비스 부탁드립니다
1
125
2





