Embedded Systems Programmer and Author
US
Expert embedded systems programmer with extensive experience in C and C++ programming for embedded applications. Author of 'Programming Embedded Systems in C and C++' published by O'Reilly & Associates. Specializes in embedded software development, device driver design, real-time operating systems, and hardware-software integration. Deep expertise in processor architectures, memory management, peripheral interfacing, and optimization techniques for resource-constrained embedded systems.
O'Reilly & Associates
Authored comprehensive technical book on embedded systems programming covering the complete software development lifecycle for embedded platforms. The book introduces embedded systems to C and C++ programmers and covers testing memory devices, writing and erasing Flash memory, verifying nonvolatile memory contents, controlling on-chip peripherals, device driver design and implementation, optimizing embedded code for size and speed, and making the most of C++ without a performance penalty. Created example programs and applications demonstrating real-world embedded development techniques including hardware initialization, device drivers, multitasking with ADEOS operating system, serial communications, and complete applications. Developed reusable embedded software components including timer drivers, LED controllers, serial port drivers, and operating system primitives. • Authored complete technical book covering embedded systems programming in C and C++ • Developed ADEOS (A Decent Embedded Operating System) with task management, scheduling, and synchronization primitives • Created comprehensive device drivers for timers, serial ports, and peripheral controllers • Designed and implemented complete example applications including multi-tasking systems • Covered memory testing algorithms, Flash memory drivers, and memory validation techniques • Explained context switching, interrupt handling, and real-time operating system concepts • Provided optimization techniques for code size, execution speed, and memory usage • Demonstrated hardware-software integration using Arcom Target188EB development board • Created educational materials on build processes, debugging techniques, and development tools
Bachelor's Degree in Computer Science or Computer Engineering