본문 바로가기

VEDA 복습

VEDA 24일차 - 임베디드 시스템 이해

반응형

 

PC - board(ARM ( or PPC, Tricore, Risc-V, ...))

ASM - machine language : mnemonic instruction

C based on PC(x86 - 64) : function oriented programming - embedded

C++ -> class oriented programming

Qt -> GUI application programming - embedded ~ higher

 

Embedded system : 특정 기능 수행, HW+SW, 제한적인 자원, 고 신뢰성, 실시간성의 요구

400x 시리즈 : 프로그램 가능한 ROM IC

CPU operaing mode :

USR(user) : 비특권, 하드웨어에 직접 접근 불가, 어플리케이션 단

SVC(Super visor call) : 특권 모드, 하드웨어에 대한 접근 가능, OS 단

 

GPU computing : 어플리케이션의 연산집약적인 부분은 GPU 담당, 나머지는 CPU에서 처리

OS가 있는 경우 : 함수에 대한 것만 작성 -> 드라이버가 하드웨어에 접근하고, 필요한 경우 어플리케이션과 통신

OS가 없는 경우 : 함수에 대한 것, 하드웨어 접근에 대한 것 모두 필요

 

bare-metal

Free-RTOS 스타일

리눅스 같은 OS 스타일

 

 

경성 실시간 시스템 : 시간 제약 위반이 심각한 결과를 초래, 반드시 준수

연성 실시간 시스템 : 시간 제약 위반이 QoS의 저하를 유발, 가급적 준수

 

RTOS : 실시간 시스템을 구현 가능한 운영체제, 우선 순위 기반 스케줄링

VxWokrs, ReeRTOS, etc

 

임베디드 리눅스 운영체제  : 2.4.x ~ 6.x.x, 무료이면서 무료가 아님(자료가 없음), GPL 라이센스, 커널 포팅 작업, 디바이스 드라이버 작업

 

PC vs Embedded Systme

런타임 환경에 대한 이해, 타겟 전용 개발 툴 사용, 어플리케이션 보다 더 자세하게 알아야 한다.

 

A.o + B.o = a.out / a.out(active) = a.out + (stack + heap)

 

MCU를 선정하는 기준 : COTS, 성능, 개발 툴, 가격, 업그레드 고려, 주변 장치 포함 여부 등

 

마이크로프로세서의 버스 요소

Address Bus - 주소 버스

Data Bus - 데이터 전송로

Control Bus - 제어 신호 전송로 

 

uKeil : BSP, DFP, CMSIS 드라이버 설치 - 단 너무 높은 버전의 경우 호환 문제 발생 가능

 

volatile : 휘발성 -> 전원이 꺼지면 초기화

non-volatile : 비휘발성 -> 저원과 상관 없이 데이터 유지, NOR(프로그램 메모리), NAND(자료저장 메모리)

 

MCU, CPU, MPU의 차이는?

항목 CPU ALU MPU MCU

구분 구성 요소 기능 범위 유연성 예시
CPU 연산, 제어 기본적인 연산 유닛 높음 (모듈 단위) Intel i9, ARM Cortex-A
MCU CPU + RAM + ROM + I/O 제어 중심의 간단한 시스템 낮음 STM32, ATmega328
MPU CPU 단독 또는 일부 통합 고성능 연산 시스템 높음 ARM Cortex-A MPU
SoC CPU + GPU + DSP + I/O + 기타 완전한 시스템 단일 칩 낮음 (하지만 최적화됨) Snapdragon, Apple M1

 

Chip select : 해당 핀을 이용하여 어느 소자와 통신할 것인지 결정

메모리맵 : 각 디바이스들이 주소 공간에 할당되어진 상태

Bank + Chip select : 소자 메모리 접근 가능

 

 

PAL : 논리회로를 구성할 수 있도록 설계된 사용자 프로그래밍 가능한 디지털 논리 장치

GAL : PAL의 범용 버전으로 재프로그래밍 가능

PLD : 사용자가 논리 회로를 설계하여 직접 프로그래밍할 수 있는 디지털 논리 소자

 

시간적 지역성, 공간적 지역성 -> Cache 메모리의 존재 이유

Cache : tag, valid를 비교하였을 때 맞다면 Hit, 아니면 Miss - Mapping 방법에 따라서 다름

직접 매핑 방식, 연관 매핑 방식, 세트 연관 매핑 방식

반응형