1. Resume
Name: Kenneth Feng
Gender: Male
Date of Birth: 1980/03/22
Email: kennethfeng0322@sina.com
Mobile: 15901680549
Qualifications
1. Solid experience in embedded application and driver designing, coding, debugging and testing.
2. Excellent in C and C++ programming on Windows and Linux.
3. Familiar with MCU, PowerPC and ARM architectures.
4. Familiar with OS principles/functions/protocols such as Linux, uCOS, PSOS, OSE, FreeRTOS, etc.
5. Proficient in Firmware development.
6. Skilled at scanner firmware, middleware, kernel driver developing and debugging on Windows, Linux
and MAC systems, familiar with the ASIC/MCU architecture in scanner.
7. Solid experience on USB, SPI, I2C, UART protocol.
8. Familiar with the memory devices (NAND, Nor, OneNand, Micro, MMC, eMMC…) programming
interfaces.
9. Skilled in debugging with hardware tools such as logic analyzer and oscilloscope.
10. Excellent in network camera’s PT-head software design, familiar with microstepping motor control.
11. Excellent soft skills including communicating with different stake holders as a software integrator and
FAE.
Work Experience
2014/05/14 — Now Axis Communications Ltd.
Senior Software Engineer
Responsibilities
1. Design/debug/test the application and driver in the PT head based on STM32F cortex M0, which controls
the motion of network cameras. Use Keil and IAR integrated development environment.
2. Design the software architecture and write the related documents.
3. Implement and debug the Pelco protocol based on RS485 to control the network camera.
4. Co-work with EE, ME and QA engineers for the trouble shooting.
5. Investigate, develop and fine-tune the microstepping motor driver, control the motor driver IC through
SPI interface to improve the acceleration/deceleration algorithm, velocity and noise performance in
the PT-head.
6. Port the FreeRTOS to the cortex M0 system, design the multi-tasking application in a multi-interrupts
context.
7. Implement the ISRs: USART, Timer, stop sensor, heater.
8. Implement the preset function for the network camera through I2C interface controlling the
2. EEPROM.
9. Implement the bootloader in the PT-head in order to update the firmware.
10. Coordinate the different resources in the project and lead the project technically.
2011/06/01 — 2014/05/13 Hewlett-Packard Information Technology R&D(Shanghai) Co., Ltd(HP)
Senior Software Engineer/Software integrator/FAE
Responsibilities
1. Provide Software design/coding/integration for firmware and driver level development for the scanner
development team, use Windows Visual Studio/WDK, Linux GNU tool chain, MAC XCODE/Carbon
Framework, TRACE32 debugger, Keil uVision and RealView ulink2 debugger as the development
environment. Write the scripts and makefile for the scanner development on Linux system.
2. Implement the FAE role, provide the technical support for global customers. Leverage the software
solution skills to debug and fix the compatibility issues between HP Twain driver and the customer’s
system(Visual Studio(C++)). Work closely with the marketing and sales people to win the big deals.
3. Coordinate with different stake holders in the projects as a software integrator.
4. Develop and implement modules in the scanner firmware, including microstepping motor control, image
calibration algorithm implementation, USB data transmission and protocol parsing.
5. Implement the embedded Linux application multi-threaded modules, such as USB endpoint server,
network server, JOB subsystem pipeline, scan engine monitor and scanner USB kernel driver…
6. Debug on the embedded Linux system with GNU tool chain for scanner firmware and kernel driver.
Debug on Windows system with Visual Studio/WDK and on the MAC OSX with XCODE/Carbon Framework
for Scanner PC driver. Add new features for Scanner driver&firmware.
7. Implement the MCU software part for scanner control panel.
8. Develop and improve the test/verification tools(Tulipscan, Tuliplog, ServiceNVRAM) for scanner
component test/trouble shooting on both Windows and MAC system(Visual Studio(C++) and MAC
XCODE).
9. Make the skeleton sample code and interfaces on both Windows and MAC system for Scanner PC
driver.
10. Assist in the development and execution specification of test plans during development.
11. Using 3rd
party development resources, define detail software development requirements,
communicate to 3rd
party resources, develop milestone based on schedule to assure appropriate
progress, audit development to assure that software meets design criteria milestones, assure tests to
cover main attributes of software, work on bug fix and test.
2010/09—2011/6 Ingersoll Rand Corporation Embedded Software Engineer
Responsibilities
1. Design, code and debug the software(C and C++) to control the indoor/outdoor units of the HVAC
system based on the Atmel and MicroChip MCU.
3. 2. Implement and upgrade the PC side software(using managed C++ on .NET Framework) to monitor and
control the HVAC system.
3. Document software design from system level to detail level.
2007/08—2010/09 Data I/O Corporation Embedded Software Engineer
Responsibilities
1. Develop, code, debug the algorithm/driver software(C&C++, WindRiver IDE) to run on Data I/O's
programmer platforms for Flash chips based on OSE RTOS and PowerPC.
2. Develop and debug the firmware for new programmer system based on PowerPC.
3. Develop and debug the application and DLL for PC side software connecting the programmer based on
Visual studio.
4. Test and release algorithms developed above.
5. Ensure conformance to delivery, cost, quality, and overall customer satisfaction targets.
6. Analyze device support requirements and estimate development effort.
7. Assist the hardware engineer to define the adapter interface with the NAND, OneNand, Nor, Micro,
MMC, eMMC chips.
2003/07—2006/03 Shanghai Ship and Shipping Research Institute
Embedded Software Engineer
Responsibility:
1. Design the management and driving software for communication networks
2. Design the IP telephone software based on embedded systems
3. Maintain the hardware and software of switch products ;
4. Technical support
Project Experience
1. ISDN Telephone System
Design and implement the software of MCS8051 used in the ISDN telephone.
2. IP Telephone System
Design and implement the Embedded software (with C/C++) in IP telephone(based on NIOS Embedded System)
including application software and driver.
Education
1999/09—2003/07 Electronics Engineering Bachelor Dong Hua University
Language Skills
1. Excellent English speaking, reading and writing ability
2. Excellent Korean verbal and writing ability
Certificate/License
1. CET-6
2. TOPIK-5(Test of Proficiency in Korean-5)