Thumbnail
개발 · 프로그래밍 임베디드
FreeRTOS 프로그래밍
(4.8)
6개의 수강평 ∙ 75명의 수강생
187,000원

월 37,400원

5개월 할부 시
지식공유자 : 홍영기
총 179개 수업˙총 7시간 54분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
폴더에 추가 61 공유
  • whoami 프로필 whoami
    2021-10-06 325935

    혹시 학습 보드로 nucleo64 103fb 사용을 하시던데 혹시 nucleo -f429zi로 실습해도 상관이 없나요?? 혹시 수강시에 문제가 될만한것이 있을까요 ??

    홍영기
    홍영기
    홍영기
    2021-10-06 141814

    whoami님! 안녕하세요~ 반갑습니다:) 본 강의 <섹션 2. FreeRTOS 포팅 실습> 을 참조하시면 stm32 nucleo 보드에 FreeRTOS을 포팅하는 방법을 쉽게 아실 수 있으세요. nucleo f429zi 보드에 포팅을 직접 해보시다가 어려움이 있을 땐 질문으로 해결하실 수도 있고, 요청만하시면 별도의 비용없이 원격으로 포팅 작업을 제가 직접 도와드립니다. 그러니 질문하신 그 부분은 염려하지 않으셔도 될 것 같아요. 추가 질문사항이 있으시면 다시 글을 남겨주세요.

  • 이동현 프로필 이동현
    2021-10-01 322534

    안녕하세요. 진심어린 조언 정말 감사드립니다. 현재 4-2학기 전자공학과 학부생 입니다. 임베디드 연구실 학부연구생으로 있으면서 시스템 엔지니어로서의 꿈을 키워왔습니다. 희망 분야로는 메모리 반도체 - SW, SoC - SW 엔지니어입니다. 현재는 코딩테스트 준비를 주로 하고 있습니다. 운영체제, 컴퓨터 구조, 임베디드 관련과목을 수강하였으며 앞으로 공부할 것이 뜬구름처럼 있는 것 같아 막막한 상태였습니다. 한 가지 더 여쭙고자 합니다. 앞으로 시스템 프로그래밍, 리눅스 커널을 공부하여 관련 분야의 꿈을 키워나가려고 계획중입니다. 하지만 말씀해주신 것처럼, 커널을 공부한다는 것이 정말 뜬구름을 잡는 느낌입니다. 이와 관련하여 학부생입장에서 무엇을 공부하면 좋을지 조언을 듣고 싶습니다. 늦은 밤, 죄송합니다. 감사합니다.

    홍영기
    홍영기
    홍영기
    2021-10-01 140987

    이동현님! 취미로 하는 것이라면 아무렇게나 해도 되겠지만, 인생의 중요한 시기인 취업이라는 목표를 염두에 두고 학습을 하시려고 한다면 데드라인을 정해놓고 하시는 것이 아무래도 성취도 측면에서 좋을 것 같아요. 동현님의 리눅스와 관련한 배경 지식을 저는 알 수 없으므로 과거에 제가 했던 학습 방법과 요청하신 일반적인 학습 루트를 각각 적어드리죠. 다음은 과거 저의 학습 방법입니다. (1)임베디드 시스템 개발 -> (2)유닉스 명령어 -> (3)유닉스 시스템 프로그래밍 -> (4)VME 보드 기반 Solaris(썬마이크로시스템즈) 디바이스 드라이버 개발도구(VIM, MAKE, GCC, LD)들은 (3)번을 하면서 함께 진행하였죠. 유닉스(Solaris) 기반의 디바이스 드라이버를 만드는 것이 회사에서 저의 업무 목표였고, 펌웨어 3년차 개발자였으며 유닉스에 관련하여 아무것도 몰랐었습니다. (2)번에서 (4)번까지를 일사천리로 진행하였고, 1년만에 성취할 수 있었습니다:) 지금 돌이켜보면 분명한 마감 시간이 있었기에 가능했던 것 같네요. 다음은 제안하는 학습 루트입니다. (1)리눅스 명령어 -> (2)리눅스 쉘스크립트 -> (3)리눅스 시스템 프로그래밍 -> (4)리눅스 디바이스 드라이버 -> (5)리눅스 커널 제가 첫번째 강조하고 싶은 것은 위 학습중에서 가장 많은 시간을 들여야 할 것이 (4)번이라는 것입니다. 사실 (2)번 (3)번은 해도 해도 끝이 안납니다. 두번째 강조하고 싶은 것은 적은 시간이라도 (2)번 학습을 꼭 하시라는 말씀을 드립니다. 저는 과거에 시간이 없어서 (2)을 건너뛰었었습니다. 하지만 그 댓가를 톡톡히 치렀죠. 아마 잘은 몰라도 쉘(shell)에 대한 지식부족으로 조금씩 조금씩 나의 소중한 시간을 갉아먹었었을겁니다. 인프런 강의 찾아보시면 저의 강의가 있을 겁니다. 강추합니다 ㅎㅎ. 제가 그동안 쉘 환경에서 작업하면서 필요하다고 느끼는 지식을 영상속에 녹여넣었습니다. 세번째로 강조하고 싶은 것은 '목표를 너무 많이 잡지 말자' 라는 것입니다. 학습을 하시다보면 상당히 다양한 주제들을 접하게 됩니다. 이것도 하고 싶고, 저것도 하고 싶고, 이것은 깊이있게 공부하고 싶고 ... 자칫하면 목표의식이 결여될 수 있고 의도치않게 많은 시간을 낭비하게 될 수도 있습니다. 다음과 같은 예처럼 단 1개의 목표를 설정하시기 바랍니다. 예를들면 '비글보드의 LED 디바이스 드라이버의 동작 원리를 이해하고 내부 LED가 아닌 확장 LED를 켜보기'. 이런식으로 말이죠. 모든 학습은 이 단 하나의 목표를 성취하기 위해 진행하는것이라고 스스로 생각하면 좋겠죠. 저는 이 첫번째 성취가 학습의 성패를 좌우한다고 생각합니다. 인간은 성취감을 느꼈을 때, 또 다른 성취를 하고 싶은 욕구가 생긴다고 생각합니다. 이정도면 제가 하고 싶은 말은 다 적은 것 같습니다.

  • 이동현 프로필 이동현
    2021-09-30 322406

    안녕하세요. 전에 임베디드 관련하여 질문 드렸었습니다. 다름이 아니오라, 한가지 더 여쭙고자 합니다. 임베디드와 SoC 엔지니어를 희망하고 있습니다. 이에 리눅스 커널을 공부하고자 합니다. RTOS 강의를 듣고 난 다음, 리눅스 커널을 공부하는 것이 적절한가요? 아니면 그 반대의 경우가 적절한가요? 치기 어린 질문이지만, 도움주시면 감사하겠습니다. 감사합니다.

    홍영기
    홍영기
    홍영기
    2021-09-30 140971

    이동현님! 예전에 C++ 관련 질문하셨었죠. 반갑습니다:) 적어주신 내용을 바탕으로 임베디드 리눅스 개발자로 취업이나 전직을 하시려는 것으로 짐작하고 답변드리겠습니다. 혹시 아니라면 다시 글 남겨주세요. 임베디드 리눅스 개발자로 성공적인 커리어를 만들기 위해서는 상당량의 학습을 하셔야 한다는 점을 우선적으로 말씀드리고 싶습니다. 관련 학습이나 경험을 쌓는 것 그 자체도 고된일이지만, 무엇보다도 상상을 초월하는 많은 시간을 쏟아부어야 하는 일이므로 진로를 결정함에 있어 정말 신중함이 요구됩니다. 우리 인생은 생각보다 짧습니다. 리눅스 개발자가 10년을 개발해도 스스로 초보라고 말하고 다니는 것은 겸손함 때문만은 아니라는 점을 진지하게 생각해 보셔야 합니다. 리눅스는 그만큼 알아야 할 내용이 광범위하고, 내용적으로도 어렵습니다. 대충 이런 학습들이 필요합니다. 리눅스 명령어, 리눅스 쉘스크립트, 리눅스 시스템 프로그래밍, 리눅스 디바이스 드라이버, 리눅스 커널, 임베디드 시스템에 대한 이해, 개발도구(VIM, MAKE, GCC, LD, YOCTO) 이것들 하나 하나가 많은 시간 투자를 해야만 겨우 성취할 수 있는 것들이죠. 한 가지 예를 들어드리겠습니다. 제가 2014년부터 본격적으로 쉘 코딩을 시작하였고, 평균 하루 2시간 이상 꾸준히 쉘 스크립트 실전 코딩(자동화를 구현하기 위한 목적)을 지금까지 해오고 있습니다. 그런데, 지금도 모르는 게 있어요. 이 분야를 염두에 두고 계시다니 팁을 하나드릴게요. 리눅스 커널은 목적이 아닌 수단이 되어야 합니다. 어느 정도 개발자로서 경력을 쌓고 기본기가 만들어질 때까지는 리눅스 커널은 블랙박스 처럼 생각하고 다루어야 합니다. 예를들어 볼게요. RTOS의 경우에도 커널이 존재합니다. 하지만, 대부분의 펌웨어 개발자들은 RTOS 커널을 수정하거나 분석하려고 들지 않습니다. 리눅스 커널도 그런 식으로 접근해야 합니다. 굳이 비유하자면 리눅스라는 자동차(타겟)를 운행하기 위해서 엔진(커널)에 대한 이해가 반드시 필요한 것은 아니죠. 엔진에 대한 이해가 없거나 부족해도 운전을 잘 할 수 있죠. 하지만, 오해하지 않았으면 하는 것은 언젠가 커널에 대한 이해가 필요한 시점이 옵니다. 제 말씀은 그 때 해도 늦지 않다는 것이죠. 이 점을 간과하고 섣불리 리눅스 커널을 이해하기 위해 책을 구매하고, 강의를 찾아다니는 순간부터 일은 꼬여버리기 십상입니다. 아마 밑빠진 독에 물 붇는 느낌이 올 것입니다. 제가 그랬거든요. 리눅스 커널 책을 여러권(갑자기 저자 다니엘 보베이가 생각나는군요. ㅎㅎ)을 읽었는데, 저에게는 큰 도움이 되지 않았습니다. 하여튼 이 부분을 주의하는 것만으로도 자칫 잃어버릴 뻔하였던 많은 시간을 구제하게 될 것입니다. 마지막으로 인터럽트, 임계구역, 상호배제, 쓰레드, 데드락, 세마포어, 뮤텍스와 같은 용어를 이해하고 계신다면 굳이 RTOS 강좌와 같은 예비 학습은 필요없으실 거에요. 바로 리눅스로 진격하시면 됩니다. ㅎㅎ 그 반대의 경우라면 RTOS 강좌가 적잖이 도움이 되실 거고요. 지금까지 제 경험에 기반한 저의 생각을 말씀드렸고, 판단은 스스로 하셔야 합니다. 부디 다른 경험자들의 의견도 충분히 청취하시고, 좋은 결과 있으시길 바랍니다. 궁금한 점 있으시면 다시 글 남겨주세요. 감사합니다.

  • 이동현 프로필 이동현
    2021-09-21 314340

    안녕하세요. 수강 전, 질문드립니다. 현재까지로는 C만 알고 있는 상태입니다. 1. 혹시 본 강의 내용중, C++의 내용도 포함되나요? 2. 추후, 임베디드 관련 분야로 나갈때 C++가 얼마나 중요한지 궁금합니다. 감사합니다.

    홍영기
    홍영기
    홍영기
    2021-09-21 138875

    이동현님! 임베디드 관련 분야에 대해 궁금한 점을 질문하셨네요. 현대 소프트웨어 개발에서 객체지향적 프로그래밍과 사고(thinking)는 매우 중요한 위치를 점하고 있습니다. C++ 이 대표적인 객체지향 프로그래밍 언어이지요. 임베디드 분야에서도 특정 개발 타겟, 목적에 따라서는 해당 언어가 중요할 수도 있겠습니다만, 기타 대부분의 임베디드 시스템 개발에서는 해당 언어(C++)가 사용되는 비율이 그다지 높지않습니다. C++ 보다는 압도적으로 C 언어가 많이 사용됩니다. FreeRTOS 프로그래밍 강좌는 임베디드 시스템에 포함되는 운영체제를 활용하는 방법에 대한 주제를 다루고 있습니다. 임베디드 시스템을 위한 소프트웨어의 구현은 크게 세가지 방법이 활용됩니다. 첫째,운영체제가 포함되어 있지 않은 소프트웨어의 형태(흔히 펌웨어라고 부릅니다). 둘째,임베디드 리눅스 소프트웨어. 셋째,경량형 운영체제(RTOS) 입니다. 본 강의에서는 C언어와 어셈블리언어를 사용합니다. C++ 은 전혀 사용하지 않습니다. 이 답변이 원하시는 답변이였으면 좋겠습니다:)

187,000원

월 37,400원

5개월 할부 시
폴더에 추가 61 공유
지식공유자 : 홍영기
총 179개 수업˙총 7시간 54분
평생 무제한 수강
수료증 발급 강의
입문 초급 대상 중급이상
수강 전 궁금한 점이 있나요?
문의하기
문의
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의를
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스