리소스 제한적 시스템의 Linux 개발 장애를 극복하는 방법

작성자: Brandon Lewis

DigiKey 북미 편집자 제공

오픈 소스 기술은 독점적인 장벽을 제거하고 협업을 촉진함으로써 전자 시스템 개발자에게 비용을 절감하고 출시 기간을 단축하며 제품 수명 주기를 연장할 수 있는 길을 제시합니다. 오늘날, 오픈 소스 기회는 운영 체제부터 단일 기판 컴퓨터(SBC) 하드웨어 및 반도체 IP에 이르기까지 전체 시스템 스택에 걸쳐 있습니다.

그러나 산업용 IoT(IIoT) 및 로봇 시스템과 같이 리소스 제약이 있는 장치에서 Linux를 실행하는 데는 높은 계산 요구 사항, 보안 위험 및 결정론적 지연 문제가 남아 있습니다.

이 기사에서는 리소스 제약이 있는 시스템에서 설계자가 Linux를 배포할 때 직면하는 문제를 간략하게 검토합니다. 그런 다음 Linux와 함께 사용되는 BeagleBoard.orgBeagleV-Fire SBC를 소개하고 이를 통해 향후 설계 유연성을 극대화할 수 있는 방법을 설명합니다. Microchip Technology의 오픈 소스 기판 지원 패키지(BSP)를 사용하여 초기 Linux 구성을 구축하는 방법에 대한 데모도 포함되어 있습니다.

임베디드 시스템에서의 오픈 소스 개발 과제

임베디드 개발에서는 오픈 소스 기술이 이미 보편적으로 채택되고 있습니다. 하드웨어 설계와 소프트웨어 통합은 제조업체와 개별 엔지니어로 구성된 광범위한 에코 시스템에서 즉시 사용 가능한 자산을 통해 가속화되고 있습니다. 특히 Linux의 유연성은 네트워킹, 높은 수준의 애플리케이션 프레임워크, 인공 지능(AI) 통합이 필요한 시스템에서 이를 중요한 소프트웨어 솔루션으로 자리 잡게 했습니다.

그러나 리소스 제약이 있는 장치에 Linux를 배포하는 경우 추가적인 고려 사항이 필요합니다.

  • 컴퓨팅 요구 사항: 기존의 마이크로 컨트롤러 장치(MCU)는 최소한의 Linux 배포판의 메모리 및 스토리지 요구 사항을 충족하는 데 어려움이 있습니다. 개발자가 애플리케이션, 서브시스템 및 사용자 공간 프레임워크(USF)를 지원하기 위해 백그라운드 서비스를 추가함에 따라 이러한 서브시스템은 더 많은 리소스를 소비하여 부피가 큰 소프트웨어 스택을 실행할 수 없게 됩니다.
  • 지연 시간: 로보틱스 및 산업 자동화와 같은 고정밀 응용 분야는 시스템 조정 및 작동 안전을 위해 예측 가능한 타이밍을 요구합니다. Linux 커널의 PREEMPT_RT 기능은 결정성을 향상시키지만, 전용 실시간 운영 체제(RTOS)는 리소스 제약이 있는 하드웨어에 대한 지연 시간과 오버헤드를 줄여줍니다.
  • 보안: 공공 환경에 배포된 임베디드 시스템은 무단 액세스의 위험에 노출되어 있으므로 보안 부팅, 변조 방지, 하드웨어 RoT(신뢰점)와 같은 표준 보안 조치가 매우 중요합니다. 또한 EU 사이버 복원력 법(CRA)과 같은 규정에서는 디지털 요소가 포함된 제품의 보안을 설계 단계부터 갖추도록 요구합니다.
  • 전력: 에지 장치는 전력 리소스가 제한된 원격 환경에서 실행되는 경우가 많습니다. 에너지 효율이 높으면 배터리 수명이 연장되거나 주변 에너지원을 사용하여 작동할 수 있습니다. 마찬가지로 전력 효율이 높아지면 열 관리가 간소화되고 와트당 성능이 향상되어 고급 에지 프로세싱을 지원할 수 있습니다.
  • 수명 주기 관리: CRA는 디지털 장치를 최소 5년 동안 지원하도록 요구하지만, 많은 산업 배포에는 10년 ~ 15년의 제품 가용성이 필요합니다. 따라서 일관된 Linux 커널 지원을 보장하기 위해 개발자는 업그레이드 가능성 및 하드웨어 가용성에 대한 계획을 세워야 합니다.

이러한 문제를 극복하기 위해 개발자는 오픈 소스 및 임베디드 Linux 에코시스템의 추가 리소스를 사용하고 빠르게 진화하는 에지 애플리케이션을 위해 Linux의 간소화된 하드웨어-소프트웨어 조합을 활용할 수 있습니다.

오픈 SBC 및 RISC-V를 사용한 Linux 구현

범용 Linux 배포판은 애플리케이션을 빠르게 준비할 수 있는 경로를 제공하지만, 현재 프로젝트에 필요하지 않은 패키지 및 서비스가 포함되어 있는 경우가 많습니다. 이와는 대조적으로, OpenEmbedded로 구동되는 Yocto Project는 개발자가 특정 사용 사례에 맞는 맞춤형 Linux 이미지를 구축할 수 있도록 지원합니다. 이렇게 하면 불필요한 기능이 제거되어 리소스 제약이 있는 하드웨어에서 경량화된 배포판을 실행하면서 AI 기반 컴퓨터 비전이나 표준 툴링을 통한 예측 유지 관리와 같은 고급 기능을 유지할 수 있습니다.

또한 Yocto Project는 개발자에게 다음과 같은 기능을 제공합니다.

  • 장기적인 유지 관리를 위한 재현 가능한 빌드
  • 성능, 보안 및 응답성을 개선하는 맞춤형 커널 구성
  • 하드웨어-소프트웨어 호환성을 보장하고 개발 시간을 단축하기 위한 기판별 레이어 통합

또한 SWUpdate, RAUC, Mender와 같은 무선 업데이트 메커니즘과의 간단한 통합을 통해 개발자는 긴 제품 수명 주기 동안 정기적으로 장치의 성능과 보안을 개선할 수 있습니다. 그 결과, Yocto Project는 이제 임베디드 Linux 시스템의 표준이 되었습니다.

마찬가지로 오픈 소스 SBC는 Linux 애플리케이션 개발을 가속화하는 데 오랫동안 사용되어 왔으며, 처리, 메모리, 스토리지 및 I/O 리소스를 독립된 폼 팩터에 결합한 즉시 사용 가능한 참조 플랫폼을 제공합니다. 개발자는 오픈 SBC를 사용하여 시스템을 신속하게 프로토타이핑하고 소프트웨어 스택을 검증한 다음 최소한의 재작업으로 맞춤형 하드웨어로 전환할 수 있습니다.

RISC-V 오픈 표준 명령어 세트 아키텍처(ISA)는 시스템 설계자가 고가의 라이선스 비용 부담 없이 맞춤형 처리 플랫폼을 구축할 수 있도록 함으로써 이를 한 단계 더 확장합니다. RISC-V를 사용하면 설계자는 명령어 세트의 어떤 부분을 포함할지 선택하고 특정 사용 사례에 맞게 이를 확장할 수도 있습니다. 원래 설계가 BSD(Berkeley Software Distribution) 라이선스로 제작되었으므로 파생 설계는 오픈 소스로 무료로 제공되거나 폐쇄적 및 독점적 방식으로 구현될 수 있습니다.

개발자와 설계자의 경우 Yocto Project, 오픈 SBC 및 RISC-V는 단일 벤더 로드맵에 대한 의존도를 줄여 장기적인 설계 유연성을 높여줍니다. 또한 Linux에서 RISC-V에 대한 업스트림 지원의 증가와 Yocto Project에서 RISC-V의 플래티넘 멤버십은 임베디드 Linux 커뮤니티의 관심을 강조합니다.

콤팩트한 Linux 통합을 위한 고성능 RISC-V SBC

BeagleBoard.org 오픈 소스 BeagleV-Fire SBC(그림 1)는 이러한 문제를 해결하기 위해 콤팩트하고 I/O가 풍부한 플랫폼을 제공합니다. 또한 Microchip PolarFire FPGA 시스템 온 칩(SoC)을 통해 전력 효율적인 작동, 하드웨어 보안 기능, 실시간 워크로드를 실행하는 Linux 애플리케이션을 지원하는 일관된 RISC-V CPU 클러스터를 제공합니다. 개발자는 SBC를 사용하여 임베디드 Linux를 기반으로 하는 로봇 컨트롤러, 산업용 게이트웨이, 에지 AI 가속기 및 맞춤형 I/O 플랫폼의 프로토타입을 제작할 수 있습니다.

BeagleBoard의 BeagleV-Fire® 이미지그림 1: BeagleBoard.org BeagleV-Fire는 오픈 소스 기술을 임베디드 장치에 통합할 수 있는 콤팩트한 SBC 플랫폼을 제공합니다(이미지 출처: BeagleBoard.org).

86.38mm × 54.61mm × 18.8mm 크기의 콤팩트한 플랫폼은 전력 효율이 뛰어난 MPFS025T-FCVG484E PolarFire SoC를 기반으로 제작되었습니다. 이 제품은 일관된 멀티코어 아키텍처를 갖추고 있으며, Linux를 실행하는 4개의 RV64GC 애플리케이션 코어와 낮은 수준의 기능을 관리하는 RV64IMAC 모니터 코어를 갖추고 있습니다.

성능을 극대화하고 코어 간 데이터 정확도를 보장하기 위해 PolarFire SoC는 공유 L2 캐시, 일관된 메모리 서브시스템, 통합 DDR 메모리 컨트롤러를 제공하여 2기가바이트(Gbytes)의 온보드 LPDDR4 메모리를 지원합니다. 복잡한 애플리케이션은 BeagleV-Fire의 16Gbyte eMMC 스토리지와 128메가비트(Mbit) SPI 플래시를 통해 더욱 지원됩니다.

RISC-V 프로세서 서브시스템과 함께, PolarFire SoC는 개발자가 지연 시간이 짧은 실시간 애플리케이션을 위한 결정론적 처리 경로를 구축하고 AI 추론 파이프라인을 위한 맞춤형 하드웨어 가속을 구현할 수 있도록 하는 FPGA 패브릭(그림 2)을 통합하고 있습니다. 전체 시스템의 일부인 이 패브릭에는 23,000개의 논리 요소와 자체 보조 리소스가 포함되어 있어 메인 프로세싱 코어와 독립적으로 작동할 수 있습니다.

Microchip PolarFire SoC 제품군 다이어그램(확대하려면 클릭)그림 2: Microchip PolarFire SoC 제품군은 결정론적 워크로드를 위해 여러 RISC-V 프로세싱 코어와 다목적 FPGA 패브릭을 결합합니다(이미지 출처: Microchip Technology).

다양한 보안 부팅 옵션을 갖춘 PolarFire SoC의 통합 하드웨어 보안 기능을 통해 개발자는 심층적인 보안 모델을 구현할 수 있으므로 최신 사이버 보안 요구 사항을 충족하는 데 유용한 플랫폼이 됩니다. 제공되는 특징은 다음과 같습니다.

  • 물리적 복제 방지 기능(PUF)을 통한 불변 하드웨어 신뢰점
  • 안전한 키 저장(일회용 프로그래밍 가능 방식(OTP) 또는 고유 장치 비밀(UDS)과 하드웨어 강제 키 액세스 제어를 사용하는 보안 비휘발성 저장소 포함)
  • 변조 방지 모듈

이 외에도 BeagleV-Fire는 맞춤형 Linux 배포를 검증하고 테스트할 수 있는 애플리케이션 지원 시스템을 구축하기 위한 여러 개의 통합 물리적 포트를 제공합니다(그림 3). 여기에는 RJ45 기가비트 이더넷 포트, 전력 및 연결을 위한 USB Type-C 포트, M.2 Key E 소켓, 에코시스템 확장을 위한 46핀 BeagleBone 호환 Cape 헤더 2개, 직접 통합을 위한 카메라 직렬 인터페이스(CSI)가 포함됩니다. 디버깅을 위한 JTAG TAG-CONNECT 풋프린트가 제공되며, BeagleV-Fire는 FPGA용 주변 장치를 위한 SYZYGY 호환 확장도 지원합니다.

레이블이 지정된 포트를 가진 BeagleBoard.org BeagleV-Fire 이미지그림 3: 작은 실장 면적에도 불구하고 BeagleBoard.org BeagleV-Fire는 즉각적인 애플리케이션 인터페이스를 위한 여러 물리적 포트를 제공합니다(이미지 출처: BeagleBoard.org).

BeagleV-Fire SBC에서 초기 Linux 구성을 빌드하는 방법

BeagleV-Fire용 경량 Linux 배포를 빌드할 때 개발자는 먼저 적합한 Yocto Project BSP 레이어를 확보해야 합니다. 이는 U-Boot 구성, 기본 Linux 커널 구성, 기판을 지원하는 장치 트리 및 주변 장치 지원 정의를 제공합니다. GitHub 리포지토리는 BeagleV-Fire를 포함한 모든 PolarFire SoC 평가 키트 BSP를 지원합니다.

필요한 모든 Yocto Project 종속성을 설치한 후, 다음 레이어는 빌드의 기본 사항을 제공하며 클론해야 합니다.

  • bitbake
  • meta-openembedded-core
  • meta-yocto(for the Poky reference distribution)
  • meta-mchp-common
  • meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-bsp
  • meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-community
  • 프로젝트에 필요한 추가 레이어

이 과정이 완료되면 MACHINE = "beaglev-fire" 타겟과 kas 구성 파일을 사용하여 최소한의 이미지를 빌드할 수 있습니다. 목록 1은 샘플 구성을 보여줍니다.

복사
header:
  version: 19
 
repos:
  openembedded-core:
    url: git://git.openembedded.org/openembedded-core.git
    # yocto-5.0.15
    commit: 6988157ad983978ffd6b12bcefedd4deaffdbbd1
    layers:
      meta:
 
  bitbake:
    url: git://git.openembedded.org/bitbake.git
    # yocto-5.0.15
    commit: 8dcf084522b9c66a6639b5f117f554fde9b6b45a
    layers:
      bitbake: disabled
 
  meta-yocto:
    url: git://git.yoctoproject.org/git/meta-yocto.git
    # yocto-5.0.15
    commit: 9bb6e6e8b016a0c9dfe290369a6ed91ef4020535
    layers:
      meta-poky:
      meta-yocto-bsp:
 
  meta-mchp:
    url: https://github.com/linux4microchip/meta-mchp.git
    branch: scarthgap
    path: layers/third-party/meta-mchp
    layers:
      meta-mchp-common:
      meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-bsp:
      meta-mchp-polarfire-soc/meta-mchp-polarfire-soc-community:
 
machine: beaglev-fire
 
 
local_conf_header:
  Users: |
    EXTRA_IMAGE_FEATURES = "allow-empty-password empty-root-password \
allow-root-login"

목록 1: BeagleV-Fire를 간단한 셸로 부팅하는 데 필요한 모든 빌드 아티팩트를 생성하는 샘플 구성 파일이 표시되어 있습니다(목록 출처: Microchip Technology).

그런 다음 'kas build core-image-minimal'을 실행하면 U-Boot 바이너리와 Linux 커널 및 모듈, 장치 트리, 루트 파일 시스템을 포함하는 FIT 이미지 등 BeagleV-Fire를 간단한 셸로 부팅하는 데 필요한 모든 빌드 아티팩트가 생성됩니다.

Yocto Project를 사용하여 BeagleV-Fire용 최소 Linux 이미지를 빌드한 다음 표준 절차에 따라 맞춤형 이미지를 생성하고 프로젝트의 정확한 요구 사항에 맞게 빌드를 조정할 수 있습니다. 예를 들어, 로보틱스 및 산업 시스템에서는 Linux가 FreeRTOS 또는 Zephyr와 같은 보다 전통적인 RTOS와 함께 사용되어, 시간에 민감한 작업과 함께 고급 처리를 가능하게 합니다. 이 기능은 BeagleV-Fire의 PolarFire SoC에서 잘 지원되며 여러 운영 체제 또는 베어메탈 애플리케이션을 동시에 실행하도록 구성할 수 있습니다.

많은 임베디드 장치의 수명이 10년 이상임을 감안할 때, 오픈 RISC-V ISA, Linux, Yocto 기반 재현성의 조합은 PolarFire SoC 기반 플랫폼이 정기적인 로컬 또는 OTA 업데이트를 통해 새로운 보안 위협과 새로운 응용 분야의 요구 사항에 적응할 수 있도록 합니다. 이러한 방식으로 BeagleV-Fire SBC는 오픈 소스 도입을 위한 우수한 출발점을 제공하여 지능형 에지 시스템의 유연성과 수명을 향상시킵니다.

결론

리소스 제약이 있는 임베디드 시스템에서 Linux를 실행할 때 계산 제한, 결정론적 지연 시간 요구 사항, 보안 노출, 긴 수명 주기 요구 사항은 상당한 문제를 야기할 수 있습니다. BeagleBoard.org BeagleV-Fire SBC는 이러한 문제를 극복하기 위해 RISC-V Linux 기능과 FPGA 기반 결정론적 논리 및 하드웨어 보안 기능을 결합한 하이브리드 아키텍처를 제공합니다. 이 플랫폼을 Yocto Project 및 Microchip의 오픈 소스 BSP 레이어와 함께 사용하면 개발자는 확장된 수명을 가진 로보틱스, IIoT 및 에지 컴퓨팅 애플리케이션에 최적화된 맞춤식의 추적 가능한 Linux 배포판을 구축할 수 있습니다.

DigiKey logo

면책 조항: 이 웹 사이트에서 여러 작성자 및/또는 포럼 참가자가 명시한 의견, 생각 및 견해는 DigiKey의 의견, 생각 및 견해 또는 DigiKey의 공식 정책과 관련이 없습니다.

작성자 정보

Image of Brandon Lewis

Brandon Lewis

Brandon Lewis has been a technical writer and editor for over 15 years, serving as editor-in-chief at various electronics engineering trade publications. Brandon’s areas of focus include microcontrollers, multicore embedded processors, embedded Linux and real-time operating systems, industrial communications protocols, single-board computers and computer on modules, and other aspects of real-time computing. He is an accomplished podcaster, YouTuber, event moderator, conference chair, and product reviewer.

게시자 정보

DigiKey 북미 편집자