Embedded Systems Software Engineer Is Responsible for Designing the Embedded Systems and Installing Them in Machines and Tools
Total Page:16
File Type:pdf, Size:1020Kb
Embedded Systems Software Engineer Responsibilities Embedded systems software engineer is responsible for designing the embedded systems and installing them in machines and tools. They design and develop the software that controls the processor (micro-controllers and digital signal processors) of the machine. These systems provide functionality to the machines. The work of an embedded engineer is considered as important and challenging, since their efforts give utility to a machine. If you are keen on handling embedded systems software engineer responsibilities, then you need to be aware of the requirements, duties and career scope of this profile. Here are a few details for your assistance. An embedded system refers to a computerized system that controls the functioning of a specific machine. Every machine is built with a specific purpose. The embedded software functions like the brain of the machine and controls the tasks that the machine is designed to perform. The micro-controller is a chip that has the memory to store program data. It receives the commands, operates as per the inputted data and provides relevant results. Some popular examples of appliances that use embedded systems are digital watches, cars, robots, toys, electric appliances, etc. Understand the client requirements and write down the software details Study the specifications provided by the clients and seek clarifications for the doubts raised Submit the price quote and the details of the time required to execute the plan Receive the client's approval for the price quote and product planning and then begin work Draft a flow chart to plan and organize the methods by which the software would deliver Translate the software requirements into software functions by coding the program Design and develop the software based on the designs approved by the review committee Install the software in the system and test for efficiency and productivity Ensure the system responds with an error message if a wrong command is typed in Debug the system to remove the anomalies and inconsistencies Upgrade the software and modify its features to meet the changing client demands Troubleshoot the system in times of system failure or breakdown Coordinate with engineers from other disciplines to develop the end product of the requisite standards Conduct meetings with the clients on monthly basis to discuss project progress Provide satisfactory answers to the client queries, suggestions and complaints Customize the software to suit the product nature, size and expected functioning An embedded systems engineer works in liaison with other engineers. The team of engineers is responsible to deliver the end product to the client. The embedded engineer handles the software development part alone. Hence, to make sure that the entire product delivers as promised, he has to collaborate work with the electrical engineers or mechanical engineers from time to time. Embedded engineering is a field that involves interaction with other disciplines and hence, little knowledge about other engineering profiles is always an added advantage. Candidates require bachelor's degree in computer science, electrical engineering, software development, embedded software, etc. They require exceptional programming skills and competence in using software tools. Also, the knowledge of operating systems and of the interaction between hardware/software is important for this profile. The attributes of problem solving ability, analytical skills, proactive behavior and adaptable approach are important at this position. This discipline of engineering provides scope for creative minds and posses challenges to perform quality work. The job scope for embedded engineers is bright since they find job opportunities in several fields. Both private and government organizations employ them. They find work in military units, intelligence services, manufacturing units, IT companies, science research institutes, medical research institutes, etc. Hence, since the job opportunities for embedded engineers are available in considerable numbers, it is attracting a lot of attention from young graduates. This was a quick overview of the embedded systems software engineer responsibilities, requirements and career scope. We hope this information will help all the job seekers in finding information vital to the career needs. Resume of David Weber [email protected] OBJECTIVE Technological opportunity that promotes development of current and new skills in a leadership or individual contributor role. SKILL SUMMARY Creative Software/Hardware/Firmware Engineer with broad-based experience, including extensive experience in embedded microcontroller-based system software architecture/design, team/technical leadership, multitasking embedded real-time systems, device drivers, communication protocols, medical devices, multi-axis robotic systems, electro-optic systems, control systems, safety systems, automated test and measurement systems, client/server systems, advanced web site development, on-chip ROM/bootloader development, ASIC SoC and PCB bring-up and debug, API implementation, chip/board support package development, hardware/software interaction, and use of logic analyzers and oscilloscopes. Extensive experience in process-driven software development. Excellent oral and written communications skills. Exceptional system design and documentation skills. DEVELOPMENT LANGUAGES/TOOLS/OPERATING SYSTEMS/TARGET PLATFORMS/COMMUNICATION PROTOCOLS C Green Linux 68360 USB C++ Hills HP-UX MPC860/MPC8 TCP/IP C# Software AIX 66 RS232 ARM Code RTOS TI RS422/48 Assemb Composer ThreadX TMS320C203 5 ly GCC GHS DSP GPIB TI DSP IAR Integrity ARM926 SPI Assemb Embedded pSOS ARM968 I2C ly Workbenc Windows ARM11 Ethernet 68K h STMP3600 HDLC Assemb C++ AL5300/AL535 NFC ly Builder 0 HTML Visual HX3100 DSP Perl Studio ARM Cortex A8 PHP Rhapsody ARM Cortex M4 Python UML Beagleboard/bon bash Subversio e MySQL n Git CVS Source Safe Clear Case PROFESSIONAL EXPERIENCE 04/2012 - Present - Abbott Diagnostics, Irving, TX Principal Engineer - New Product Development Firmware development for Cortex M4 controller boards. 01/2011 - 04/2012 - Avnet, Inc., McKinney, TX Team Lead - Software Application Engineering Bridging the software engineering knowledge gap between semiconductor suppliers, FAEs, and customers. Focused on Embedded ARM/Linux on Freescale, TI, Marvell, and Atmel processors. 12/08 - 01/2011 - Coherent Logix, Inc., Austin, TX Senior System Software Engineer Developing embedded Linux servers and command-line & GUI clients for JTAG-like debugger probe based on iMX31 (ARM11) processor using C, C++, and Java. System software architecture for Software Defined Radio (SDR) development platform for Coherent Logix's massively-parallel DSP architecture. Created PHP scripts to generate register access data structures and C source code enabling registers to be read by name from a command interpreter. Responsible for low-level hardware access functionality for diagnostic application, as well as components of an API library. Developed C++ client/server socket classes, SPI Flash progromming utility, C# client to test server connect/disconnects, .elf file parser/loader that loads code/data into 100 DSPs and 121 memory banks via JTAG interface, and a compressed bootloader and command interpreter for Space Station radiation experiment/test system. 06/08 - 12/08 - Qualcomm, Austin, TX Staff Engineer C/C++ Library devleopment for VLIW DSP. Created Python scripts to populate multilib libraries. Ported various open source libraries to VLIW DSP. 10/06 - 06/08 - Alereon, Inc., Austin, TX Senior Software Engineer Developed software for Ultra-Wideband (UWB) SoC for the WiMedia and Wireless USB (WUSB) market. Responsible for on-chip ROM bootloader development for ARM968-based SoC, including WHCI protocol (over PCI Epxress), USB High Speed Device and SPI interface driver development, ROM Monitor over RS232, and SPI flash boot manager, using ARM assembly and C. Responsible for ROM RTL simulation creation, execution, and acceptance testing. Created web-based tools to auto-generate register access definitions (header files, html files, and debugger files) using PHP scripts. 7/04 - 10/06 - SigmaTel, Inc., Austin, TX Senior Embedded SW Application Engineer Responsible for development and support of a Linux board support package and corresponding web site, and an OS-less chip support package for SigmaTel's ARM926-based STMP36xx multimedia SoC. Responsible for kernel configuration, cross tool chain and root filesystem creation, bootloader development, debugger hardware evaluation and selection, and device driver development for audio input, audio output, and low-resolution ADC devices. Responsible for support of international customers, partners, and design houses. Senior System Software Engineer Designed and developed ROM startup code for STMP3XXX using ARM assembly and GHS Multi. Developed validation test code for Realtime Clock and UART blocks STMP3600 SoC. Provided demonstrations and training to SigmaTel-Korea Application Engineers and several key customers. Ported 100+ validation test cases to the GHS environment for initial STMP3600 chip bring-up. Designed and developed External Memory Interface (EMI) Hardware API for STMP3600 SDK. 8/01 - 7/04 - Emerson Process Management, Inc., Austin, TX Principal Software Engineer Lead Engineer responsible for the concept, specification, design and development of the peer-to-peer communication