정적/동적 Task 생성의 메모리 할당 영역
안녕하세요.
수업을 듣던 중 정적/동적 Task 생성 시 할당되는 메모리 영역과 관련해 질문 사항이 생겨 글 남깁니다.
태스크와 메모리 파트 강의를 듣고 Task Stack 메모리는 동적/정적 할당이 가능하고, RTOS의 동적 할당은 RTOS 커널에서 지원하는 동적 메모리 할당자 함수를 쓰기 때문에 heap영역이 아닌 bss 영역에서 할당된다. 라고 이해하였습니다.
즉, xTaskCreate() 함수를 사용하면 동적 할당이지만 데이터가 bss 영역에 할당되는 특성이 있다고 생각했었는데, '태스크 스택의 크기를 결정하기' 부분의 강의 끝부분에서 xTaskCreate() 는 heap 영역에 xTaskCreateStatic() 은 bss 영역에서 Task Stack을 쓴다고 말씀하여 기존에 제가 이해했던 부분과 일치하지 않았습니다.
이와 관련해 인터넷에 검색해 보니, freertos.org 사이트에서는 xTaskCreate()를 사용하여 작업을 생성하면 필요한 RAM이 FreeRTOS 힙에 자동으로 할당된다. 라고 적혀있더군요.
xTaskCreate() 함수는 bss 영역에 자동 할당되기도 하고, heap 영역에 자동 할당되기도 한다는 의미인가요?
답변 1
만약에 포팅을 할때 1년에 한번 잡는 치명적인 문제를 해결하는 코드가 들어갔다고 가정하면
0
57
2
STM32 포팅할 때 STM32 Project가 없음
0
166
2
FreeRTOS 멀티코어 지원안됨?
0
87
2
[소스코드 분석-configUSE_TIME_SLICING] TASK1,2의 우선순위가 동일할 때, configUSE_TIME_SLICING값 변경에 따른 출력 변화
0
85
2
포팅 부탁드립니다!
0
60
1
포팅 부탁드립니다. <NUCLEO-G071RB>
0
67
2
상호배제 후 되지를 않아서 질문드립니다.
0
62
1
수료증 발급 기준 수정 요청
1
72
1
재진입가능여부에 관한 질문
1
67
1
01_TASKMAN프로젝트 디버깅 모드 실패
1
77
2
그러면 malloc/free가 아닌 동적할당자를 써서 메모리를 할당했기떄문에
1
71
2
실행순서
1
77
2
uart 전송중에는 스위칭이 금지되나요?
1
74
2
스택오버플로우 실습 중 stack size 설정 질문
0
81
2
포팅 원합니다.
2
77
2
코루틴 실습질문
1
100
2
TODO 2번 문제
1
141
4
10. 선점형 커널 그림 설명중 우선순위가 반대인 경우에도 Task B가 먼저 수행되나요?
1
82
2
디버거모드에 진입이 안됩니다.
0
176
2
prvExampleTaskHook 함수 호출 부분에 대해 문의드립니다.
0
120
2
보드 STM32H735IG와 강의 호환 여부 문의
1
153
3
[ L152RE ] 원샷 소프트타이머 실행 잘 되시나요?
1
159
2
Deferred Interrupt Processing 샘플 예제 문의 드립니다.
1
121
2
포팅 서비스 부탁드립니다
1
125
2





