성장의 계절, 모든 강의 30% 할인!

Thumbnail
진짜 시작, 봄맞이 30% 할인 중(D-8)
BEST
하드웨어 임베디드 · IoT

FreeRTOS 프로그래밍 대시보드

(4.8)
44개의 수강평 ∙  564명의 수강생
30% 187,000원 130,900원

월 26,180원

5개월 할부 시
지식공유자: 홍영기
총 202개 수업 (9시간 21분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

초급자를 위해 준비한
[임베디드 · IoT, 반도체] 강의입니다.

RTOS를 사용하기만 하면 실시간 처리가 된다고 믿고 계시나요? 이 강의를 보시고 확인해보세요. 까다로운 인터럽트, 우선순위, 상호배제, 포팅에 대한 통찰력을 만들어드립니다.

✍️
이런 걸
배워요!
하드리얼타임을 구현하는 법
인터럽트를 안정적, 효율적으로 운용하는 법
잦은 상호배제로 인한 시스템 성능 저하를 극복하는 법
태스크 우선순위 결정을 확실하게 하는 법
내가 만든 태스크가 실시간으로 동작하는지 테스트하기
포팅 노하우

강의 하나로 정리하는 FreeRTOS!
개념부터 실제 노하우까지 확인하세요.

강의 주제 📖

RTOS란?

Real-Time Operating System?

RTOS는 실시간 운영체제의 약자로,
제한된 시간 내에 원하는 작업을 처리할 수 있도록
만들어진 운영체제입니다.

RTOS는 실시간 응용 프로그램을 위해 개발된 운영체제입니다. 고성능 및 신뢰성이 필수적인 환경과 자동차, 가전, 의료, 항공 우주, 국방, 산업 제어 및 자동화를 비롯한 다양한 분야의 임베디드(Embedded) 제품에 사용됩니다.

높은 수준(Hard-Realtime)을 요구하는 작업 역시 실시간 운영 체제를 통해 제한된 시간 안에 결과를 처리할 수 있습니다.

FreeRTOS란?

여러 분야에 적용되는 만큼 RTOS도 그 종류와 라이센스 형태가 다양합니다. FreeRTOS는 마이크로 컨트롤러 및 소형 마이크로 프로세서를 위한 최고의 실시간 운영 체제(RTOS)입니다. FreeRTOS 소스 코드는 무료로 배포되므로 FreeRTOS를 다운로드하여 개발을 시작할 수 있습니다.

FreeRTOS (클릭)

FreeRTOS는 일반적으로 임베디드 애플리케이션에 필요한 모든 구성 요소와 함께 컴파일된 단일 이미지형태로 메모리에 플래시되어 사용됩니다.
사용된 마이크로 프로세서에 관계없이 임베디드 애플리케이션 개발자는 FreeRTOS 커널 및 모든 FreeRTOS 소프트웨어 라이브러리에 대해 동일한 표준화된 인터페이스를 사용할 수 있습니다

FreeRTOS 커널은 작고 간단하며 사용하기 쉽게 설계되었습니다. 일반적인 RTOS 커널 바이너리 이미지 크기는 4~9K바이트입니다.

FreeRTOS 호환 $100 미만의 마이크로컨트롤러 보드를 쉽게 구할 수 있습니다.

일반적으로 FreeRTOS 기반 애플리케이션Linux 기반 시스템보다 훨씬 간단하다는 이점이 있습니다

출처: VDC Research (클릭)

Freeertos.org는 빠른 시작 가이드(클릭)를 포함하여 FreeRTOS 커널 사용에 대한 일련의 자세한 자습서 및 가이드를 제공합니다. Tickless 인터럽트를 지원함으로써 마이크로 컨트롤러는 인터럽트가 발생하거나 RTOS 커널이 작업을 준비 상태로 전환할 때까지 DEEP SLEEP의 절전 상태를 유지할 수 있습니다.

Amazon은 IoT 디바이스가 자사의 클라우드에 안전하게 연결할 수 있도록 지원하는 수많은 소프트웨어 라이브러리를 FreeRTOS 커널을 기반으로 구현하고 있습니다. Amazon FreeRTOS가 사물인터넷 디바이스에 적용되면 AWS IoT Core와 같은 클라우드 서비스에 안전하게 연결하고 OTA 업데이트 기능을 사용하여 원격으로 업데이트할 수 있습니다.


다음 내용을 학습합니다 📚

FreeRTOS가 무료이면서 소스코드 기반의 커널을 갖추고 있다는 점은 주지의 사실입니다.
그렇다면 커널의 소스를 활용할 수 있다는 것의 진정한 장점은 무엇일까요?

내가 사용하는 커널이 소스 코드를 제공해준다는 말은 사용자가 원할 경우 언제든지 그 내용을 들여다볼 수 있다는 것을 말하죠. 하지만, 우리의 궁극적인 목적이 RTOS라는 자동차를 잘 운행하는 것에 있다면 내연기관 차량의 구조나 원리의 학습에 그 의의를 둘 것이 아니라 방향 지시등 준수, 횡단보도 안전 의무 준수, 백미러 잘 관찰하기, 급가속하지 않기 등에 더 많은 시간과 노력을 들이는 것이 나에게 더 큰 도움이 되지 않을까요?

또 커널 소스를 분석하여 커널을 더욱 좋게 성능을 개량할 수도 있겠지만, 모든 코드 수정에는 책임이 동반되는 터라 감히 추천드릴 수는 없습니다. 그보다는 내가 작성한 애플리케이션이 가진 문제를 찾아내고 수정함에 있어 커널 소스의 도움을 받거나 커널의 동작에 대한 이해를 높이는 용도로서 가치가 있다고 생각합니다.    

지금부터 FreeRTOS라는 자동차를 잘 운행하기 위해 우리가 필수적으로 알아야 할 내용을 정리해보겠습니다.

RTOS의 6가지 핫 토픽 ✅

  1. 하드 리얼타임을 구현하는 법
  2. 인터럽트안정적, 효율적으로 운영하는 법
  3. 잦은 상호배제로 인한 시스템 성능 저하를 극복하는 법
  4. 태스크 우선순위 결정을 확실히 하는 법
  5. 내가 만든 태스크가 실시간으로 동작하는지 테스트하기
  6. 포팅 노하우

위의 내용은 모두 이번 강의의 핵심 주제입니다. 자, 세부 내용을 알아볼까요.

첫째, RTOS를 사용하기만 하면 자동으로 실시간 처리가 된다고 오해하고 있지 않나요?

똑같은 재료를 가지고 집을 짓더라도 어떤 목수가 지은 집은 강풍이나 누수에도 흔들림 없이 안전한 반면, 또 다른 목수가 지은 집은 비가 조금만 오더라도 천장에서 물이 떨어지고, 겨울에는 단열도 잘 안 돼 난방비가 많이 나올 수 있죠. 무슨 차이일까요? RTOS를 사용한다고 해서 자동적으로 내가 만든 프로그램이나 제품의 실시간성이 보장되는 것이 아닙니다. 비단 FreeRTOS 뿐만이 아니라 RTOS 모두에 해당되는 말입니다. 하드 리얼타임을 보장하기 위해, 혹은 도달하기 위해서 어떤 노력이 필요한지를 이 강의를 통해 알려드립니다.

둘째, 인터럽트(Interrupt)를 빠르게 처리해야만 하는 작업으로 단정짓고 있지는 않았나요?

우리의 그런 고정관념이 내가 만드는 제품이나 프로그램에 얼마나 악영향을 미치는지에 대해 사례를 통해 알아보고, 그 해결 방안까지 살펴봅니다.

셋째, 작성하고 있는 소스코드 함수 내에 임계 구역이 보이면 바로 뮤텍스를 사용하려 하시지는 않나요?

잠깐만요. 뮤텍스(Mutex)가 시스템 성능 저하를 유발한다는 점을 알고 계시겠죠? 이를 보완할 수 있는 방법 혹은 그 대안을 알아봅니다.

넷째, 중요한 태스크(작업)에 높은 우선순위를 할당하고 계시지 않나요?

태스크들에 우선 순위를 할당해 보신 분들은 잘 아실 겁니다. 참 어렵죠. 중요한 작업에 높은 우선순위를 배정하는 것의 함정에 대해 말씀드리고, 그 대안을 제시합니다.

다섯째, 프로그램의 구현만큼이나 중요한 것이 내가 의도한 대로 태스크가 실시간으로 동작하는지를 검증하는 일입니다.

필요하다면 디버거 외에도 계측기나 이에 상응하는 장비가 필요할 수도 있습니다. 물론 이러한 장비가 없어도 개발하고 테스트할 수는 있지만, 더 손쉽게 문제를 확인하고 대책을 마련할 수 있습니다. 내가 만든 태스크가 하드 리얼타임으로 동작하는지 여부를 확인하는 방법을 알려드립니다.

여섯째, 내가 만든 프로그램이 항상 동일한 하드웨어에서 동작하리라고 기대할 수 없습니다.

내가 만든 제품 하드웨어 성능이 업그레이드가 되면 당연히 포팅(Porting) 작업을 요구하게 됩니다. 다른 사람의 도움 없이 내가 직접 커널 포팅을 할 수 있도록 오랫동안 숙련된 경험과 노하우를 알려드립니다. 

13년 이상 숙련된 RTOS 강의 노하우 💡

여러분의 시간을 내 시간처럼 소중히 생각하며 강의를 만들었습니다.

13년간 RTOS 현장 강의를 해오면서 더 많은 학습자들과 만남을 갖기 위해서 이렇게 온라인에서도 강의를 만들게 되었습니다. 현장 강의 수업일수 기준 4일 분량의 내용을 8시간 내로 최적화한 온라인 강의로 여러분을 찾아갑니다. 


이런 분들께 추천합니다! 🔑

RTOS를 처음
배우는 입문자

FreeRTOS 기반 제품의
최적화를 고민하는 분

경량형 OS를 제품에
적용하고자 하는 분

IoT(사물인터넷)
개발자

이외에, 이런 분들도 배우면 좋습니다!

👉 제품의 하드 리얼 타임과 안정성, 두 마리 토끼를 다 잡고 싶으신 분
👉 리눅스 운영체제와 비교, 검토를 원하시는 분
👉 운영체제에 대한 이해를 높이고자 하는 분
👉 오프라인 수업에 참여할 시간적인 여유가 없으신 분

선수 지식을 확인해주세요!

  • 학습을 위한 선수 지식으로 C언어를 알고 있어야 합니다.

이 강의만의 특별한 점 ✨

  • 특징 1. 영상을 180개 소챕터로 쪼개, 나중에 찾아보기에도 도움이 되게끔 구성했습니다.
  • 특징 2. 2D 애니메이션을 적극 활용해 이해에 도움이 되도록 만들었습니다.
  • 특징 3. 모든 실습 예제는 TO-DO와 함께합니다. 수강생이 직접 실습에 참여하는 강의가 될 수 있도록 했습니다.
  • 특징 4. 불필요한 내용은 과감히 버리고, 더욱 핵심에 집중할 수 있도록 돕습니다.
  • 특징 5. 개발자 매뉴얼을 보지 않고도 영상만으로 학습할 수 있도록 최대한 신경썼습니다.


사용 툴을 확인하세요 🧰

  • 컴파일러: STM32CubeIDE
  • 실습 보드: STmicro 사 공식보드(뉴클레오, 디스커버리)
  • 실습 예제 및 교재파일: freeRTOS_tutorials.zip ( 파일은 섹션 0. FreeRTOS 시작에 있습니다 )
  • 강의에서 사용한 보드는 Nucleo-64 F103RB 입니다. 하지만 실습 예제는 다음과 같은 보드도 지원합니다. DISCO_F429I, DISCO_F469I, NUCLEO_F401RE, NUCLEO_F767ZI, NUCLEO_L010RB ( 이 파일들은 마지막 섹션에 보시면 있습니다 )
  • 여러분이 원하시는 STM32 보드가 위 열거된 목록에 없다면  '(부록)내가 가진 뉴클레오 보드로 강의 따라가기' 영상을 시청하신 후 실습예제파일(freeRTOS_tutorials) 소스를  직접 여러분이 원하시는 보드용으로 수정하시고 본 강의를 이용하시거나, 소스 코드를 여러분이 원하시는 보드용으로 강사에게 수정 요청하시면 됩니다(무료. 통상 작업 1~2일 소요. 질문하기코너에서 신청)

강의를 만든
지식공유자를 소개합니다
✒️

홍영기(가일스쿨)

주요 이력

  • 1995: VRTXsa RTOS(68K MCU기반 셋톱박스)
  • 1999: VXWorks RTOS(MPC860 MCU 기반 VoIP)
  • 2003: NucleusPlus RTOS(ARM MP3)
  • 2004: uC/OS-II RTOS(ARM MP3)
  • 2008~: RTOS 커널 분석 및 활용 실무 현업 강의
  • 2019~: FreeRTOS 프로그래밍 실무 현업 강의

기타

  • uC/OS-II 기반 malloc/free 호환 동적 메모리 관리자 개발
  • uC/OS-II 기반 miniGUI 포팅
  • uC/OS-II 기반 ethernet(DM9000A) TCP/IP 포팅
  • uC/OS-II 기반 FatFs + SD card 포팅
  • uC/OS-II 기반 YAFFS + NANDFLASH 포팅
  • RTOS 커널 포팅 다수
  • 유튜브 채널, 깃허브

예상 질문 Q&A 💬

Q. C언어를 모르는 사람이 수강해도 좋을까요?

이 강의는 엔지니어분들 외에도 비전공자나 RTOS 내장 제품에 관심을 갖고 계신 분들 모두 수강하시면 좋습니다. 다만 C언어를 모르시면 수업 중 실습과 관계된 부분에 대해서는 이해하기 어려우실 수도 있습니다.

Q. 중급자도 이 강의를 수강해도 좋을까요?

RTOS에 입문하시려는 분들은 물론, 이미 RTOS를 사용하고 계시는 중급자 분들까지도 커버할 수 있도록 강의를 기획했습니다. 13년간 삼성전자, LG전자, 현대모비스, LS산전, 국방과학연구소 등에서 RTOS 프로그래밍 강의를 한 경험으로 나름대로 RTOS 프로그래밍에서 까다로운 부분, 중요한 주제들을 심도있게 다루고 있습니다.

Q. 사물인터넷(IoT)에 대해서도 수업의 주제로 다루나요?

FreeRTOS가 다양한 IoT 기기에서 사용됩니다. 하지만 본 수업은 RTOS 커널이라는 하나의 주제에 집중하고 있습니다. 

Q. 실습을 위한 STM32 보드 종류가 다양한데, 아무 거나 상관없나요?

영상에선 현재 STM32 Nucleo64 f103rb 보드 기준으로 수업을 진행합니다.

만약 다른 STM32 보드에서 실습을 하고 싶다면  '(부록)내가 가진 뉴클레오 보드로 강의 따라가기' 영상을 시청하신 후 실습예제파일(freeRTOS_tutorials) 소스를  직접 여러분이 원하시는 보드용으로 수정하시고 본 강의를 이용하시거나 소스 코드를 여러분이 원하시는 보드용으로 강사에게 수정 요청하시면 됩니다(무료. 통상 작업 1~2일 소요. 질문하기코너에서 신청)

Q. FreeRTOS가 좋은가요?

아주 좋은 질문입니다. 그리고 어려운 질문이기도 하네요. 저는 12년간 임베디드 시스템을 개발한 경력을 가지고 있으며 경험은 펌웨어, RTOS, 임베디드 리눅스를 망라하고 있습니다.

어떤 OS가 좋으냐라는 질문에 대해 저는 다음처럼 공식적인 답변을 준비하고 있습니다.
(1)무료/유료 (2)소스코드/바이너리 (3)많은 사용자를 가지고 있는가 (4)개발환경 지원
이상은 RTOS을 고를 때 따져 볼 중요한 항목들입니다. 

FreeRTOS 는 위의 1,2,3 항목에 대해 거의 만점을 줄 수 있습니다. FreeRTOS 가 최고의 OS다라고 말할 수는 없더라도, 적어도 추천할 만하다고는 생각합니다.

Q. 저는 VxWorks 을 사용하고 있는데, 이 강의가 저에게 도움이 될까요?

비록 강의 타이틀은 FreeRTOS 프로그래밍이지만, 이 강의는 RTOS의 정수(핵심)에 집중하는 교육으로 설계되었습니다. 또 제 이력을 보시면 아실 테지만, 이미 다양한 RTOS를 사용해 보았습니다. 

어떤 RTOS를 사용하든 공통적으로 꼭 알고 가야 할 지식, 자주 사용하는 스킬, 사용자들이 하기 쉬운 오해나 편견을 모아서 이 강의에서 다루고 있습니다. 도움이 되실 것으로 믿습니다.

수강 전 확인해주세요! (라이센스)

  • 강의에서 사용된 프리젠테이션 자료는 PDF 문서 형태로 수강생에게 무상 제공됩니다.
  • 함께 제공되는 문서는 인프런 내에서 강의 영상의 보조 자료로써 개인적인 사용 목적으로만 이용되어야 합니다. 책 내용의 일부 또는 전부를 복제(홈페이지나 인쇄 매체에 전재하는 것, 전자 파일로 복사하는 것도 포함함)할 때는 한국 저작권법 제27조에 규정한 사적 사용을 제외하고, 영리목적 여부와 상관없이 한국 저작권법 제42조에 따라 저작권자인 지식공유자 홍영기의 허락을 요구합니다.

다른 강의 함께 보기 🔍

리눅스 쉘 스크립트 마스터
리눅스 쉘(Shell) 코딩의 
막강한 기능을 경험하세요.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
RTOS 입문자
경량형 OS를 제품에 적용하고자 하는 분
운영체제에 대한 학습이 필요한 분
FreeRTOS 기반 제품의 최적화를 고민하는 분
제품의 하드 리얼 타임과 안정성, 두 마리 토끼를 다 잡고 싶으신 분
📚
선수 지식,
필요할까요?
C 언어

안녕하세요
홍영기 입니다.
홍영기의 썸네일

인하대학교 공과대학에서 전자공학 학사 학위를 받았으며 임베디드 시스템용 소프트웨어 개발자로써 수년간의 경력을 쌓았습니다. 임베디드 시스템 및 프로그래밍을 위한 전문 강사로도 활동 중입니다. 아이폰 3GS 등장과 같은 시기에 맥(북)에 입문하였고, 그때부터 맥(북) 자동화에 관심을 갖게 되었습니다. '맥(북)에서 사용할 수 있는 시리 리모트', '키보드마에스트로를 이용한 구글번역기' 같은 오픈 소스를 깃허브(https://github.com/guileschool) 에 두고 개발 및 유지보수하고 있습니다. 오픈 소스 하드웨어 '비글본블랙' 에도 많은 관심을 가지고 있습니다. 맥(북) 자동화를 이용하여 생산성을 높일 수 있는 컴퓨터를 사용하는 모든 분야에 관심을 가지고 있고, 이를 필요로 하는 사람들을 돕고 있습니다.

강의 요청 및 기타 문의사항은 guileschool@gmail.com으로 보내주세요 :)

커리큘럼 총 202 개 ˙ 9시간 21분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. FreeRTOS 시작
강좌소개 미리보기 08:09 멀티태스킹이란 미리보기 03:26
실습환경구축 STM32CubeIDE 시작하기(교재/실습예제 포함) 05:18
보드 디버깅 01:22
Nucleo64 보드 연결 미리보기 02:49
섹션 1. RTOS 개론
태스크 미리보기 02:13
태스크간 통신 00:20
태스크 상태 01:34
커널이란 01:08
선점형 커널 미리보기 03:28
비선점형 커널 01:30
라운드로빈 스케줄링 01:13
우선순위 스케줄링 03:42
인터럽트 02:58
블록킹 IO 03:31
비블록킹 IO 04:26
커널의 시계 02:06
RTOS란 05:33
RTOS의 특징 05:09
RTOS의 종류 04:13
FreeRTOS 소개 08:47
FreeRTOS 무엇을 배우는가 00:46
섹션 2. FreeRTOS 포팅 실습
태스크 형태 미리보기 01:58 포팅-시작 미리보기 01:02
포팅-새 프로젝트 만들기 00:49
포팅-프로젝트 셋업과 CMSIS 00:45
포팅-IOC 파일 사용법 02:41
포팅-원하는 함수 찾는법 00:48
포팅-osKernelStart 00:29
포팅-CMSIS 00:59
포팅-OS 독립적인 포팅 02:08
포팅-startDefaultTask 03:06
포팅-printf 04:08
포팅-LED켜기 00:20
포팅-마무리 01:45
섹션 3. 실습예제 활용안내
수업실습예제의 구성 04:18
FreeRTOS 매뉴얼 보는 방법 00:41
CMSIS_OS 컴파일 00:47
수업실습 예제 활용법 03:35
섹션 4. 태스크 생성과 운용
xTaskCreate 생성자 미리보기 03:02
태스크 예제 실습 03:19
프로그램과 메모리 02:16
프로그램의 논리적인 메모리 구조 01:35
소스코드 분석-커널의 시작 00:53
소스코드 분석-xTaskCreate 02:32
소스코드 분석-수퍼태스크 01:02
소스코드 분석-태스크 상태도 01:03
소스코드 분석-vTaskDelete 01:31
소스코드 분석-우선순위스케줄링 01:16
소스코드 분석-vTaskSuspend 02:56
소스코드 분석-vTaskDelay 02:31
소스코드 분석-vTaskPrioritySet 02:09
소스코드 분석-멀티태스킹 02:17
소스코드 분석-우선순위와 실행시간과의 관계 02:39
소스코드 분석-우선순위 스케줄링의 원리 00:52
소스코드 분석-vTaskDelay 함수의 중요성 00:56
소스코드 분석-FreeRTOSConfig 01:15
소스코드 분석-라운드로빈 스케줄링 01:52
소스코드 분석-configUSE_TIME_SLICING 01:46
소스코드 분석-xTaskIncrementTick 01:00
소스코드 분석-configUSE_PREEMPTION 00:53
소스코드 분석-printf 와 fflush 03:41
소스코드 분석-configUSE_IDLE_HOOK 02:28
태스크와 우선순위 01:17
xTaskCreate 분석 01:48
섹션 5. 태스크와 메모리
태스크와 스택메모리 09:01
태스크용 스택메모리의 특징 00:46
메모리 단편화란 01:29
태스크 스택메모리의 동적할당 02:28
태스크 스택의 크기를 결정하기 01:53
태스크 스택메모리의 정적할당 00:20
스택오버플로우 검사 05:04
소스분석-configCHECK_FOR_STACK_OVERFLOW 01:31
스택오버플로우-Assertion 00:46
커널소스분석-태스크 스택메모리 02:21
스택 메모리 크기 최적화 04:13
섹션 6. 태스크 관련 커널 API
vTaskDelete 00:23
vTaskPrioritySet 00:26
vTaskSuspend 와 vTaskResume 00:26
TCB 05:33
FreeRTOS 변수 이름 규칙 01:26
FreeRTOSConfig.h 02:01
vTaskDelay 05:51
vTaskDelayUntil 01:56
섹션 7. 임계영역과 상호배제
동시성 문제 07:22
임계영역 00:48
재진입 01:58
상호배제방법-인터럽트금지 01:37
상호배제방법-스케줄러잠금 00:24
상호배제방법-세마포어 01:03
상호배제방법-최고의방법 02:41
taskENTER_CRITICAL 02:02
FreeRTOS의 절대우선순위 00:31
실습 03_CRITICAL 08:58
섹션 8. 문맥전환
스택 포인터 레지스터와 컨텍스트 00:20
문맥전환-TCB 메모리 최적화 00:50
문맥전환-CONTEXT SWITCH 02:05
문맥전환-FreeRTOS의 문맥전환 방법 2가지 00:55
문맥전환-커널소스코드로 본 문맥전환 방법 2가지 02:42
문맥전환-xPortPendSVHandler 인터럽트 핸들러 함수의 분석 05:22
인터럽트와 선점과의 관계 01:34
문맥전환-xPortSysTickHandler 인터럽트 핸들러에 의한 문맥전환 00:52
IDLE 태스크 02:16
TICK 변수 xTickCount 00:58
FreeRTOS 버젼 확인 00:11
섹션 9. 코루틴과 인터럽트
코루틴 08:11
위험한 인터럽트 05:02
FreeRTOS의 절대 우선순위 07:40
실습-Deferred Interrupt 08:44
DFI-성능개선 확인 01:18
DFI-주요 소스코드 분석 01:20
DFI-마무리 01:30
시스템 성능 최적화 기법들 03:50
사례로 알아보는 RTOS의 태스크 우선순위 결정 01:13
정말로 이 태스크가 가장 우선순위가 높아야 할까요 01:37
우선순위 결정의 오류 03:55
MP3 플레이어의 음악재생 원리 02:12
마감시간 기준의 우선순위 결정법 04:49
인터럽트를 올바르게 이해하기 03:03
우선순위 결정방법 마무리 01:22
FreeRTOS의 동적 메모리 04:41
섹션 10. 세마포어
태스크간 통신 00:57
세마포어 05:28
생산자 프로세스와 소비자 프로세스 01:40
FreeRTOS 세마포어 03:00
vSemaphoreCreateBinary 00:37
실습-세마포어 02:46
vSemaphoreDelete 01:07
xSemaphoreCreateBinary 00:21
vSemaphoreDelete 04:15
xSemaphoreTake 01:14
xSemaphoreTakeFromISR 00:42
xSemaphoreCreateCounting 00:58
소스코드 분석-부트의 원리 11:38
소스코드 분석-xSemaphoreCreateBinary 01:08
소스코드 분석-xSemaphoreCreateCounting 02:29
섹션 11. IPC
태스크간 통신(IPC) 05:00
태스크 동기화 01:35
FreeRTOS 서비스 함수 사용시 주의 사항 01:51
섹션 12. 뮤텍스
우선순위역전 미리보기 05:08
우선순위상속 02:45
뮤텍스 02:14
xSemaphoreCreateMutex 03:55
상호배제를 고려한 디바이스 드라이버 06:04
FreeRTOS 와 디바이스 드라이버 01:08
섹션 13. 이벤트플래그
이벤트플래그 미리보기 04:39
FreeRTOS 의 이벤트플래그 00:57
이벤트플래그의 주요 API 02:31
실습-09_FLAG 05:41
프로그램 오류의 발견 vAssertCalled 01:41
실습-09_FLAG 마무리 12:33
섹션 14. 디바이스 드라이버
I2C LCD 와 디바이스드라이버 미리보기 00:12
LCD 프로젝트 가져오기 01:50
LCD 프로젝트에 FreeRTOS 추가하기 03:15
LCD 프로젝트에 상호배제 추가하기 04:29
RTOS에서의 디바이스 드라이버 처리 01:00
섹션 15. 메시지 큐
메시지 큐 미리보기 03:39
xQueueCreate 01:17
xQueueReceive 00:46
xQueueSendToFront 00:33
소스분석-10_Queue 01:01
소스분석-10_Queue 마무리 15:57
섹션 16. 소프트타이머
소프트타이머 미리보기 00:34
원샷 소프트타이머 01:04
오토릴로드 소프트타이머 00:44
소프트타이머 응용사례 01:59
섹션 17. 데드락과 디버깅 도구
데드락 미리보기 02:40
데드락 사례분석-로켓 00:34
데드락 사례분석-자동차 00:44
교착상태의 분석과 예방 01:05
디버깅 도구 LogicSniffer 01:01
LogicSniffer의 활용방법 소개 10:09
섹션 18. FreeRTOS 포팅 이론
포팅 일반 미리보기 00:41
FreeRTOS 포팅을 위한 소스코드 준비 00:20
RTOS 포팅이란 02:11
RTOS 커널 포팅의 핵심 원리 08:13
FreeRTOS 커널 소스코드의 구조 03:18
다양한 RTOS 커널 포팅 유형 00:41
다양한 RTOS 커널 포팅 유형-STM32F469NI 보드 사례 01:46
섹션 19. (부록)내가 가진 뉴클레오보드로 강의 따라가기
포팅 완벽 가이드-내가 가진 뉴클레오보드로 강의 따라가기 01:27:04
포팅 사례와 소스코드(DISCO F429I)
포팅 사례와 소스코드(DISCO F469I)
포팅 사례와 소스코드(NUCLEO-64 F401RE)
포팅 사례와 소스코드(NUCLEO-144 F767ZI)
포팅 사례와 소스코드(NUCLEO-64 L010RB)
내가 가진 뉴클레오 보드를 이용해서 수업을 따라가고 싶어요. 도와주세요~ 강사에게 포팅을 요청하기
포팅 사례와 소스코드(NUCLEO F746ZG) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 G491RE) < 사용자요청
포팅 사례와 소스코드(EVAL F769I) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 L476RG) < 사용자요청
포팅 사례와 소스코드(DISCO F746) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 G071RB) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 L552ZE) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 F429ZI) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 L4R5ZI) < 사용자요청
포팅 사례와 소스코드(DISCO F407) < 사용자요청
포팅 사례와 소스코드(NUCLEO-64 G070RB) < 사용자요청
포팅 사례와 소스코드(NUCLEO H743ZI2) < 사용자요청
포팅 사례와 소스코드(NUCLEO H723ZG) < 사용자요청
포팅 사례와 소스코드(NUCLEO G431RB) < 사용자요청
포팅 사례와 소스코드(NUCLEO F446RE) < 사용자요청
포팅 사례와 소스코드(NUCLEO L152RE) < 사용자요청
강의 게시일 : 2021년 06월 22일 (마지막 업데이트일 : 2023년 10월 18일)
수강평 총 44개
수강생분들이 직접 작성하신 수강평입니다.
4.8
44개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
Hello World! thumbnail
3
중요한 주제에 대해서 다루지만 실제로 설명하는 내용이 풍부하지 않습니다. 강의 목차를 불필요하게 많이 나누어 놓았습니다. 실제로 1분 미만인 것들이 많습니다.
2024-01-11
trueangel5 thumbnail
5
잘보았습니다. FreeRTOS를 이용한 실무 적용 가능 프로젝트(mp3 플레이어, 주행 로봇, 드론 같은...)도 강의로 만들어서 해주시면 어떨까요? 좋은 강의 잘 보았습니다.
2024-02-27
이용대 thumbnail
5
몰랐던 동작에 대해서 알게 되어 유익했습니다. 한번으로는 어려운 것 같아서 복습해봐야겠어요. 수고하셨습니다!
2024-01-04
Embedded June thumbnail
5
FreeRTOS의 주요 기능을 아주 쉽게 실습할 수 있도록 실습 파일과 강의 영상에 엄청난 정성이 들어가 있습니다. 일반인이 시중에서 접할 수 있는 최고의 FreeRTOS 강의가 아닐까 싶습니다. 집중해서 들어야 하는 부분과 그렇지 않은 부분을 명확하게 구분해주시고, 다양한 사례를 들어서 설명해주셔서 이해하기 정말 쉬운 강의입니다. 졸업 프로젝트에서 FreeRTOS를 활용할 때 레퍼런스 문서를 n회독 하며 얼마나 고생했는지 생각납니다. 이 강의를 좀 더 빠르게 만났더라면 좋았을 걸 이라고 생각했습니다. 좋은 강의 제공해주셔서 정말 감사합니다.
2021-08-14
지식공유자 홍영기
Embedded June님! 프로그래밍 언어에서 반복되는 부분은 루프문이나 함수로 만들듯이, 10여개 정도되는 실습 예제에서 반복적으로 사용되는 소스파일, 그리고 내가 보고싶은 소스(eg. task.c, FreeRTOSConfig.h)를 빠르게 확인할 수 있도록 주의를 기울였습니다. 그 부분이 도움이 되셨다니 오히려 제가 감사합니다. 더욱 알찬강의로 다시 뵙기를 원합니다 ㅎㅎㅎ~~
2021-08-15
김도형 thumbnail
5
OS 기초부터 설명해주셔서 이해하는데 많은 도움이 되었습니다. 그리고 다양한 예제를 통해 설명해 주셔서 좋았습니다.
2023-12-28