FreeRTOS에 대한 자세한 설명: FreeRTOS 프로그램 시작 프로세스(기초 - 5)

베어 메탈 시스템의 전원이 켜지면 시작 파일에서 어셈블리에 의해 컴파일된 재설정 함수 Reset_Handler가 먼저 실행됩니다. 재설정 함수는 최종적으로 C 라이브러리 함수 __main을 호출합니다. __main 함수의 주요 작업은 시스템 힙을 초기화하는 것입니다. 스택하고 마지막으로 C 라이브러리 함수인 메인 함수를 호출합니다. 아래 그림과 같이:

1. 작업 만들기

main() 함수에서 FreeRTOS가 힙 메모리 초기화와 같은 초기화를 자동으로 수행하기 때문에 FreeRTOS에 대한 작업을 직접 생성할 수 있습니다. main() 함수 - BSP_Init()에서 보드 수준 주변 장치를 직접 초기화한 다음 xTaskCreate() 함수를 사용하여 작업을 생성합니다. 작업 생성에서 FreeRTOS는 시스템 초기화 및 힙 메모리 초기화를 도와줍니다.

xTaskCreate() 함수 내부의 힙 메모리 초기화는 다음과 같습니다.

프로그램 설명은 다음과 같습니다.

(1)(2) 메모리가 초기화되지 않은 상태에서 xTaskCreate() 함수를 호출하면 FreeRTOS가 자동으로 메모리를 초기화해 줍니다.메모리 초기화 코드는 다음과 같습니다 . 이 함수는 FreeRTOS에 의해 내부적으로 호출됩니다. 지금은 이 함수의 구현에 대해 신경 쓰지 않습니다. 나중에 FreeRTOS의 메모리 관리 지식에 대해 자세히 설명할 것입니다. 이제 FreeRTOS가 초기화하는 데 도움이 된다는 것을 알고 있습니다. 시스템이 필요합니다.

Supongo que te gusta

Origin blog.csdn.net/m0_38106923/article/details/131595331
Recomendado
Clasificación