About the Job
AI 가속기 카드의 On-device Firmware 스택을 개발하는 포지션으로, 현재는 이기종 멀티코어(Cortex-A 계열 CP, Cortex-M7) 환경에서 RTOS 기반 Firmware를 운영하고 있으며, 기존 스택의 안정적인 운영과 함께 Embedded Linux로의 전환을 주도할 엔지니어를 찾습니다.
Responsibilities and Opportunities
- 하드웨어 엔지니어, 호스트 드라이버 개발자, 프로덕트 매니저와의 협업을 통한 소프트웨어 요구사항 및 시스템 아키텍처 정의
- 기능별 코어 배치 및 Linux 전환 시 커널·유저스페이스 간 기능 배치에 대한 아키텍처 설계
- 이기종 멀티코어·멀티칩렛 환경에서의 RTOS 기반 펌웨어 설계·개발·유지보수
- 커널 포팅 레이어(context switch, tick, interrupt nesting), 태스크 및 서비스 구조, 인터럽트 우선순위 체계, 디바이스 드라이버 개발
- 임베디드 Linux 전환을 위한 기술적 검토 및 주도 — 타당성 검토, PoC, 적용 범위 검토, 부팅 시간·실시간성 간의 트레이드오프 분석, 단계적 마이그레이션 로드맵 수립
- 기존 RTOS 서비스의 커널 드라이버·유저스페이스 데몬으로의 재구성 및 이관 구조 설계
- Linux 커널 bring-up, Device Tree 구성, 커널 디바이스 드라이버(PCIe, DMA, 인터럽트, mailbox) 개발, Yocto·Buildroot 기반 이미지 구성
- 기존 RTOS 드라이버의 Linux 드라이버 모델 기반 이식 및 안정화
- PCIe 및 SR-IOV 디바이스 펌웨어 개발 — PF/VF 라이프사이클, hot reset, soft/hard reset 에스컬레이션, 호스트 타임아웃(TDR) 복구 시퀀스 설계 및 안정화
- 호스트 커널 드라이버 팀과의 협업을 통한 공유 메모리, mailbox, reset 프로토콜 정의
- 전력 관리(DVFS, runtime PM, tickless idle, 온도 기반 스로틀링) 및 관측성 인프라(로그 오프로드, crash dump, fault handler, heartbeat) 구현
- 에뮬레이션 플랫폼(ZeBu), EVB 및 실장비 기반 CI 회귀 테스트 환경에서의 문제 재현 및 디버깅
Key Qualifications
- 6년 이상의 임베디드 소프트웨어 개발 경력, ARM Cortex-M 계열 및 ARMv8-A(Cortex-A) 환경 개발 경험
- 컴퓨터공학, 전자공학 또는 관련 분야 학사 이상의 학위 소지자
- 상용 RTOS(FreeRTOS, Zephyr, ThreadX 등) 기반 개발 경험 및 커널 내부 동작에 대한 전문성 — 스케줄러, context switch, 동기화 프리미티브의 구현 수준 이해
- Linux 커널 프로그래밍 역량 — 커널 모듈 및 디바이스 드라이버 개발, Device Tree, 커널 동기화, 인터럽트 처리, DMA 및 메모리 매핑 경험
- 인터럽트 처리, 메모리 관리(MMU/캐시), 저수준 소프트웨어 개발에 대한 깊은 이해 및 어셈블리 프로그래밍 역량 — 컨텍스트 저장/복원, 예외 벡터, 메모리 배리어 등에 대한 이해
- 실시간 시스템에 대한 이해 — 우선순위 기반 선점 스케줄링, 우선순위 상속, 응답 시간 분석, 커널 API 호출이 가능한 인터럽트 우선순위 경계 설계
- 디바이스 드라이버 및 통신 프로토콜(PCIe, UART, SPI, I2C 등) 개발 경험
- Trace32(T32) 등 JTAG 디버거, RTOS-aware tracing 및 Linux 디버깅 도구(ftrace, perf, kgdb) 활용 능력
- GCC 크로스 툴체인 및 CMake 기반 빌드 시스템 경험
- 뛰어난 문제 해결 능력 및 한·영 문서 작성을 포함한 우수한 커뮤니케이션 역량
Ideal Qualifications
- Arm Neoverse 계열 등 서버급 Arm 플랫폼에서의 시스템 소프트웨어·펌웨어 개발 또는 bring-up 경험
- SystemReady/SBSA 준수 플랫폼, GIC-600/700, SMMUv3, CMN 인터커넥트, SCP/MCP 및 SCMI, RAS 등 서버급 Arm IP·표준 경험
- RTOS 기반 시스템의 임베디드 Linux 전환 또는 Linux에서 RTOS로의 이관 경험
- Yocto/Buildroot 기반 배포 이미지 구성 및 유지보수 경험
- PREEMPT_RT, CPU isolation, IRQ affinity 튜닝 등 Linux 실시간 확장 및 지연 시간 최적화 경험
- Linux upstream 커널 기여 또는 벤더 BSP의 신규 커널 버전 포팅 경험
- PCIe Endpoint 펌웨어 및 SR-IOV(PF/VF) 환경에서의 개발·디버깅 경험
- SMP 또는 AMP 멀티코어 환경에서의 개발 경험 — 코어 간 IPC, 공유 메모리 프로토콜, 캐시 일관성 등에 대한 이해
- Watchdog, crash dump, fault recovery 및 무중단 복구 설계 경험
- 데이터센터 환경에서의 시스템 가용성에 대한 이해 및 FPGA·에뮬레이션 플랫폼 초기 bring-up 경험
Rebellions is committed to fostering a diverse and inclusive workplace. We are an equal opportunity employer and value diversity within our company. We do not discriminate based on personal identity. Applicants who would like to contact us regarding the accessibility of our website or who need special assistance or a reasonable accommodation for any part of the application or hiring process may contact us at: [email protected].