ITGenerations
2018_05_15 임베디드 수업자료2 본문
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 |