컴퓨터/Embedded
Embedded(임베디드) System이란?
mikasaAck
2023. 1. 21. 21:41
728x90
Intro
임베디드 시스템은 무엇이고, 다른 시스템과의 차이점을 이해하고자 한다.
임베디드 시스템이란?
cambridge 영영사전으로 검색하면, 어떤 무언가 안에 존재하는 것을 의미한다.
existing or firmly attached within something or under a surface
그렇다면, 컴퓨터에서 말하는 임베디드 시스템이란 무엇일까?
일반적으로 범용 컴퓨터는 General 목적 시스템이다.
그러나, 임베디드 시스템은 Special 목적의 내장 시스템이다.
예를 들어, 전자레인지, 밥솥과 같은 전자기기에 내장된 시스템이 해당한다.
(비용 문제만 아니면, Special 목적의 시스템이 별도로 필요하지 않을 수 있지만...)
다른 시스템과 다른 점은?
SW 개발환경(Host System)과 실행환경(Target System)이 다르다.
이는 각 시스템의 프로세서가 다르다는 것을 의미한다.
Host System은 Intel x86 프로세서, Target System은 ARM 프로세서일 수 있다.
왜 다를까? 이는 시스템 목적에 따라, 그에 맞는 프로세서를 선택하기 때문이다.
(범용 컴퓨터와 모바일 기기에서 사용하는 프로세서가 다른 것을 보면...)
A 프로세서에서 생성한 바이너리를 B 프로세서에서 실행할 수 있을까?
할 수 없다. 그래서, Host 프로세서에서 Target 프로세서에 맞는 바이너리를 생성해야 한다.
이를 Cross 개발환경이라고 한다.

HW 초기화 및 booting을 위한 startup code가 필요하다.
startup code는 아래의 작업을 수행한다.
- interrupt vector table 생성
- 메모리 검사
- C 프로그램에서 사용할 stack과 heap 생성 및 초기화
reference
- 임베디드 프로그래밍 C 코드 최적화, 김유진 저 | 한빛미디어
728x90
반응형