*Role: BIOS Engineer Years of experience: 4-7 years Location: Chandler, AZ Duration: 12 Months+ **Mandatory Technical Skills:*
*Embedded engineers w/ deep understanding of UEFI BIOS.* *Knowledge of CherryTrail & Braswell a +* * Experience Required:* · The candidate should understand firmware in embedded environments. · The candidate should have experience developing embedded and/or real time firmware. This is considerably different from application and web development in that the emphasis is on resilience, small footprint and self-healing. · The candidate should be able to broadly compare two implementations regarding the number of potential failure paths. · Given a description of two implementations, the candidate should be able to explain which will consume less memory, both static and dynamic. Ideally, the candidate should also be able to suggest improvements. · The candidate should be able to handle both exception-based and error code-based recovery mechanisms. · The candidate should be comfortable writing code that does not utilize standard libraries or OS calls (low-level code). · The candidate should be extremely familiar with direct memory access constructs and methods, particularly pointer manipulation and mixing data access types and widths. · The candidate should understand the repercussions of different types of data and instruction caches (i.e. cache line cleans, flushes, locks, · The candidate should understand threading at a low level, both cooperative and preemptive. · The candidate should understand how synchronization objects are implemented (e.g. critical sections, mutexes, semaphores). · The candidate should understand priority inversion, I/O polling, and interrupts, as well as the related ramifications. · The candidate should have experience fitting code images into a fixed RO part (e.g. 1Mbit EEPROM) · The candidate should have a working understanding of how binary images are generated (how compilers, linkers and make tools work in concert). · II. The candidate should be comfortable using and developing for embedded Linux environments. · III. The candidate should be comfortable with the C programming language, and know how to use it in an object-oriented manner, whether or not C++ is used. · IV. The candidate should be familiar with the workings of both x86 and ARM processors, including a minimal understanding of assembly language and use of symbolic debuggers (e.g. gdb, lldb). · V. The candidate should be familiar with the use of hardware debug aids (e.g. JTAG, ITP). · VI. The candidate should be comfortable using hardware probes and/or oscilloscopes. · VII. The candidate should be able to "root cause" an issue, beyond debugging a problem, even when certain components are known to not function correctly or to exhibit flaws. · VIII. The candidate should be minimally familiar with the Linux and Windows driver models. · IX. The candidate should understand Ethernet at a low level. -- Thanks & Regards *Rathna KumarCharter Global | Technology ConsultingPh: 770-326-9933 x 336 rvoothuko...@charterglobal.com <rg...@charterglobal.com> I www.charterglobal.com <http://www.charterglobal.com/>* -- You received this message because you are subscribed to the Google Groups "REQSRESUMES" group. To unsubscribe from this group and stop receiving emails from it, send an email to reqsresumes+unsubscr...@googlegroups.com. To post to this group, send email to reqsresumes@googlegroups.com. Visit this group at http://groups.google.com/group/reqsresumes. For more options, visit https://groups.google.com/d/optout.