VicPy | 임베디드 이론 - 임베디드 이해하기
본문
※ 영상을 선명하게 보기 안내
- 유튜브 영상에서 오른쪽하단에 톱니바퀴를 클릭합니다.
- 팝업목록에서 "품질" 선택하세요.
- 원하는 해상도를 선택해주세요.
※ 모바일에서 Wifi가 아니라면 데이타가 소진될 수 있으니 주의바랍니다.
VicPy님의 아두이노강의 청각장애인을 위한 자막
de 5
여러분 안녕하세요 이번시간에는 인 베드 d 에 대해서 알아보겠습니다우리가 지금 아두이노를 이용해서 아주 다양한 작업을 했는데요
이아 디너 를 포함한 이런 다양한 제품들은 실제 우리 주위에 사용되는
아주 많은 전자 제품 속에 들어간 은거하고 매우 유사한 특성을 갖고
있습니다
그래서 이번 시간에는 인베이드 라는 것이 무엇인지를 알아보고 요
우리가 지금 공부하고 있는 아두이노 같은 이런 오픈 소스 하드웨어도
사실은 아주 작은 형태의 컴퓨터 줘
그래서 컴퓨터가 어떤 슈 작동하는 지에 대한 원리를 알아보겠습니다
그 이런 컴퓨터의 실제 어떤 기능을 부여하고 프로그램을 작성하는 작업에
사용되는 걸 소프트웨어라고 하는데요
앞으로 이제 우리가 수업을 계속 해 나가면서 자주 접하게 되는 소프트웨어
용어에 대해서 알아보도록 하겠습니다
어우 선이 이제 인베이드 란 무엇인가 라고 하는 제목이 있는데 지금
우리가 아두이노를 갖고 여러 가지를 했었죠
뭐 조도 센서를 썼고 피해 줘 부조를 써가지고 소리도 내 받고 여러
가지가 있는데 이런 다양한 작업을 하는 전자기기를 통칭해서 인 배들이
라고 부릅니다
인 빛 이란 무엇인가에 대해서 이제 본격적으로 마라 보 줘 인 베리드 는
일반적으로 아주 작은 형태의 전자회로를 갖고 있는
어 컴퓨터 줘 그래서 이런 인 베리 들은 다양한 사물에 내장이 되어
있습니다
그럼 어떤 사물의 숨겨져 있다고 해서 우리가 보통 인 배 dd 라고
부르죠 인 배들을 뜻이 이제 내장된 이란 뜻이죠
그래서 이런 임베디드 장비들이 여러개가 있는데 우리 주위에서 인 배 질
장비는 정말 흠 악의 찾아 볼 수가 있습니다
가장 대표적인 배들이 장비를 몇 가지 한번 생각해볼까요
전자 회로가 보이진 않지만 전자적인 장씩 장치에 의해서 작동하는 걷듯
우리 끼를 갖다 보면 길에 횡단보도의 신호등이 있죠
신호등 b 없이 안에 전자 회로가 내장되어 있어서 우리가 이제 길을
건너는 것을 도와주죠
임베디드 시스템 이 들어 있는 거죠
우리가 지하철을 타거나 버스를 탈 때 이렇게 어떤 결제하는 수단이
있잖아요
카드 갖고 이렇게 지금은 삑 하고 수련하면서 어떤 승인 작업이 일어나는
그런 걷기 없이 작은 형태의 인 배드 되는 장비가 내장되어 있습니다
이런식으로 우리 주위에는 아주 흔하게
다양한 전자 장비가 있고 그것들을 이용해서 우리 생활에서 사용하고 있죠
그 이러한 꽃 눈에 잘 보이지는 않지만 전자 회로가 들어 있는 다양한
것들이 사이에 사용되고 있습니다
집에서도 잘 보면 은 집에 있는 냉장고 냉장고 안에도 아주 작은 컴퓨터
가 들어있구요
이 컴퓨터가 냉장고 안의 온도를 일정하게 유지시켜 주는 작업을 해 주죠
그 다음에 집에 있는 선풍기 라든지 에어컨 같은 이런 장비들도 역시 그
안에 전자 회로가 들어 있어서 다양한 형태
그런 서비스를 사람들한테 제공해주고 있습니다
이런 임베디드 장치 중에 가장 대표적인 것들이 요즘에 사람들이 갖고
다니는 그 스마트폰이 줘
스마트폰은 아주 작은 초소형 고성능 컴퓨터가 내장이 되어 있고 이것을
이용해서 우리는 정말 다양한 활용을 하고 있습니다
그래서 이런 장비를 임대해 되더라 고 하는데 사실 임베디드 가 가장 많이
들어가 있는 우리 주위에서 가장 흔하게 보시는 제품은 자동차 입니다
자동차는 안에 수백개 수천개 그 전자 회로가 내장되어 있죠
일반적으로 어 시동을 풀 때 부터 시작이 됩니다
뭐 문을 열 때부터 시작이 되는 경우도 있구요 아내의 더 엔진의 그 전자
회로가 내장되어 있어서
에너지를 절감시켜 주는 그런 기능을 제공하고 요
그 다음에 자동차 안에는 수많은 기전 저 들어 올 들어 있죠
음악을 재생해 주는 그런 장치들 블루투스 관련된 장치들 먼 앱이 기존
그래서 이런 것들이 전부다 임베디드 가 사용되는 영역입니다
그 임베디드 라고 하는 것은 우리 주위의 아주 흔하게 보이는 하지만 눈에
보이지 않는 그런 전자 회로를 내장한 초소형 컴퓨터 라고 정의를 할 수
있습니다
인계 주는 그럼 어떻게 개발을 할까요 사실 우리는 지금까지
임베디드 를 계속 개발해 왔습니다 임베디드 개발 아두이노 에다가 센서가
꼬꼬의 주에도 꽂고 어떤 프로그램 작성 에서 실행하는 것
지금 이게 이제 전부 다 임대 지들 개발 했던 거죠
이런 배지를 개발하는 방식이 있는데요
임베디드 시스템은 일반적으로 컴 타고 다르게 그 입력과 출력 장치가
없습니다
쉽게 말하면 컴퓨터처럼 키보드나 마우스 그 다음에 컴퓨터처럼 모니터 같은
것들이 붙어 있지 않죠 그래서 민 배드 시스템에서 작동 안 어떤
프로그램을 작성하기 위해서는 반드시 컴퓨터에서 먼저 작업을 해줘야 됩니다
그래서 이제 우리는 지금 우리 아두이노 개발했던 거라면 생각해보죠
아두이노 개발했던 것을 잘 보면 아 디너를 usb 형태로 컴퓨터에 연결을
했구요
이 연결된 컴퓨터에서 우리가 아들이는 프로그램을 작성해 쬲 그리고
아두이노 해서 그 스케치 라는 툴을 이용해서 프로그램을 컴파일하고
컴파일된 결과를 임베디드 아두이노 보드에 다가 실행할 수 있게
그 업로딩 했었죠
그래서 지금 우리가 계속 개발해 왔던 방식의 사실을 인 배들을 개발
방식의
표준적인 모용 입니다 여기서 이제 중요한 용어가 나오는데 크로스 컴파일한
용어가 나오죠
크로스 라고 하는 것은 그 컴퓨터 시스템 하고 인 배들의 시스템은
완벽하게 호환이 되지 않습니다
그 중간에 호환이 될 수 있도록 번역을 해 줘야 되는데 이 번역해 주는
게 바로 크로스 컴파일 이하는 역한 워커 립니다
크로스 는 이게 일반적으로 교차점이 라는 소리죠
이게 십자 교차점 만나는 지점에서
양쪽이 처리할 수 있도록 번역해 주는 것들 이것들이 이제 인비 두고요
아두이노 에서 우리가 이 크로스 컴파일 어떻게 썼는지 한번 생각해보죠
우리가 사용하는 컴퓨터는 일반적으로 그 윈도우 컴퓨터 같은 경우에는
인텔에서 제작한 x86 이라는 cpu 와 깃 이어 를 이용해서 어떤
작업을 하게 되어 있습니다
작업한 결과물을 프로그램을 작성을 하면 은 그 인텔 cpu 를 작성할 수
있는 기회가 생성이 되죠
근데 이 기계어 는 사실은 아두이노 나 이런 따른 인텔에서 만든 cpu
가 아닌 따른 제품 에서는 실행이 되지 않습니다
그래서 이 사이에 실행될 수 있도록 매핑 해주는 작업이 필요합니다
아주 쉬운 예로 와 생각하며 는 우리 영어 그 외국사람 만났을 때 하고
똑같은 일이 필요한 거죠
일반적으로 한국사람은 한국어 를 사용하죠
그런데 만약에 외국 사람을 만나면 어떻게 해야되나요
근데 여기서 미국 사람을 만나면 어허 한국사람 하고 믹스 란 말을 중간에
통역해 줘야 되겠죠
이런 통역해 주는 게 바로 크로스 컴파일 이라고 생각하시면 됩니다
그래서 이제 그러한 내용들이 있구요 그래서 이제 우리 임베디드 개발
환경에서 이미 그 많이 개발 햇죠 컴퓨터가 usb 를 통해서 아두이노
연결이 됐구요
두이노 의 스케치 프로그램 통합 개발 환경인 스케치 프로그램에서
아두이노 에서 실행될 수 있도록 크로스 컴파일 로 실행을 했습니다
자 이제 컴퓨터의 작동 원리에 대해서 알아보겠습니다
우리가 이제 우리 주위에서 아주 흔하게 컴퓨터를 쓰는데 이 컴 퍼 가
실제로 어떻게 작동하는지를 아는 사람은 그렇게 많지 않더라구요 그래서
아주 간단한 기본적인 컨셉을 한번 이번 시간에 알아보도록 하겠습니다
우리가 컴퓨터 프로그램을 작성할 때 그 지금 아 부인은 서울이 계속 작성
했었죠 보이드 3 업하고 뭐 타이핑 해서 어떤 코드를 작성하고 그 다음에
컴파일하는 결국 과정을 거쳤습니다
이 컴파일이 라고 하는 것은 뭐냐면 사람이 알아듣는 문자를 사람이 인식한
어떤 명령어를
기계가 알아들을 수 있도록 바꿔주는 겁니다 그런데 이 기계 라고 하는게
이제 전자회로 줘
전자 회로는 사람처럼 똑똑하지 가 않아서 딱 두가지만 인식할 수 있습니다
바로 영화 9일 만 인식할 수 있는 거죠 그 사실 우리가 작성한 이
문제로 작성된 소스 코드를 컴파일하면 은
0과 1의 배열로 만들어진 기계어 코드가 생성이 되는 거죠
이 기계어 코드를 cpu 가 해석해서
작업을 진행하는 것 그게 이제 컴퓨터의 기본 원리입니다
그래서 0 1 0 1 뭐 이런 식의 기기와 패턴이 있으면 이 지정된
패턴을
컴퓨터가 cpu 가 해석을 해서 그 명령에 맞춰 서 어떤 작업을 하는
거죠 예를 들어서 우리가 그 led 를 키라는 어떤 명령을 작성 해
줬다면 cpu 안에서는 그 명령어 자체가 0 1 0 열의 어떤 조합으로
만들어 줬을 거고 조합을 해석해서 cpu 가 인식을 하고 그 다음에
led 를 실제 물리적 을 제어하는 거죠 그래서 이게 이제 컴퓨터 기본
원리입니다
그래서 이렇게 컴퓨터를 쓸 때는 컴퓨터 프로그램 개발 할 때는 항상
소프트웨어 라는 용어 하고 하드웨어 란 용어와 같이 나옵니다
얘는 자방 없는 설명한 것을 다시 한번 정리를 해보면 사람이 인식할 수
있는 소스 코드를 만들 줘
그래서 우리가 이런 소스 코드를 작성했습니다 그 다음에 이 코드를 컴파일
이라고 하는 그 툴을 이용해서 기지 어코드 로 변환을 하죠
기계어 코드로 변환 하면 코드가 0 1 0 1 어떤 조합 형태로
만들어지게 됩니다
여기까지가 이제 소프트웨어 영역이 줘 기기와 생성하는데 까지가
이디어 라고 불리는 이유는 이 기계가 기 기어가 실제 하드웨어가
읽어들여서 어떤 작업을 처리하는 언어이기 때문에 기어 라고 하죠
기계어 는 하드웨어의 그 종류에 따라서 전부 다 다릅니다
기괴한 하드웨어 종류에 따라 다르죠 예를 들어 인텔 cpu 또는
암에서 만든 cpu 이런 해석하는 비축 자체가 다르기 때문에
컴파일러는 하당 그 하드웨어 종류의 맞춰서 기어 를 생성하게 되어
있습니다
실제 하드웨어는 물리적인 현상을 이용한 거죠
일반적으로 우리가 사용하는 컴퓨터 cpu 안에는 이 실리콘이나 라든지
개리 마린 같은 이런 반도체가 들어 있죠
그 반도체가 전기를 뭐 0 1로 인간아
그 또는 끊어주는 작업을 하면 그 안에서 어떤 물리적인 현상 이 일어나는
걸 바탕으로 컴프 회로를 만들었습니다
그래서 기 기어가 인가가 되면 기계어 를 인식하면 컴퓨터에서
하드웨어가 물리적인 현상을 통해서 전기 전자 또는 자기장의 관련된 다양한
물리적인 현상을 통해서 실제 어떤 결과물을 실행을 시키는 거죠
실제 결과물은 아들이 너 같은 경우에는 센 스 윙 하는 작업과 액츄에이터
작업들을 가지고 결과 뭐 어떻게 외부의 표출하는 거였죠
그래서 이런 물리 현상과 그 다음에 여기에 연결된 다양한 전자 부품들이
연결되서 작동하는 영역을 바하 디워 라고 합니다
그런 소프트웨어 하고 하드웨어 란 용어에 대해서 여러분들이 조민제 개념을
파악을 하셨을 낄 하셨을 거에요
소프트웨어는 사람이 이식하는 것을 기관 시카는 0 1 0 1 로 바꿔주는
그런 작업 하드웨어는 전자기 현상을 이용해서 어떤 작업을 하는것
이거를 실제 한번 비교를 해보죠 컴터 하고 임베디드 라고 하는 개념이
있는데 지금 컴퓨터 원리는 사실 임베디드 원리 하고 동일합니다
임베디드 임베디드 아주 작은 소형 컴퓨터 메인 배드 라고 불리기 때문에
사실 지금 말씀드린 소스 코드를 작성해서 컴파일을 하고 기계어 를
만들어서 어떤 제어를 하는 작업은 동일 하죠
하지만 컴퓨터하고 임베디드 는 다릅니다
어떻게 다르냐 하면 컴프 하고 임베디드 는 입력 방식이 다르죠
그래서 컴퓨터는 입력 방식이 키보드 마우스 처럼 아주 명확합니다
그리고 이런 입력 장치는 대부분 사람의 어떤 행위를 통해 징역을 받게
되죠
하지만 인 베리드 제품은 이 입력 자체를 사람이 하는게 아니라 이런
센서가 튼 어떤 특정 디바이스 를 이용해서 입력을 하게 됩니다
그래서 센서가 튼 경우에 조도 센스 같은 경우에 빛의 세계를 그 조도
센서가 인식해서 좋앙 값을 가지고 왔던 그 숫자는 수치를 생성해 내죠
그래서 입력 방식이 다른 거죠 그래서 컴퓨터에 일반적으로
입력하는 주체가 명확하지 5 사람이 입력하는 거고
임베디드 제품은 입력 주체가 아주 다양합니다
처리하는 방식도 다른데요 일반적 우리가 쓰는 컴퓨터는 상당의 고성능의
cpu 를 탑재하고 있습니다
우리가 쓰면 일반적으로 쓰는 윈도우 운영체제 한번 생각해보죠 윈도우
운영체계를 보면은 32bit os 64bit os 라고 하는 용어가
있는데
어 32비트 단위로 한 번에 데이터를 처리할 때 32비트 단위로 처리하는
것 32 빛 운영 책의 대표적인 5일 스가 이제 윈도우 xp 같은
것들이죠
그 다음에 윈도우 세븐 이나 윈도우의 이 같은 경우에는
어 기본적으로 이제 64bit 를 사용해서 처리가 됩니다 그래 cpu 가
한 번에 데이터를 처리할 때 64bit 로 데이터를 읽고 쓰기 하죠
그래서 아주 고성능의 성능을 갖춘 그런 cp 를 사용하는데 관해서
임베디드 는 이 작동하는 그 타입에 따라서 아주 다양한 형태의 제품들이
있습니다
예를 들어서 아주 간단한 전자 배로 뭐 문을 열고 닫는 전자 회로가 있다
그거는 기능이 정말 단순 하지요
그런데 그런 전제 회로 만들 때 가장 중요한 건 뭘까요
안정성과 가격이 겠죠 그래서 부가 아주 복잡한 연산 속도 빠른거 그런거
필요없고
아주 기본적인 걸 아주 빠르게 할 수 있으면 싸게 만들수 있으면 좋은
거죠
인 베리 되는 사용하는 영역주 다양하기 때문에 사용되는 cpu
종류도 아주 다양합니다
그 다음에 이제 제어하는 부분을 한번 살펴보면 은 일반적으로 컴퓨터 년
수많은 의 용 프로그램을 통해서 아주 다양한 용도로 활용할 수가 있습니다
웹브라우저를 이용해서 쇼핑몰 쇼핑몰의 들어갈 수도 있고요 그 다음에 그
오피스 프로그램을 이용해서 파워포인트나 워드 같은 어떤 문서를 만들어 낼
수도 있습니다
그 다음에 우리 게임을 설치해서 게임을 즐길 수도 있죠
이 컴퓨터는 아주 다양한 형태의 응용 프로그램을 가지고 제어할 수 있지만
일반적인 인 bdc 디바이스는 제어하는 방식주 특정 항목을 제외한
되겠죠
우리 아두이노 앞에서 공부했던 것들을 보면 은 센스 하고 엑츄에이터 를
아주 단순한 형태로 제어하는 그런 형태로 되어 있었죠
그 다음에 출력하는 방향도 다릅니다 일반적으로
컴퓨터는 출력 방향이 대형모니터 져 그 모니터 안에 어떤 결과물을
뿌려주고 그 다음에 스피커나 이런 걸 통해서 어떤 소리를 내주고 그래서
이렇게 정형화된 출력 장치를 갖고 있지만
임베디드 디바이스 에서는 출력 장치가 아주 다양합니다
출력 장치가 led 가 될 수도 있고요 모터나 스피커 부조 이런 것들로
아주 다양하죠
이런 다양한 액츄에이터 를 이용해서 원하는 결과물을 만들어 내는 것들이
바로 인 빌드의 특징입니다
우리 지금 사용하고 있는 컴퓨터는 사실 아주 빠른 발전을 하고 있습니다
있고 우리가 지금 쓰는 컴퓨터는
1940 년대 중반에 이제 개발이 시작 했는데요 지금 여기 보시는 게
바로 최초의 컴퓨터 어떤 애니 약 이었죠
얜 이 약은 염과 일에 대한 신호를 만들기 위해서 그 교황은 분들이 그
안에서 전선을 일일이 꽂았다 패턴을 했죠 그리고 사이즈가 엄청나게 코 쪼
하지만 성능은 우주 우리가 쓰는 컴퓨터 하고 비교가 안될정도로 나빴습니다
이 최초의 만들어진 컴퓨터는 어 그 포탄의
그 전쟁에서 사용하는 대포 포탄의 그 방위각 같은거 계산할 때 사용됐다고
합니다
이런 컴퓨터가 일반인들이 이제 접하는 타이밍이 바로 애플 툭 애플 컴퓨터
처럼 애플이나 마이크로소프트가 이제 1970 년대 후반 80년대 초반에
이렇게 성장을 하게 되는데요
이때부터 이제 일반인들이 컴퓨터에 대한 관심을 갖게 됩니다
이런 컴퓨터는 1990년대를 지나면서 급속도로 일반인들이 사용 하게
되고요
현재 이 컴퓨터는 2000년대 들어서 손안의 컴퓨터 로 불리는
스마트폰으로 진화한 단계가
지난 단계를 거치고 있습니다 그래서 이 사실 컴퓨터는 뭐 역사 같이
100년이 안되는 데 우리 생활의 일생 생활에 아주 유용하게 사용이 되고
있습니다
어 이번에는 우리가 앞으로 이제 계속 공부할 이 수업에서 겟
이 수업에서 계속 공부하는데 이제 나오는 중요한 소프트웨어 용어들이
있는데요 이런 용어들에 대해서 한번 알아보도록 하겠습니다
오픈 소스 소프트웨어 라는 용어와 오픈 소스 하드웨어 란 용어가 계속
나오고 있죠
오픈 소스 소프트웨어는 어떤 것들이 있냐면
일반 졸속 튀어 는 초창기에 소스코드를 공개하지 않고 실제 결과 문만
이게 판매를 했죠
예전에는 소프트웨어 개발을 하는 특정 업체에서
자신들이 만든 코드를 공개하지 않고 결과물을 돈을 받고 팔았습니다
대표적인 회사가 이제 마이크로소프트 같은 회사죠
마이크로소프트에서 는 운영 체계 라고 하는 걸 만들어서 돈을 받고 팔아
쪄요
하지만 이제 그 그 자체 프로그램 자체가 그 돈을 창출하는 그런 중요한
수단이 없기 때문에 소스코드를 공개하지 않고 독점으로 만들었는데 이게
어느 순간부터 80년대 후반에 들어서면서
어떤 일이 있었냐 하면 이런 소프트웨어를 특정 회사가 독점을 하다보니까
발전 속도가 너무 낮다
그리고 가격이 너무 비싸다 일반인들에게 공개를 잘 안한다. 건
이슈가 생기면서 오픈 소스 운동이 벌어지게 됩니다
내용이 뭐냐면 소스코드를 공개해서 누구나 고칠 수 있게 하자
그리고 누구나 이 소스를 이용해서 버 재밌고 더 유용한 것들을 만들어내는
걸 만들어 보자 라고 해서 오픈 소스 소프트웨어 재단이 출범하게 됩니다
2 오픈 소스 그 관련되서 가장 유명한게 바로 gnu 라고 하는 게
있는데요
이지혜 뉴 재단해서 다양한 이렇게 오픈 소스를 이렇게 키웠고 요 그럼
오픈 소스 중에 유명한 게 바로 리눅스 라고 하는 운영체계 줘
그래서 이 눅 쑨원 2 여기 보시는 이 평균이 마크 줘
그 다음에 이제 뭐 웹브라우저의 관련 된거 에 대한 풀 수도 있습니다
그 웹브라우저의 관련 되고픈 쓸수는 모질 난데 모질라 란 재단에서
파이어폭스 파이어폭스 라고 하는게
여우 져 여우를 관련해서 상징물로 내세워서
웹브라우저를 만들기 시작했습니다 이런 시골에서
우리가 사용하는 유료 프로그램 물었을 수 있는 상용 프로그램 중 하고
댓글 0개
등록된 댓글이 없습니다.