«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

ITGenerations

2018_05_15 임베디드 수업자료2 본문

Univ/임베디드

2018_05_15 임베디드 수업자료2

ITGenerations 2018. 5. 15. 16:49

EMS개발 =S/W개발+H/W개발

H/W – 마이크로프로세서 지식 필요

S/W – 언어에만 신경쓰면 됌

 

H/W 타겟보드

학교 수업에서 진행하는 것은 S/W에 속함.

 

Ex) 블랙박스/스마트전기밥솥

h/w – o/s가 무조건 있어야됨. 어떤 o/s? -> 리눅스

s/w –

1)     제일 먼저 해야할 일? --> 개발환경 구축

 라즈베리파이 취급 -> 리눅스등등 타겟보드에 탑재 == 개발환경 구축

o/s 구축 완료

2)     응용 소프트웨어 개발 카메라를 예로 들면 촬영 및 저장하는 기능이 담긴 소프트웨어 개발(어플리케이션 소프트웨어 개발이라고도함)

3)     외부 디바이스를 타겟보드에 연결한다.

4)     디바이스 드라이버 사용환경 구축(설치)

수업은 소프트웨어 개발

Ex) 그래픽 카드(gtx1080)를 사와서 구동을 한다고해서 구동이 되는게 아니라, 소프트웨어 인식할 수 있도록 설치 해줘야함. 여기서 소프트웨어를 디바이스 드라이버라고함.

 

Linux Architecture.

디바이스 드라이버 -> 리눅스에서 구동함 -> 타겟보드에 붙음 -> o/s가 리눅스임

 

l  컴퓨터는 윈도우 시스템이므로 윈도우에서 쓰지만, 타겟보드에서는 os가 리눅스이므로

디바이스 드라이버도 리눅스에서 구동된다.

개발하기위해서는 개발대상에 대해서 알아야 된다.

남은 과정 디바이스 드라이버 개발 -> 어디서 구동되는지 알아야 된다.

 

*리눅스에서 구동되는 디아비스 드라이버를 개발한다

-> 리눅스를 알아야 한다. , 이 말은 리눅스 아키텍처라고 한다.

 

 

 

그림1~13과정 참조하면 타겟보드에 o/s 구축가능

1. cross compiler 설치

2. 부트로드 컴파일/설치

3. jflash install

옮기는 방법

4. tftp 실행

XHYPER255> tftp zImage kernel

XHYPER255> flash kernel

XHYPER255> tftp rootfs.img root

XHYPER255> flash root

5. bootp 실행

XHYPER255>bootp

6.

7.

8.

10.

11.

12.

13

 

 

Bootp - hostpc와 타겟보드에 ip/맥주소를 가져오는걸 한다.

è  같은 와이파이 공유하면 가능함.

 

 


 

리눅스 아키텍처

1/왜 공부해야되는가?

2/시스템 과정 이해?

3/디바이스 드라이버 모듈 개발

4/모듈 기반 디바이스 드라이버 개발


 

실행과정

Hello.c ->(compile gcc) -> a.out(executable ELF Type)

Linux architecture

user영역

-       user Application

-       Library

Kernel 영역

-       s/w interrupt (어셈코드로 구성, cpu 동작모드 변경 system call 함수호출)

-       system call

-       virtual file system (linux에서는 모든 제어장치를 파일로 본다)

 


 

* 마이크로 프로세서 그 자체에 대해 다룸.

Arm Core

Processor란 메모리에 저장된 명령어를 실행하는 finit – state automation

è  마이크로프로세서를 의미한다.(cpu)

Process란 현재 실행되고 있는 프로그램

 

Stored program

명령어와 데이터를 같은 메모리 시스템에 저장한다.

필요한 경우 명령어를 데이터로 취급할 수 있도록 한다.

Instruction set(RISC & CISC)

RISC=Reduced Instruction Set Computer

CISC=Complex Instruction Set Computer

각각의 명령어는 전체상태가 변화하는 특정방법을 정의하고, 어떤 명령어가 다음에 실행되어져야 할지를 정의한다.(어셈블리 랭귀지, 명령어 집합)

 

프로세서는 하드웨어이고, 하이레벨 및 어셈블리로도 작성가능.

마이크로 프로세서를 움직이기 위해서는 어셈블리 코드를 작성해줘야 한다.

시스템이 구현되어 있을 때, 하이레벨 랭귀지로 사용가능하다. \

어셈블리 언어로는 명령어 집합 셋을 만들어 줘야되고, 이게 있을 경우 언어 관계 없이 프로그램 작성 가능.

 

우리는 암코어를 리스크 프로세서라고도 부른다(RISC 프로세서)

 

 

 

The State of System

메모리 상에 있는 명령어의 값과 processor내부의 임의의 register에 있는 값 에 의해 정의됨

 

메모리체계 : SDRAM – cache(SRAM) – register

메모리에서 가장 작은 단위 레지스터 그 다음 단위 캐쉬 그다음 단위 sd

 

Instruction set – register transfer level description – logic gate – TR – CMOS or bipolar

Cmos biopolar

logic gate : IC – LSI – VLSI

IC = Integrated Circuit

LSI = Large Scale Integration

VLSI = Very Large Scale Intergration

 

CMOS tech : 소형화/저가/고속화/소전력화

 

 

 

 


'Univ > 임베디드' 카테고리의 다른 글

2018_0524 임베디드 수업자료  (0) 2018.05.24
2018_05_17 수업자료  (0) 2018.05.17
20180515 수업자료  (0) 2018.05.15
0508수업자료  (0) 2018.05.08
임베디드  (0) 2018.05.01