Skip to main content
자동 번역이 적용된 페이지입니다. 영어로 보시겠습니까?

임베디드 소프트웨어

임베디드 소프트웨어는 SoC나 IC에 내장된 처리 클러스터에서 실행되는 특수 응용 프로그램 또는 펌웨어예요.거의 모든 전자 제품에는 오늘날 자동차, 팩터 플로어 오토메이션, 항공 전자, 의료 기기 등에서 흔히 볼 수 있는 임베디드 프로세서가 하나 또는 여러 개 들어갈 수 있어요.

임베디드 소프트웨어는 어떤 종류가 있어요?

임베디드 소프트웨어 애플리케이션은 PC가 아닌 기기 내에서 마이크로칩의 일부든 칩 상단에 있는 다른 애플리케이션의 일부로서든 기기의 특정 기능을 제어하기 위해 특수 프로그래밍하는 거예요.다양한 컴퓨터 시스템에 설치하고 다양한 수준의 기능을 제공하도록 수정할 수 있는 PC 응용 프로그램과 달리 임베디드 소프트웨어는 고정된 하드웨어 요구 사항과 기능을 가지고 있어요.실행되는 특정 장치용으로 독점적으로 만들어졌고, 처리 및 메모리 제한이 사양에 직접 연결되어 있어요.이 논의의 맥락에서 보면 임베디드 소프트웨어에는 추가 로직 내에 “내장된” 단일 마이크로프로세서 또는 마이크로프로세서 클러스터에서 실행되는 애플리케이션, 펌웨어, 미들웨어 및 운영 체제가 포함돼요.

관련 상품: 캐피탈 임베디드 AR 클래식이에요. | 캐피탈 임베디드 인티그레이터 AR 클래식 | 캐피탈 임베디드 버추얼라이저 AR 클래식이에요

A professional working on a computer with a graph, another person standing nearby observing the screen.

임베디드 시스템의 특징과 특징

임베디드 시스템에는 여러 종류가 있지만 모두 같은 유익한 특징과 디자인 특성을 공유해요.

모든 임베디드 시스템은 작업에 따라 달라요.

사용 수명 내내 사전 프로그래밍된 동일한 기능을 실행하며 변경할 수 없어요.

모든 임베디드 시스템은 고효율예요

임베디드 소프트웨어의 리소스 요구 사항은 설치된 하드웨어의 용량을 초과해서는 안 되고 하드웨어 사양은 임베디드 소프트웨어의 최소 요구 사항을 초과해서는 안 됩니다.

안정성을 위해 설계되었대용

모든 임베디드 시스템은 높은 신뢰성과 안정성을 위해 설계돼요.장착된 장치의 수명 내내 일관된 응답 시간과 기능으로 작업을 수행해야 해요.

Siemens는 어떤 유형의 임베디드 소프트웨어를 제공하나요?

Siemens는 둘 다 제공해요 자동차 임베디드 소프트웨어 그리고 임베디드 소프트웨어 엔지니어링 솔루션들.지멘스는 뉴클리어스, 뉴클리어스 하이퍼바이저, 뉴클리어스 레디스타트, 소콜 플렉스 리눅스, 소콜 옴니 리눅스, 소서리 코드벤치 제품 (관련 애드온 포함) 이 2023년 11월에 은퇴하면서 SOC용 독립형 임베디드 소프트웨어 제공을 중단했어요.이들 제품에 대한 기존 지원 계약은 여전히 유효해요. Siemens에 문의하세요. 지원 센터 자세한 정보를 원해요.

임베디드 소프트웨어의 종류와 목적은 뭐예요?

  • 운영 체제 — 가장 일반적인 의미의 운영 체제 (OS) 는 사용자가 컴퓨팅 기기에서 다른 애플리케이션을 실행할 수 있게 해주는 소프트웨어예요.운영 체제는 키보드와 마우스 같은 입력 장치, 디스플레이나 프린터 같은 출력 장치, 네트워크 연결, 하드 드라이브와 메모리 같은 저장 장치를 포함한 프로세서의 하드웨어 자원을 관리해요.OS는 또한 소프트웨어 응용 프로그램의 효율적인 실행과 관리, 메모리 할당을 용이하게 하는 서비스를 제공해요.
  • 펌웨어 — 펌웨어는 하드웨어용으로 직접 작성된 일종의 소프트웨어예요.API, 운영 체제 또는 장치 드라이버를 거치지 않고 작동하여 다른 기기와 통신하거나 기본 작업과 기능을 의도한 대로 수행하는 데 필요한 지침과 지침을 제공해요.
  • 미들웨어 — 미들웨어는 애플리케이션과 운영 체제 사이에 위치한 소프트웨어 계층이에요.미들웨어는 다음을 제공하여 소프트웨어 개발을 단순화하는 분산 시스템에서 자주 사용돼요.

    • 복잡한 분산 애플리케이션 숨기기
    • 하드웨어, 운영 체제, 프로토콜의 이질성 감추기
    • 상호 운용 가능하고 재사용 가능한 휴대용 애플리케이션을 만드는 데 사용되는 균일하고 높은 수준의 인터페이스를 제공해요.
    • 중복 작업을 최소화하고 애플리케이션 간 협업을 강화하는 일련의 공통 서비스 제공
  • 애플리케이션 — 최종 사용자는 운영 체제에서 실행되고 미들웨어 및 펌웨어를 사용하거나 상호 작용하는 최종 소프트웨어 애플리케이션을 개발하며 임베디드 시스템의 목표 기능의 주요 초점입니다.각 최종 애플리케이션은 고유하지만 운영 체제와 펌웨어는 장치마다 동일할 수 있어요.

임베디드 소프트웨어 vs 임베디드 시스템

임베디드 소프트웨어를 실행하는 장치의 하드웨어 구성 요소를 “임베디드 시스템”이라고 해요.임베디드 시스템에 사용되는 하드웨어 구성 요소의 몇 가지 예로는 전원 공급 회로, 중앙 처리 장치, 플래시 메모리 장치, 타이머, 직렬 통신 포트 등이 있어요.장치의 초기 설계 단계에서 임베디드 시스템을 구성할 하드웨어와 장치 내 구성이 결정돼요.그러면 임베디드 소프트웨어는 처음부터 정확한 구성의 해당 하드웨어에서만 실행되도록 개발돼요.따라서 임베디드 소프트웨어 설계는 하드웨어 기능과 컴퓨터 프로그래밍에 대한 깊은 지식이 필요한 전문 분야가 돼요.

임베디드 소프트웨어 기반 함수 예시

회로기판하고 컴퓨터 칩이 있는 거의 모든 장치에는 이러한 부품들이 내장된 소프트웨어 시스템에 배열되어 있어요.그 결과 임베디드 소프트웨어 시스템은 일상 생활 어디에나 있고 소비자, 산업, 자동차, 항공 우주, 의료, 상업, 통신 및 군사 기술 전반에 걸쳐 발견돼요.

임베디드 소프트웨어 기반 기능의 일반적인 예로는 다음이 포함돼요.

  • 의료 영상 장비에서 사용되는 이미지 처리 시스템이에요.
  • 항공기에 있는 플라이 바이 와이어 제어 시스템들
  • 보안 카메라의 동작 감지 시스템이에요.
  • 신호등에 있는 교통 통제 시스템들이에요.
  • 스마트 홈 디바이스에 있는 타이밍 및 자동화 시스템이에요.

임베디드 시스템에는 어떤 종류가 있어요?

성능 및 기능 요구 사항을 기준으로 하면 임베디드 시스템에는 크게 다섯 가지 종류가 있어요.

  • 실시간 임베디드 시스템은 결정적이고 반복 가능한 방식으로 작업을 완료해요. 이는 운영체제의 기본 아키텍처와 스케줄링, 스레드 성능, 분기, 인터럽트 레이턴시의 영향을 받죠.범용 임베디드 시스템은 실시간 요구 사항이 없고 완료 시간에 의존하지 않고 인터럽트나 브랜칭을 관리할 수 있어요.그래픽 디스플레이와 키보드 및 마우스 관리가 일반 시스템의 좋은 예예요.
  • 독립형 임베디드 시스템은 호스트 시스템이나 외부 처리 리소스 없이 작업을 완료할 수 있어요.연결된 장치에서 데이터를 출력하거나 받을 수 있지만 작업을 완료하는 데 기기에 의존하지는 않아요.
  • 독립형 임베디드 시스템은 호스트 시스템이나 외부 처리 리소스 없이 작업을 완료할 수 있어요.연결된 장치에서 데이터를 출력하거나 받을 수 있지만 작업을 완료하는 데 기기에 의존하지는 않아요.
  • 네트워크 임베디드 시스템은 할당된 작업을 수행하기 위해 연결된 네트워크에 의존해요.
  • 시스템 하드웨어 구조의 복잡성에 따라 임베디드 시스템에는 크게 세 가지 유형이 있어요. 네트워크 임베디드 시스템은 지정된 작업을 수행하기 위해 연결된 네트워크에 의존해요.

최종 시장이 임베디드 시스템에 미치는 영향

임베디드 시스템 요구 사항과 구성 요소는 대상 시장의 요구에 따라 달라질 거예요.몇 가지 예로는 다음이 포함돼요.

  • 소비자 — 세탁기, 웨어러블 기기, 휴대폰 같은 소비재 같은 애플리케이션에서 임베디드 시스템은 크기를 줄인 것을 강조해요
  • 시스템온칩, 저전력 소비 또는 배터리 작동과 그래픽 인터페이스.이러한 애플리케이션에서는 구성 가능한 운영 체제와 설계에서 작동하지 않는 “도메인”을 차단하는 기능이 중요해요.
  • 네트워킹 — 기업 네트워크의 연결, 통신, 운영 및 관리를 가능하게 하는 애플리케이션이에요.사용자, 프로세스, 애플리케이션, 서비스, 외부 네트워크/인터넷 간의 통신 경로와 서비스를 제공해요.임베디드 네트워크 애플리케이션은 응답 속도, 패킷 처리 및 주변 하드웨어 경로에 초점을 맞춥니다.
  • 산업용 — 공장 현장 관리, 모터, 풍차 같은 애플리케이션의 경우 클라우드 연결성과 결정론적 “실시간” 운영을 보호하는 데 중점을 두는 경향이 있고 미들웨어에 주로 초점을 맞출 수 있어요.
  • 의료, 자동차, 항공우주 — 이런 산업에는 혼합 안전에 중요한 시스템이 필요해요. 설계의 일부가 서로 격리되어 필요한 데이터만 시스템에 들어오고 나가도록 (보안), 최종 사용자에게 해를 끼치지 않도록 (안전) 해요.자동차하고 의료기기의 자율 주행 시스템을 예로 들 수 있어요.이러한 임베디드 시스템은 오픈소스 (Linux) 와 결정론적 실시간 운영 체제 (RTOS) 를 혼합하여 사용할 수 있고 검증된 미들웨어를 많이 활용해요.

자동차 임베디드 소프트웨어가 왜 다른가요?

자동차 전자 장치에서는 제동, 조향, 서스펜션, 파워트레인 등 각 기능을 제어하는 여러 임베디드 시스템에서 복잡한 실시간 상호 작용이 일어나요. 각 내장 시스템이 들어 있는 물리적 하우징을 전자 제어 장치 (ECU) 라고 해요.각 ECU와 임베디드 소프트웨어는 분산 시스템이라고 하는 복잡한 전기 아키텍처의 일부예요.

차량의 분산 시스템을 구성하는 ECU가 서로 통신해서 자동 긴급 제동, 어댑티브 크루즈 컨트롤, 스태빌리티 컨트롤, 어댑티브 헤드라이트 등등 다양한 기능을 실행할 수 있어요.단일 기능에는 여러 네트워킹 프로토콜로 연결된 수많은 ECU에 분산되어 있는 20개 이상의 임베디드 소프트웨어 애플리케이션 간의 상호 작용이 필요할 수 있어요.임베디드 소프트웨어와 함께 배포되는 복잡한 제어 알고리즘은 기능의 적절한 타이밍, 필요한 입출력, 데이터 보안을 보장해요.

자동차 소프트웨어 애플리케이션 기반 기능의 일반적인 예로는 다음이 포함돼요.

  • ADAS (첨단 운전자 보조 시스템) 기능들이 어댑티브 크루즈 컨트롤, 자동 긴급 제동, 차선 유지 보조, 교통 보조, 차선 이탈 경고 같은 거예요
  • 배터리 관리
  • 토크 보상
  • 연료 분사 속도 제어

ECU 소프트웨어 스택

전자 제어 장치, 즉 ECU는 칩 레벨 하드웨어가 있는 메인 컴퓨팅 유닛과 임베디드 소프트웨어 스택으로 구성돼요.하지만 자동차 제조업체들 사이에서는 단일 칩에 여러 컴퓨팅 코어가 포함된 복잡한 집적 회로를 갖춘 ECU를 설계하는 추세가 늘고 있어요. 이를 SoC (System on a Chip) 라고 해요.이 SoC는 하드웨어를 통합하기 위해 수많은 ECU 추상화를 호스팅할 수 있어요.ECU용 소프트웨어 스택에는 보통 저수준 펌웨어부터 고수준 임베디드 소프트웨어 애플리케이션에 이르기까지 다양한 솔루션이 포함돼요.

ECU 스택

설명

임베디드 소프트웨어 애플리케이션

제어 알고리즘, 처리, 서비스

애플리케이션 프레임워크

보안 및 안전 프레임워크

운영 환경

AUTOSAR 클래식, AUTOSAR 어댑티브, 입력/출력 채널

임베디드 가상화

실시간 OS, ECU 추상화

펌웨어

부트 로더, 보안 스토리지, 보안 스레딩

하드웨어

실리콘 기반 디바이스, 마이크로 컨트롤러, 단일 또는 다중 레이어 보드

임베디드 소프트웨어 관련 리소스

더 알아보기

임베디드 소프트웨어 및 네트워크 설계

중요한 제품 기능을 제공하는 혁신적이고 안전한 소프트웨어를 빠르고 효율적으로 개발하는 방법을 알아보세요.