임베디드

FreeRTOS - 1

롬돌이 2022. 12. 30. 09:49
반응형

한 20여년 전에 uCOS-II 원서를 구해서 공부하다가 PC와 AVR에 포팅해 본 뒤로 손을 놓았었는데

2023년에는 FreeRTOS를 이용해서 제품화를 해 봐야겠다.

그래서 차근차근 다시 RTOS라는 것에 대해서 공부를 해 봐야겠다.

 

FreeRTOS 다양한 아키텍쳐들과 컴파일러들에 포트되었다.

RTOS 포트는 사용자가 빠르게 사용하고  실행시킬 있게 먼저 설정 데모 어플리케이션이 있다.

좋은 점은 데모응용 프로그램에는 RTOS 데모 프로젝트의 소스코드 , 데모프로젝트 빌드 대상 하드웨어 구성에 대한 전체 정보를 제공하는 문서 페이지가 함께 제공된다는 것이다.

데모 어플리케이션 문서 페이지는 기본적인 RTOS 포트 특성 정보, FreeRTOS 호환되는 인터럽트 서비스 루틴을 어떻게 작성하는지, 것들은 다른 마이크로컨트롤러에따라 조금 다르다, 알려준다.

다음은 빠른 시간 내에 실행시킬 있는 이런 쉬운 명령어들을 보여준다.

1. RTOS 라이브러리들은 Git로부터 개별적으로 가능하지만, 가장 쉬운 방법은 공식적인 포트를 위한 데모 프로젝트를 가지고 있는 FreeRTOS.zip 파일을 받는 것이다. 파일의 양에 놀라지마시라. 데모를 위해서는 작은 부분만 필요하다.

적절한 디렉토리에 압축해제를 하라.

 

2. FreeRTOS에서 공식적으로 지원되는 마이크로컨트롤러 판매사 리스트에서 지원되는 디바이스들 페이지를 확인해라.

마이크로컨트롤러 판매사이름을 클릭하는 것으로 해당 판매사의 문서페이지들의 리스트를 확인할 있다. 사용하고자하는 개발보드에 대해 포팅된 것이 없다면 다른 하드웨어에서 동작하도록 되어있는 데모어플리케이션을 수정하는 페이지를 참조하라.

 

3. FreeRTOS 디렉토리 구조에서 요구되는 프로젝트를 위치시키기 위해 RTOS 포트 문서에 있는 명령어들(순서)을 따라 하라. 그리고, 데모프로젝트를 열고 빌드시켜라.

 

4. 대상 하드웨어를 설정하고, 데모어플리케이션을 실행시키기 위해서 RTOS포트 문서에 있는 명령어(순서)대로 따라하라.

 

5. 당신의 FreeRTOS 프로젝트를 생성하는 가장 간단한 방법은 당신이 선택한 포트를 위해 제공된 데모 어플리케이션에 기반두는 것이다. 데모어플리케이션이 동작하게 되면, 점진적으로 데모기능들과 소스파일들을 제거하고, 당신의 어플리케이션 코드로 대체하라. 문제 해결 도움은 FAQ 아래에 있는 “My Application does not run, what could be wrong?” 활용하라.

 

FreeRTOS 커널의 API 기준서는 온라인에서 가능하고 PDF 다운로드 있다.

https://www.freertos.org/a00106.html

 

FreeRTOS API categories

Links to FreeRTOS API function descriptions ordered by category. FreeRTOS is a portable, open source, mini Real Time kernel. A free RTOS for small embedded systems

www.freertos.org

https://www.freertos.org/Documentation/RTOS_book.html

 

Free RTOS Book and Reference Manual

RTOS book

www.freertos.org

FreeRTOS 디렉토리 구조에 대한 이해가 필요하다.

https://www.freertos.org/a00017.html

 

FreeRTOS - Free RTOS Source Code Directory Structure

Details all the FreeRTOS ports and describes the FreeRTOS directory structure

www.freertos.org

RTOS 데모 어플리케이션 프로젝트 소개

https://www.freertos.org/a00102.html

 

FreeRTOS - A description of the FreeRTOS demo tasks that are common to all demos, and how to find a Free RTOS demo application i

Each offical FreeRTOS port comes with a demo application. The demo applications run a set of common demo tasks that are common to all demos, and some tasks that are specific to a single demo. This page documents the tasks that are common to all demos.

www.freertos.org

RTOS 데모 어플리케이션을 다른 하드웨어에 맞게 수정하기

https://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html

 

FreeRTOS - Porting a FreeRTOS demo to a different hardware platform

FreeRTOS is a portable, open source, mini Real Time kernel. A free RTOS for small embedded systems

www.freertos.org

FreeRTOS라이센스 이해하기

https://www.freertos.org/a00114.html

 

FreeRTOS open source licensing, FreeRTOS license description, FreeRTOS license terms and OpenRTOS commercial licensing options.

FreeRTOS is a portable, open source, mini Real Time kernel. A free RTOS for small embedded systems. This page describes the FreeRTOS open source license details and terms and conditions.

www.freertos.org

FAQ: 나의 어플리케이션이 동작하지 않는다, 무얼 잘못했을까?

https://www.freertos.org/FAQHelp.html

 

FreeRTOS - Open Source RTOS Kernel for small embedded systems

FreeRTOS is a portable, open source, mini Real Time kernel. A free RTOS for small embedded systems

www.freertos.org

사용자 에러를 확인하기위한 configASSERT() 사용

https://www.freertos.org/a00110.html#configASSERT

 

FreeRTOS - The Free RTOS configuration constants and configuration options - FREE Open Source RTOS for small real time embedded

FreeRTOS is a portable, open source, mini Real Time kernel. A free RTOS for small embedded systems. This page describes and explains the constants used to configure FreeRTOS.

www.freertos.org

무료 지원을 얻기

https://www.freertos.org/FreeRTOS_Support_Forum_Archive/freertos_support_forum_archive_index.html/

 

Support Forums Archive - FreeRTOS

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

www.freertos.org

상업적인 라이선스들과 개발 서비스를 획득하기(3rd 파트너들의 웹사이트링크)

https://www.highintegritysystems.com/

 

Home - High Integrity Systems

A high quality, specially developed small RTOS kernel used for commercial and safety critical applications such as medical, automotive, aerospace, nuclear, and industrial devices, using 32 bit microprocessors

www.highintegritysystems.com

 

이런 도움 되는 내용들이 있는데 차차 확인해 보자.

반응형