1. STM32 FreeRTOS - 직접 포팅하기
stm32CubeMX를 사용하면 rtos포팅은 매우쉽지만
CUBEMX에 의존하여 rtos를포팅하게 되면
어느날 cubeMx에서 rtos포팅을 지원하지 않거나 CMSIS가 자주 업데이트되어
소스코드에 문제가 발생된다면 곤란한 상황에 생길수 있다.(실시간 커널소스코드의 문제점)
그렇기 때문에 cubeMx에 의존하지 않고 FreeRtos의 커널을 직접 다운로드 받아
stm32에 포팅하여 나만의 RTOS커널을 보유하여 안전한 코딩을 할수 있도록 하자.
유튜브와 구글링을 통해 방법만 적어놔서 따라하기만 하면된다.
1. 다운로드
2. 다운받은 자료 폴더정리
우측과 같이 폴더를 정리해준다.
나같은 경우는 ArmCore-M4 에 포팅하기 때문에 ARM_CM4F 폴더를 남겼지만
포팅하는 장치에 따라 변경해주면 된다!!
userKernel폴더안의 FreeRTOSConfig.h은 별도로 작성해주어야 하는데
이 게시글에 올려놨으니 참고를 하면 됩니다.
userKernel 같이 폴더명은 자유롭게 해도 됩니다!!
3. 경로 설정
4.sysmem.c Exclude하기
5. CUBEMX Setting
위 순서대로 설치하고 빌드하면 Free-RTOS가 포팅됩니다.
추가적으로 CUBEMX로 CMSIS를 Disable한상태로 해야됩니다.
첨부된 Template코드를 참고하자. (경로에 한글이 적혀있으면 경로를 못찾는 경우도 있으니 참고!)