Project brief
프로젝트 내용
프로젝트 소개
- 5G/LTE 이동통신용 MHU 광중계기의 AMD Zynq UltraScale+ RFSoC 기반 PS(Processing System) 소프트웨어를 개발합니다.
- XCZU67DR RFSoC를 적용한 통신장비의 Embedded Linux 환경을 구축하고, Secure Boot 및 TrustZone 기반 보안 기능과 PS-PL 간 제어 인터페이스를 구현합니다.
- FPGA PL 로직 개발이 아닌 ARM 기반 PS 영역의 시스템 소프트웨어 개발을 중심으로 진행합니다.
프로젝트 진행 상황
- 대상 SoC(AMD XCZU67DR-2FFVE1156I)가 확정되었으며, 시스템 아키텍처 및 개발 범위를 검토하고 있습니다.
- FPGA PL 로직은 별도 개발 업체가 담당하며, GUI 및 상위 응용 프로그램은 내부 개발자가 담당합니다.
- 회로도, 하드웨어 인터페이스, 레지스터맵 등 관련 기술 자료는 확보 상황에 따라 제공될 예정입니다.
전체 시스템 구성
- 하드웨어: AMD Zynq UltraScale+ RFSoC(XCZU67DR), ARM Cortex-A53 기반 PS, FPGA PL 및 내장 RF ADC/DAC, Ethernet·UART·JTAG 인터페이스
- OS: Embedded Linux
- 개발 언어: C/C++, Shell Script
- 개발 환경: AMD Vivado, Vitis, PetaLinux
- BSP: Linux Kernel, Device Tree, Device Driver
- 부팅 시스템: FSBL, TF-A, U-Boot
- 보안: Secure Boot, TrustZone, OP-TEE
- 디버깅: JTAG, GDB, UART Console
전체 프로젝트 일정
- 6개월
- 초기 개발 목표 약 14주 (Secure Boot 개발 약 12주, TrustZone 최소 적용 범위 약 2주 추가 기준)
- Linux BSP, 하드웨어 연동 및 보안 검증 일정은 세부 요구사항과 병행 개발 가능 여부에 따라 협의합니다.
- 하드웨어 준비 일정과 실제 개발 범위에 따라 전체 기간은 조정될 수 있습니다.
모집 인원
- 경력 11년 차 이상 1명 (월 900만 원)
근무 형태
- 상주 근무 (경기 수원시 권선구)
상세 업무
- Zynq RFSoC PS 시스템 개발
- XCZU67DR 기반 PS 개발 환경을 구축하고 Embedded Linux BSP를 구성 및 포팅합니다.
- Linux Kernel 및 Device Tree를 설정·수정하고, FSBL, TF-A, U-Boot 기반 부팅 환경을 구성합니다.
- 실제 하드웨어 Bring-up 및 부팅 오류를 분석합니다.
- Secure Boot 및 보안 기능 개발
- AMD Zynq UltraScale+ 하드웨어 보안 부팅 구조를 적용하고, Boot Image 구성 및 RSA 기반 인증 기능을 구현합니다.
- eFUSE 기반 Root of Trust 및 키 관리 구조, 부트 이미지 암호화·복호화 적용을 검토합니다.
- 부팅 단계별 이미지 검증 및 실패 처리를 구현합니다.
- TrustZone 기반 Secure/Non-secure 영역을 구성하고, OP-TEE 적용 및 보안 자원 접근을 제어합니다.
- 외장 TPM 2.0 소프트웨어 연동 및 UEFI 관련 기능을 검토합니다. (확정 범위에 따라 적용)
- PS-PL 하드웨어 연동
- AXI 기반 PS-PL 통신 인터페이스를 구성하고, PL 레지스터 Read/Write 및 제어 기능을 구현합니다.
- 인터럽트 및 DMA를 연동하고, Linux 사용자 영역에서 PL 제어가 가능한 인터페이스를 구현합니다.
- PL 개발 업체와 연동 시험 및 문제 분석을 진행합니다.
- RFSoC 내장 RF ADC/DAC 제어 드라이버 및 관련 API를 연동합니다.
- 통신 및 디버깅
- Ethernet, UART 등 통신 인터페이스를 구성하고 검증합니다.
- 내부 응용 프로그램과 연동할 제어 API 및 통신 인터페이스를 협의합니다.
- JTAG 기반 PS 디버깅 및 부팅 로그를 분석하고, Linux Kernel 및 Device Driver 문제를 분석합니다.
- 실물 보드 기반으로 기능을 검증하고 안정화합니다.
필수 기술
- Embedded C/C++
- Embedded Linux, Linux BSP, Device Tree
- U-Boot / Bootloader
- Linux Device Driver
- ARM 기반 임베디드 시스템
- JTAG / GDB 기반 하드웨어 디버깅
자격 요건
- 임베디드 소프트웨어 개발 경력이 7년 이상이신 분
- ARM 기반 SoC에서 Embedded Linux 포팅 또는 BSP 개발 경험이 있으신 분
- 실제 하드웨어에서 부트로더 및 Linux 부팅 환경을 구성해 보신 분
- Linux Device Tree 및 디바이스 드라이버 개발·수정 경험이 있으신 분
- 하드웨어 회로도와 데이터시트를 이해하고 디버깅할 수 있으신 분
- C/C++ 기반 하드웨어 제어 및 통신 소프트웨어 개발 경험이 있으신 분
- 외부 하드웨어·FPGA 개발자와 기술 협업이 가능하신 분
우대 사항
- AMD(Xilinx) Zynq UltraScale+ MPSoC 또는 RFSoC 개발 경험이 있으신 분
- AMD Vivado, Vitis, PetaLinux 사용 경험이 있으신 분
- Zynq Secure Boot 및 eFUSE 적용 경험이 있으신 분
- ARM TrustZone 및 OP-TEE 개발 경험이 있으신 분
- TPM 2.0, UEFI Secure Boot, X.509 인증서 관련 개발 경험이 있으신 분
- PS-PL AXI, DMA, 인터럽트 연동 경험이 있으신 분
- RFSoC RF Data Converter 드라이버 사용 경험이 있으신 분
- FPGA 기반 통신장비 또는 5G/LTE 중계기 개발 경험이 있으신 분
- Linux 기반 장비의 초기 Bring-up부터 양산 안정화까지 수행해 보신 분
기타 사항
- GUI 화면 및 상위 응용 프로그램 개발, FPGA PL 로직 설계(Verilog/VHDL)는 업무 범위에서 제외됩니다.
- 단순 Linux 응용 프로그램 개발 경험보다는 실제 ARM SoC에서 BSP, 부트로더, 디바이스 드라이버를 직접 구성하고 하드웨어 연동 및 디버깅까지 수행한 경험을 우선 평가합니다.
- 당사 PM 1명, 내부 개발자 1명, 발주처 FPGA PL 개발 인력과 협업합니다.
- PC, 모니터, 주변기기가 지원되며 개인 장비도 사용 가능합니다.
- 중식이 제공되며 주차가 가능합니다.
- 프로젝트 연장 협의가 가능합니다.