본문 바로가기
Embedded SW/Embedded SW Introduction

00. 임베디드 SW란 무엇인가?

by 방구석 임베디드 2020. 3. 15.
반응형

임베디드 소프트웨어(Embedded Software)의 '임베디드'라는 용어를 어학사전에서 찾아보면 아래와 같습니다.

 

여러 뜻이 있지만, '내장형' 이라는 단어가 눈에 띄이네요.

임베디드 어학사전

결국 내장되어 있는 소프트웨어라는 뜻이겠네요.

 

기계에 내장되어 있는 소프트웨어라고 생각한다면 이해하시기가 편하실 것입니다.

 

이러한 Embedded Software는 TV/냉장고/전자시계/로봇청소기/세탁기/자동차 등등 우리주위에서 많이 사용합니다.

 

예를 들어 냉장고의 경우에는 아래와 같은 Control Board가 들어가 있습니다.

 

이 Control Board를 통해서 냉장고는 온도를 일정한 기온으로 유지하여,

 

음식물이 상하지 않도록 제어하는 역할을 수행할수 있습니다. 냉장고의 뇌 역할을 한다고 할수 있지요.

ECU (Electric Control Unit)

 

이러한 Control Board안에 들어가는 Software를 Embedded Software라고 합니다.

 

Embedded Software는 우리들의 삶에 밀착하게 붙어 있습니다.

 

나중에 4차 선업의 핵심 아이템인 '로봇'도 Embedded Software를 기초로 하고 있습니다.

 

자율주행 자동차안의 임베디드 SW

 

자율주행 자동차도 마찬가지 입니다.

 

센서를 통하여 앞차간의 거리를 계산하고, 가까워지면

 

Brake를 동작시켜 일정한 거리를 유지하게 만드는 것 역시

 

자동차안에 들어있는 Control Board가 있기에 가능한 일입니다.

 

세탁기도 일정 시간이 되면 탈수를 시켜 빨래의 물을 짜주는 것도

 

세탁기 안에 Control Board가 있기에 가능한 일입니다.

 

그렇습니다.

결국 Embedded Software라는 것은 우리 주변의 사물이 자체적으로 무언가를 제어(Control)하기위하여

개발하는 Software라는 것을 알 수 있습니다.

 

여기서 하나만 주목하고 갈 필요가 있습니다.

 

이 Control Board에 아래 빨강색으로 동그라미를친 검은색깔의 물체를 주목해 주세요.

 

이것은 무엇일까요?

이것은 MCU(Micro Control Unit)이라고 불리는 컴퓨터 입니다.

 

지금 이 포스팅 글을 보기위해 컴퓨터나 스마트폰을 사용하고 계실텐데, 동일한 컴퓨터라고 생각하시면 됩니다.

 

결국 소프트웨어 개발자는 소프트웨어를 개발해서 저 검은색박스 안에 소프트웨어를 집어넣습니다.

 

그리고 그 소프트웨어가 동작하여 냉장고 온도도 맞추고, 세탁기도 돌리고,

 

자율주행 자동차의 동작도 가능하게 해줍니다.

 

우리는 MCU에 대해서 조금더 자세히 알 필요성이 있습니다.

MCU 안에도 CPU가 내장되어 있습니다.

그렇다면 MCU와 우리가 사용하는 PC(Personal Computer)는 무슨 차이가 있는 걸까요?

이것을 아는 것이 임베디드 SW를 알아가는 첫걸음이라고 생각합니다.

MCU VS PC(Personal Computer)에 대한 내용은 아래 URL을 참고해 주세요.

https://embeddedchallenge.tistory.com/7

 

01. MCU (Micro Control Unit)란 무엇인가?

임베디드 소프트웨어를 개발한다는 의미는, 세탁기/냉장고안에 있는 Control Board MCU의 소프트웨어를 개발한다는 의미입니다. MCU를 이해하기 위해서는 일반적으로 우리가 사용하는 PC와 비교를 해

embeddedchallenge.tistory.com

 

 

마지막으로 저는 앞으로 임베디드 SW 개발에 관련된 포스팅 글을 계속 올리려고 합니다.

현재 자동차에 들어가는 MCU를 이용하여 위와 같은 모형 자동차를 만드는 과정을 수행해 보려고합니다.

그중 인피니언사의 MCU, NXP사의 MCU를 이용해서 개발을 하려고 합니다.

 

1. 인피니언 MCU 개발 포스팅 글

1) 임베디드 SW, MCU에 대한 정리 (feat. 임베디드 SW 비전)

https://embeddedchallenge.tistory.com/210

2) MCU 개발 장비 구매 방법 정리 (인피니언 MCU TC275 Lite)

https://embeddedchallenge.tistory.com/211

3) 임베디드 SW 개발 환경 세팅 방법 정리 (소스코드 편집기, 컴파일러, 디버거 환경 설정 방법)

https://embeddedchallenge.tistory.com/212

4) 인피니언 IDE Tool 사용방법 정리 (프로젝트 생성 및 다운로드 수행)

https://embeddedchallenge.tistory.com/219

5) 인피니언 MCU LED Blinking (TC275 GPIO 설정)

https://embeddedchallenge.tistory.com/225

6) 인피니언 MCU Clock, 오실레이터 에 대한 이해 (TC275 보드에서 확인)

https://embeddedchallenge.tistory.com/226

7) 인피니언 MCU PLL 설정 및 주변기기 Clock 설정 (TC275)

https://embeddedchallenge.tistory.com/227

8) 인피니언 MCU 인터럽트/Interrupt 설정 (TC275 동작 확인)

https://embeddedchallenge.tistory.com/228

9) 스케줄링(scheduling)에 대한 정리, 인피니언 MCU Scheduler 설계 정리

https://embeddedchallenge.tistory.com/229

10) PWM이란 무엇인가? 인피니언 MCU를 이용한 PWM 설계 수행

https://embeddedchallenge.tistory.com/232

11) Motor Driver L298N 사용법 정리 (인피니언 MCU 개발)

https://embeddedchallenge.tistory.com/235

12) DC모터 드라이버 설계, RC카 전진,후진,회전 설계 (인피니언 MCU PWM, GPIO 설정)

https://embeddedchallenge.tistory.com/236

13) UART 통신 정리, UART 통신 MCU 설계 (인피니언 MCU)

https://embeddedchallenge.tistory.com/237

14) Teraterm 시리얼 통신 터미널 프로그램 사용법, 다운로드 방법 (feat 허큘리스)

https://embeddedchallenge.tistory.com/238

15) Logic analyzer 사용법 (saleae 로직 분석기 사용법 정리)

https://embeddedchallenge.tistory.com/239

16) UART 통신 MCU Driver 초기화 설계 및 동작 확인 (Tx, Rx Interrupt)

https://embeddedchallenge.tistory.com/240

 

2. NXP MCU 개발 포스팅 글

옆에 메뉴에서 찾아보실수 있습니다.

NXP 보다는 인피니언 MCU에 대한 글을 먼저 쭉 쓰려고 합니다.

(NXP MCU 글은 중간에 멈추었음 ^^;;)

 

아래는 제가 예전에 개발한 임베디드 SW를 탑재한 장난감 자동차 입니다.

위의 MCU에 소프트웨어를 집어넣어서, 무선으로 조종하는 자동차도 아래와 같이 만들수 있습니다.

https://tv.kakao.com/v/407820023

앞으로 하나하나 같이 배워나가면 좋을것 같습니다 ^^

반응형

댓글