이근혁
저는 임베디드 소프트웨어 엔지니어로서, 리눅스와 RTOS 기반의 디바이스 드라이버 개발에 전문성을 가지고 있으며, PowerPC, ARM, CEVA(RISC 아키텍처) 환경에서 소프트웨어 구현에 경험이 있습니다. 2020년부터 임베디드 시스템의 설계, 구현 및 최적화 작업에 참여하고 있으며, 이러한 프로젝트들은 제 포트폴리오의 프로젝트 링크 를 통해 확인하실 수 있습니다. 또한 포트폴리오의 소개 동영상이 다른 언어( 영어 , 한국어 ) 로 제공되고 있으며 이를 시청하시는 것을 추천해 드립니다. (비밀번호: guest01096633758)
Work Experiences
DSP Implementation Engineer
DSP 구현 엔지니어로서, 저는 논리적 디지털 신호 처리 알고리즘을 단일 명령 다중 연산(SIMO) 아키텍처에 맞추어 설계, 개발 및 최적화하는 직무를 수행했습니다. 제 업무는 현대 통신 시스템의 성능 및 예산의 요구사항을 충족시키기 위해 기존의 신호 처리 기술을 아키텍쳐 내부에 구현하는데 있었습니다.
이 역할에서 저는 선형 대수, 벡터 연산, 그리고 아키텍쳐에 대한 이해를 활용하여 DSP 솔루션을 개발했습니다. 전체 시스템 아키텍처에 알고리즘을 원활하게 통합하기 위해 팀들과 협력하였으며, 처리량과 지연시간을 크게 향상시켰습니다.
- Assembly Level Tasks
- M-sequence Generator
- PSS Matched Filter Enhancement
- FFT library verification
- Document translation
BSP Engineer (RTOS)
BSP 엔지니어로서, 저는 임베디드 소프트웨어 시스템의 개발, 통합 및 최적화를 담당했습니다. 구성력 있는 리소스 관리로 안정적인 성능을 보장하고 프로젝트 일정을 준수했습니다.
저는 고급 통신 프로토콜과 하드웨어 통합을 지원하기 위해 메모리 관리 및 인터럽트 처리와 같은 다양한 플랫폼 기능을 설계하고 구현했습니다. 제 역할에는 락, 뮤텍스, 인터럽트 타이밍 제어와 관련된 작업을 스케줄링하고 관리하기 위해 실시간 운영 체제(RTOS)를 활용하는 것이 포함되었습니다. 또한, 시스템의 신뢰성과 성능을 보장하기 위해 디버깅 및 테스팅 단계에 참여했고, 과제를 완수하였습니다.
- Heterogeneous SOC Boot Up support
- RTOS Management
- Interrupt, DMA, Timer and Counter
- Memory Region & Protection Handling
- Data abort simulation and debug
- Git Management
Embedded SW Engineer (LINUX)
대학 졸업 후, 저는 관제탑을 지원하는 장비를 만드는 회사에서 근무했습니다. 제품은 데이터베이스와 통합된 랙 기반의 대규모 시스템의 관리 하에 있었으며, 이곳에서 제 주요 책임은 시스템 내부에서 디지털 데이터를 처리하는 리눅스 임베디드 장비의 구현과 관리였습니다.
이에 더해, 저는 FPGA 환경을 포함한 다수의 임베디드 환경에서 개발을 수행했으며, PowerPC와 ARM 아키텍처를 다루었습니다. 또한 다양한 하드웨어 구성 요소와 인터페이스하기 위한 소프트웨어를 작성하고 테스트하였습니다.
- WireShark Packet Inspection
- Serial - SPI device driver Implementation
- VOIP Linux device driver Implementation
- Linux Wifi Device driver modification (mac80211, cfg80211)
Projects
Development of DSP IP for 5G-NR-V2X Sidelink Standard
이 프로젝트는 5G New Radio Vehicle-to-Everything(5G-NR-V2X) 사이드링크 표준을 위한 DSP 지적 재산권(IP) 개발을 포함했습니다. 이 정부 지원 사업은 Zynq UltraScale+ RFSoC ZCU216 evaluation kit 를 활용하여, 5G-NR-V2X에 필요한 높은 데이터 전송률, 낮은 지연 시간, 그리고 신뢰성을 지원하는 DSP IP 제작을 목표로 했습니다. 프로젝트는 완료되었으며, 합리적인 결과를 얻어 보고되었습니다.
이 프로젝트의 임베디드 소프트웨어 엔지니어로서, 제 책임은 ZCU216 평가 보드에서 DSP IP를 위한 소프트웨어 구성 요소를 개발하고 통합하는 것이었습니다. 이는 보드 구성, Xilinx의 Vivado Design Suite를 사용한 필요한 소프트웨어 환경 설정, 그리고 IP의 기능을 구현하기 위한 펌웨어 작성을 포함했습니다. 5G-NR-V2X 통신에 필요한 실시간 처리 알고리즘의 구현을 담당했으며, 이들이 성능 기준을 충족하도록 보장했습니다. 또한, DSP IP의 성능을 검증하기 위한 테스트와 디버깅을 지원했습니다. 제 역할은 또한 하드웨어 엔지니어들과 협력하여 IP와 보드의 RF 구성 요소 간의 통합을 최적화하고, 5G-NR-V2X 사이드링크 표준 사양에 맞는 작동을 보장하는 것을 포함했습니다.
Line Monitoring System
라인 모니터링 시스템(LMS)은 시리얼 통신 라인의 적절한 기능과 신뢰성을 보장하도록 설계되었습니다. 이 시스템은 실시간 모니터링을 제공하고, 시리얼 오류를 확인하며, 서버 연결 해제를 감지하고, 여러 장치로부터의 시리얼 데이터를 통합하여 원활하고 지속적인 통신을 유지하도록 구현했습니다.
LMS 구현에서, 저는 MAX 시리얼 칩을 활용하여 시리얼 통신 라인을 모니터링하는 Embedded Software를 개발했습니다. 이 Device Driver 구현 프로젝트는 Address map, SPI-connected 된 시리얼 칩과 직접 인터페이스하여 기능했습니다. 저의 역할로는 MAX 시리얼 칩과 상호 작용하는 소프트웨어를 작성하고 테스트하는 것이 포함되었으며, 이를 통해 시리얼 통신을 사용할 수 있는 사내 장치를 모니터링하고, 시리얼 오류를 확인했으며, 연결 해제를 감지했습니다. 그리고 관리 중인 여러 장비의 시리얼 데이터를 통합하여 타사 장비와 통신하는 기능을 구현했습니다.
Academic Project
제 멀티미디어 학부는 디지털 신호 처리, 그래픽, 컴퓨터 비전 분야를 포함하고 있으며, 디지털 미디어 처리 기술의 개발에 집중합니다. 이는 특히 사운드 및 이미지 처리를 위한 DSP 기술의 향상, 인터랙티브 미디어 애플리케이션 및 3D 렌더링 기술을 개선하는 것을 포함하고 있습니다.
저는 학문적 활동의 초기 단계에서, 운영체제, 네트워킹, 알고리즘을 포함한 주요 컴퓨터 기술에 관한 과정을 이수했습니다. 교육 과정에는 C, C++, Java, C#, Python과 같은 언어들에 대한 수업도 포함되어 있었습니다. 이 단계에서 소프트웨어 개발과 시스템 최적화를 지원하는 멀티미디어 애플리케이션에 필요한 기술적 기술을 구축하는 데 전념하였습니다.