한 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
이런 도움 되는 내용들이 있는데 차차 확인해 보자.
'임베디드' 카테고리의 다른 글
FreeRTOS - 3 (0) | 2023.01.03 |
---|---|
FreeRTOS - 2 (0) | 2023.01.02 |
마이크로프로세서로 KEY 입력 받는법 (0) | 2022.11.05 |
마이크로프로세서 제대로 공부하기 (0) | 2022.11.05 |
[myMP3P uCOS-II]일주일간의 삽질 결과.... (0) | 2022.11.05 |