최근 Microblaze 용 C-Application을 작성했으며 uC/OS-II를 사용했습니다. uC/OS-II는 고정 된 크기의 메모리 블록을 할당하고 할당을 해제하는 메모리 풀을 제공합니다. 지금은 FreeRTOS를 사용하는 STM32 용 C-Application을 작성하고 있습니다. FreeRTOS 같은 메커니즘을 제공하지 않는 것 또는 뭔가 놓친 않았다 것? 나는 다섯 가지 힙 구현이 내가 원하는 것을 생각하지 않는다.uC/OS II와 같은 FreeRTOS의 메모리 풀
실제로 메모리 풀이없는 경우 특별한 이유가 있습니까?
힙의 다섯 가지 구현 예 중 하나는 OS (작업, 대기열 등)에 RAM을 할당하는 데 적합 할 수 있습니다. 이는 내 응용 프로그램의 경우 일 수도 있습니다. 하지만 같은 크기의 메시지 (기본적으로 바이트 배열)를 저장하고 싶다면? 이 경우에는 pacPortMalloc() 또는 vPortFree()를 사용할 수 없기 때문에 스레드 안전 메모리 풀을 구현해야합니다 (어쨌든 heap_1을 사용합니다). – Semaphor