Post Job Free
Sign in

emmc camera embedded fpga vivado imu opencv tensorflow linux kernel

Location:
Suwon-si, Gyeonggi-do, South Korea
Posted:
February 07, 2020

Contact this candidate

Resume:

Jaehyek Choi

E-mail Address: adbn0s@r.postjobfree.com

Phone (mobile): +82-10-824*-****

Current Address: Suwon-si, Gyeonggi-do, 16687, Rep. of KOREA

Experience Summary

My Career is focused on 3 category as embedded / firmware software engineer

1. Image Reading / Image Processing

- Image capture from Camera Sensor ( Sony IMX179, MIPI CSI RX ) with FPGA programming

of Xilinx Vivado using Zynq7020

- Camera Image Debayering to Color and Mono Space with FPGA programming ( VHDL)

- Gauge Image Processing and Detection of Digital Number with OpenCV and Pytorch

2. Android Phone Storage Memory and Linux Kernel Drivers

- Wrote eMMC/UFS Android Linux Kernel Driver relative to Bootloader

- Setup eMMC/UFS Flash Memory FTL(flash translation layer) Validation System for Android phone

3. Communication Device Drivers for Embedded System and More

- Reading IMU (Inertial Measurement Unit) "MPU9250" data via SPI interface

- WIFI/Bluetooth programming to transfer IMU Data

- Wrote Embedded Device Driver of PMIC, LCD, NAND Flash for Mobile Phone.

- Wrote Embedded USB Driver for Camera Image of PDA-one Chip

- Wrote Windows Display Device Driver for 2D/3D Acceleration Graphic Card using Windows SDK/DDK.

( see next page )

Work Experience

Mar 2018–Present RbioTech Seoul, Korea

Position Title: Software Development Engineer/Leader

Project 1: Gait and Motion Analysis System “Human Track” for Medical Equipment

-The project captures the patient's gait and analyzes it to find clinical implications and provide the medical staff with the information they need.

Role: Firmware Development for Medical Equipment.

Wrote the IMU (Inertial Measurement Unit) firmware with MPU9250 and STM32F103 including reading gyroscope and accelerometer 6 axis data via SPI protocol for capturing the patient’s gait.

Wrote the IMU data transfer with WIFI Module ( ESP8266 ) and Bluetooth module.

Wrote Gyroscope temperature compensation algorithm with 1 axis step motor

Writing Android Java Application rendering the foot pressure distribution of patient’s gait from foot pressure sensor with Bluetooth module .

Project 2: Vision Intelligent Transport Management System ”Vision Track”

-This project recognizes objects in the screen with two cameras and measures the distance and the number of objects with stereo matching algorithm.

Role: Firmware Development for Vision System and Traffic Flow Measuring Device.

Wrote the firmware for Traffic Flow Measuring device which is composed of Xilinx ZYNQ 7020 / SDK

Wrote VHDL-programming with Xilinx Vivado for the Sony Mobile Camera (IMX179) Interface Specification “MIPI CSI2 RX” to capture an image.

Wrote VHDL-programming with Xilinx Vivado for Color Conversion to decode a bayer image.

Others:

Writing Pytorch programming to recognize the gauge number image using CNN ( Convolution Neural Network )

Mar 2004–Mar 2018 LG Electronics Seoul, Korea

Position Title: Software Development Engineer/Leader

Project 1: eMMC/UFS Flash Memory Validation System Project

-This project is a system to check the functionality / safety / durability of the storage of eMMC / UFS which is the storage for android smartphone using Qualcomm Chip.

Role: Development of Linux Kernel Driver and Validation of eMMC/UFS Flash Memory of Android Phone

Improvement: eMMC Kernel Device Driver of Android Phone Bootloader

Development the eMMC/UFS Flash Memory Validation Board using Qualcomm chip(MSM8952, MSM8996)

Development of eMMC/UFS Flash Memory FTL Validation Executable embedded Progam

Setup eMMC/UFS FTL(flash translation layer) Validation Equipment & process

- Main functions: Wear Leveling, Bad Block Management, Garbage Collection, Power Off Recovery, Mapping Algorithm, Read Reclaim, Read Retry, Cross Temperature, Hot Temperature

- Target vendor: Samsung, Toshiba, Hynix, SanDisk, Micron

Project 2: Mobile Phone Binary Sanity Check Project

-This project checks the many software binary versions that exist in the LG mobile phone production line and makes sure that the binary is correctly installed.

Role: Field Defect Analysis of Android Smart Phone and deployment of Sanity Check Program process

Sharing the sympathy and consensus of Field Defect Issues with Inspection Technical Team and All of Development Team

Implementation of Sanity Check Program within LG mobile phone internal hidden menu

Development of process that all of new-launching LG mobile phone should include the Sanity Check Program in hidden menu and deployment at Korean and Chinese LG Factory.

Project 3: V (VX9800) VZW Feature Phone Project

-The project is the first LG mobile phone with a dual screen, developed for only VZW to meet the delivery schedule.

Role: project SW manager to meet the delivery schedule.

Risk Management of schedule and Product Design Review

Management of 45 Task Members and Deployment of the product functions

Met the VZW feature Requirement

Met the Quality Requirement

Met the Manufactory Requirement

Met the delivery schedule

Launched the product successfully

June 2002–Dec 2003 Motorola Korea, Seoul

Position Title: Embedded Software Engineer & Function Leader

Role: Writing embedded Device Driver for Mobile Phone and Function Leader of

Bluetooth Profile which was based on REX ( Qualcomm Real time OS )

Device Driver : LCD, NOR Flash Memory, Power management

Project involved : RaceTac, T720,

Tele-Communication with Bluetooth Head Quarter Team.

Function Leader : Bluetooth stack(Headset, Hands-free, DUN )

- re-arrange function to member

- manage the D-day schedule.

- Compatibility Test of Bluetooth.

April 2000–June 2002 Synertek Korea inc. (startup company) Seoul, Korea

Position Title: Firmware Software Engineer

Project: PDA-purposed SOC project

This project is to develop SOC chip for general purpose PDA with LCD screen, USB, CAMERA and Keypad functions.

Role: Writing embedded device driver for PDA-one Chip Design.

Wrote device driver: USB image, USB Storage, USB Camera for Realtime OS.

Wrote Windows video WDM driver for PDA

Implemented Protocol: IrDa Stack, TCP/UDP/IP

Wrote the embedded driver for JPEG, MPEG4.

Guide a H/W design Structure : JPEG, MPEG4

Feb 1990–Mar 2000, SAMSUNG, Semi-conductor Business Division GiHeuong, Korea

Position Title: Embedded Software Engineer

Project: Windows 2D/3D Acceleration Graphic Card Project

-This project is a Windows compatible graphic card with 2D/3D acceleration.

Role: Writing Display device driver for Graphic Display One Chips

Analyze a 2D graphic algorithm of Windows written with MASM Assembler Language(x86) and C.

Guide a H/W design Structure for Graphic Chip

Wrote the 2D, 3D Display Device Driver for the Windows supporting Hardware Graphic chipset KS82C604, KS82C605, KS82C615

wrote the WDM(Windows Driver Model) driver with DirectX

Wrote the PC Video Bios for graphic Chip

Support all of windows products.

Programming Language, Developing Platform and Library

C(over 20 year), C++(15years), MS Visual C++ & MFC (10 years)

ARM assembler(4years), X86 MASM Assembler( 7years), Java(3year)

WDM, DirectX ( DirectShow, 3years )

Python with numpy, scipy, pytorch

MySQL, Sqlite3, MSSQL Server, Docker

REX(Qualcomm Real time OS, 5year), RTXC ( Realtime OS, 2years),Linux(5year), Windows 98, NT, 2000, XP, Android OS

Android Studio, Tensorflow, Pytorch

VHDL/Verilog(Hardware Description Language) with Xilinx Vivado & SDK

Git

Debug Tools and Equipment

SoftICE, TRACE32 + JTAG

Logic Analyzer

IDA pro, OllyDbg, Windbg

Minitab

Certificate

Six Sigma Master Black Belt from LG Electronics



Contact this candidate