GEUNHYEOK LEE
As an embedded software engineer, I specialize in developing device drivers based on Linux and RTOS, focusing on software implementation in PowerPC, ARM, and CEVA (RISC architecture) environments. Since 2020, I have been involved in the design, implementation, and optimization of embedded systems, and these projects can be viewed in my portfolio through the project link
"I highly recommend watching my introductory video in english or korean on the personal cloud (password: guest01096633758)."
"This resume is available for download in both Office Document and PDF formats"
Work Experiences
DSP Implementation Engineer
As a DSP Implementation Engineer, I was responsible for designing, developing, and optimizing advanced digital signal processing algorithms tailored for Single Instruction, Multiple Operation (SIMO) architectures. My work primarily involved the creation and enhancement of efficient signal processing techniques to meet the performance and budget requirements of modern communication systems.
In this role, I utilized understanding of linear algebra, vector operations, and hardware-software co-design principles to develop high-performance DSP solutions. I collaborated with cross-functional teams to ensure seamless integration of DSP algorithms into the overall system architecture, focusing on enhancing the throughput and reducing latency.
- Assembly Level Tasks
- M-sequence Generator
- PSS Matched Filter Enhancement
- FFT library verification
- Document translation
BSP Engineer (RTOS)
As a BSP Engineer, my responsibilities included developing, integrating, and optimizing embedded software systems. I managed the system integration, providing robust support for BSP-related issues, and ensured the implementation of features with reasonable performance in resource-restricted environments.
I designed and managed various platform features, such as memory management and interrupt handling, to support advanced communication protocols and HW integration. My role involved utilizing real-time operating systems (RTOS) for scheduling and managing tasks related to locks, mutexes, and interrupt timing control. Additionally, I participated in the debugging and testing phases to ensure system reliability and performance.
- Heterogeneous SOC Boot Up support
- RTOS Management
- Interrupt, DMA, and Timer Counter device Handling
- Memory Region & Protection Handling
- Data abort simulation and debug
- Git Management
Embedded SW Engineer (LINUX)
After I graduated from college, I worked for a company that supports Korean military service, specifically within control towers. This role involved managing a rack-based, large-scale system integrated with a database, ensuring robust and reliable operations. My main responsibility was programming embedded software, focusing on the integration of Linux embedded systems that process digital data.
Additionally, I developed numerous Embedded Software applications with FPGA integration and have experience handling both PowerPC and ARM architectures. My role consistently involved writing and testing software to interface with various hardware components.
- 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
The project involves developing DSP Intellectual Property (IP) for the 5G New Radio Vehicle-to-Everything (5G-NR-V2X) Sidelink Standard. This government-funded initiative aims to enhance communication technologies for autonomous and connected vehicles. Utilizing the Zynq UltraScale+ RFSoC ZCU216 evaluation kit , the goal is to create a robust DSP IP supporting high data rates, low latency, and the reliability required for 5G-NR-V2X.
As an Embedded Software Engineer on this project, my responsibilities included developing and integrating software components for the DSP IP on the ZCU216 evaluation board. This involved configuring the board, setting up the necessary software environment using Xilinx's Vivado Design Suite, and writing firmware to enable the IP's functionality. I worked on the implementation of real-time processing algorithms required for 5G-NR-V2X communication, ensuring they met the performance criteria. Additionally, I supported testing and debugging to validate the DSP IP's performance, My role also required collaboration with hardware engineers to optimize the IP's integration with the board's RF components, ensuring operation to the 5G-NR-V2X sidelink standard specifications.
Line Monitoring System
A Line Monitoring System (LMS) is designed to ensure the proper functioning and reliability of serial communication lines. It provides real-time monitoring, checks for serial errors, detects server disconnections, and integrates serial data from multiple devices to maintain smooth and continuous communication.
In the LMS implementation, I developed an embedded software application utilizing a MAX serial device to monitor serial communication lines. This device driver level project directly interfaced with an address map, SPI-connected serial devices. My responsibilities included writing and testing software that interacts with the MAX serial device, enabling real-time monitoring of serial-compatible devices, checking for serial errors, detecting server disconnections, and integrating serial data by scanning all SPI-connected serial lines from multiple devices under management.
Academic Project
My study in multimedia engineering covers digital signal processing, graphics, and computer vision, with a focus on the development of technologies for advanced digital media processing. This work involves enhancing DSP techniques for sound and image processing, as well as interactive media applications and 3D rendering technologies. With a solid understanding of programming languages, including C, my study aims to improve the performance of multimedia systems across various platforms.
In the formative stages of my scholarly activity, I completed coursework in key computer technologies, including operating systems, networking, and algorithm. Education also included classes in languages such as C, C++, Java, C# and Python. This phase was dedicated to building the technical skills necessary for high-level multimedia applications, supporting advanced software development and system optimization.