728x90
1. 강의 수강을 위한 기본 조건
- 기본적인 C언어 구현 가능
- Linked List 구현 가능 정도
- 개발 보드가 있어야 함
- 처음엔 보드 없이 2주 정도 이론 강의 진행
2. 강의 진행 계획
2.1. 초기 강의 계획
- STM, Atmel, Chip 선정 방식, ARM 시장은 어떤지 등등 소개
- 실제 제품 개발 진행 과정
- 추후 진행 계획
2.2. 이후 강의 계획
1) GPIO를 다룰 예정
- STM은 HAL Drive를 씀
- HAL(Hardware Abstraction Layer) : 컴퓨터의 하드웨어와 소프트웨어 사이의 추상화 계층
- HAL은 하드웨어의 차이를 숨겨서 응용 프로그램이 작동할 수 있는 일관된 플랫폼을 제공한다
- 이 HAL Drive를 통해 GPIO를 간단하게 다룬 후, HAL Drive 없이 GPIO 제어
- Embedded 개발 시 HAL Drive가 없는 환경도 있다
- 그 환경에서는 어떻게 GPIO를 제어하는지 강의
- Input , Output, Interrupt 등의 개념
2) I²C, SPI, DMA(Direct Memory Access)
- I²C 자체에 대해 설명 (파형 등)
- I²C(Inter-Integrated Circuit) : 필립스에서 개발한 Serial(직렬) Bus
마더보드, 임베디드 시스템, 휴대전화 등에 저속의 주변 기기 연결을 위해 사용함 - SPI(Serial Peripheral Interface) : I2C, CAN, UART와 같은 Serial 통신 방식 중 한가지로
MCU, Shift Register, SD 카드 등의 소형 주변 장치 사이에 Data 를 전송 하기 위한 기능 - 이후 HAL Drive를 통해 실제 구현 + Option 조정
- 이후 실제 기기와 통신(온도 센서 모듈 등의 모듈 하나를 선정)
- 이후 순수 GPIO로 High / Low를 직접 조절해 I²C 구현
- 직접 구현해보면 개념이 명확해짐
- 또한 Linux Driver를 구현할 때 위의 경험이 활용될 수 있음
3) DMA(Direct Memory Access)
- 특정 하드웨어 하위 시스템이 CPU와 독립적으로 메인 시스템 메모리에 접근할 수 있게 해주는 컴퓨터 시스템의 기능
4) 내부 Flash Memory
- Flash Memory : EEPROM의 일종으로, 기존의 EERPOM과 달리 여러 구역으로 구성된 Block 내에서 읽기/쓰기 가능
- EEPROM(Electrically Erasable Programmable Read-Only Memory) : 전기적으로 Data를 읽고 쓸 수 있는 비휘발성 Memory
- 읽기 속도가 빠르며 HDD보다 충격에 강함 : 배터리 사용 제품에 많이 사용
- 단 정전기에 약함
5) Timer를 통해 간이 Thread 구현
- Thread : 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위를 말한다.
3. 그 외
- 오실로스코프 사용을 해봐야 함
- 임베디드 개발자라면 오실로스코프 사용을 해야 하는 경우가 반드시 생김
- Aliexpress의 오실로스코프 제품 하나를 도매해볼 계획
- https://ko.aliexpress.com/item/1005006806840435.html?spm=a2g0o.productlist.main.5.e99c7e1cZLmxI6&algo_pvid=eb5bd396-4c94-4ea9-a77f-dedfdde0e226&algo_exp_id=eb5bd396-4c94-4ea9-a77f-dedfdde0e226-2&pdp_npi=4%40dis%21KRW%21382002%21191000%21%21%211960.97%21980.48%21%4021410f5a17225076933753059eaf64%2112000038369774600%21sea%21KR%210%21ABX&curPageLogUid=vruwGtSVpgQr&utparam-url=scene%3Asearch%7Cquery_from%3A
- 강의에 필요한 재료 판매는 네이버 스토어를 만들어 판매할 계획 : 16500원. 수강료 포함 20000원
- 통신 판매업 등록 후 진행 예정
- 보드 내부의 Flash 메모리에 올려서 동작시키는 위주
- 강의는 초보자용 (아예 모르는 사람들을 대상으로)
- 임베디드 기업에선 메모리 부분을 많이 물어봄 (컴퓨터 구조, C/C++관련 프로그래밍, 운영체제에서 필기시험 나옴)
- IDE는 CUBE IDE 사용
4. 보드 사용 방법
- 보드는 동작을 위한 필요 최소 전류가 있음
- 전원을 공급받는 방법에는 ST Link, USB, Pin을 통한 공급 총 3가지 방법이 있음
- 모두 3.3V (보드 동작 전압)
- 보통은 ST Link만을 통해 전원 공급 : ST Link에 USB Hub를 통한 별도 전원이 있음
- ST Link를 사용하지 않을 경우 전류가 부족해 보드가 온전히 동작하지 못함 : USB나 Pin을 통한 전원 공급으로 해결 가
- USB를 통한 전원 공급 시 정상 동작 (5V -> 3.3V로 보드에서 변환)
- Pin의 경우 3.3V 강하 부품이 없어 5V 인가 시 보드가 탈 수 있다
이 강의의 모든 저작권은 유튜버 '[오제이 튜브]OJ Tube' 님께 있습니다
https://www.youtube.com/watch?v=qiEqkPlMgt0&list=PLz--ENLG_8TNjRg1OtyFBvUyV4PHaKwmu
'Study_Embedded > [오제이 튜브의 임베디드 실전 강의]' 카테고리의 다른 글
[오제이 튜브의 임베디드 실전 강의] 5강 혼자서 임베디드 고수 되는 법 (0) | 2022.01.24 |
---|---|
[오제이 튜브의 임베디드 실전 강의] 3-1강 개발 환경 구축하기, 4강 Hello!! GPIO!! (2) | 2022.01.08 |
[오제이 튜브의 임베디드 실전 강의] 3강 전기 기본 상식 - 모르면 보드 태워먹는다 (0) | 2021.12.02 |
[오제이 튜브의 임베디드 실전 강의] 2강 실무자는 어떻게 칩을 고르나요? (0) | 2021.11.28 |
[오제이 튜브의 임베디드 실전 강의] 1강 임베디드가 뭔가요? (0) | 2021.11.28 |