Hafoom.com

공부 배경 공부 및 목표 수립

 

1. Background

임베디드 시스템은 3가지 개발단계로 나눌 수 있음. ( 더 나눌 수 있지만...)

1) 하드웨어 개발 : 회로단

2) 펌웨어 : 쉽게말해 하드웨어를 제어하는 소프트웨어라고 표현들 하지만 그런 수준의 개발이 워낙 세부적으로 많아서 정확히 파악이 안됨. 부트로더와 디바이스 드라이버를 포함하는지도 의문이고. 펌웨어와 디바이스 드라이버 개발을 따로 보기도 하던데...

기본적인 동작. 예를들어 카메라의 기본적인 캡쳐 및 데이터 전송동작정도가 될 듯 싶다.

3) 소프트웨어 : 임베디드소프트웨어도 있고 유저 애플리케이션이라는 표현도 있어 정확히 어느 범주로 묶을지 헷갈린다. 

 

 

2. 보유 키트 

H-SMART4412TKU (FPGA, ATMEGA128, Exynos 4412 - 쿼드코어 1.4기가헬쯔)

STM324F407 discovery board

라즈베리파이 3, 4

아두이노 각 시리즈 및 센서

atmega128 및 연결 센서

 

 

3. 공부방향

1) RISC(ARM)에 대한 아키텍처 이해와 디지털회로(VHDL) 학습

2) 전자회로 지식 - 회로도 기본보는 연습(CAD 따라하는 방법도 좋다고 한다)과 오실로스코프 공부(전자회로 이름 붙은 책을 탐닉)

3) 리눅스에 대한 공부. 나는 Loader, kernel, root image, ramdisk 쪽 동작만 보면 될듯(이부분은 커널공부로 할것)

4) 통신 프로토콜, I/O Model 공부 - 방법을 몰라 일단 보류

5) 마이컴 학습 - 이부분은 심도있게..주 공부 범위로

 

Part 2

6) 리눅스 커널 공부. 전체적인 흐름만 알면 된다고 함(추천책 Uinx kernel 완전분석으로 가는길)

7) 펌웨어 공부 - 부트로더 공부가 핵심이라고 한다. PC와 다르게 임베디드에선 중요한 파트. 

                      보통 부트로더를 자신의 시스템에 맞게 변경하므로, 부트로더를 미리 이해놓는 것이 중요.

   ◦ 프로세서 초기화 루틴

   ◦ 프로세서 동작 환경 설정 루틴

   ◦ 프로세서 동작 환경 검사 루틴

   ◦ 주변 디바이스 초기화 루틴

   ◦ 주변 디바이스 이상 유무 검사 루틴

 

 

 

4. 계획

6월 ~30일 :

[FPGA] VHDL 분주 및 시계 등의 기본 로직 작성(키트기반)

[ARM] PWM 이용, 기본적인 내부 제어 신호(CortexM4)

[펌웨어] 부트로더 쪽 이론 공부

          

 

7월 1일 - 7월 15일 : 

[FPGA] VHDL 기반 mini 프로젝트(하드웨어 제어, 회로 구성 등)

[ARM] 보드간 통신? 실습 생각중

[펌웨어] 리눅스 커널 소스 분석(컴파일 및 포팅경험은 이미 있음)

'ARM+@' 카테고리의 다른 글

[D2] 2019.06.26  (0) 2019.06.26
용어 정리*개념정리  (0) 2019.06.25
[D1] 6.25 background 공부 및 준비  (0) 2019.06.25

Comment +0