MB

Michael Barr

Embedded Systems Programmer and Author

US

ABOUT

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.

SKILLS

CC++Assembly LanguageEmbedded CEmbedded C++
Device Driver DevelopmentReal-Time Operating SystemsInterrupt Service RoutinesHardware InitializationMemory ManagementFlash Memory ProgrammingPeripheral ControlTimer/Counter ProgrammingSerial CommunicationsI/O Control
Intel 80188EBIntel 80x86 FamilyMicroprocessorsMicrocontrollersDigital Signal ProcessorsMemory-Mapped I/OHardware Debugging
GNU Compiler Collection (gcc)GNU Debugger (gdb)Borland C++ CompilerTurbo AssemblerTurbo DebuggerCross-CompilersLinkers and LocatorsIn-Circuit EmulatorsLogic AnalyzersROM Emulators
RTOS DesignTask SchedulingContext SwitchingMultitaskingMutex ImplementationSemaphoresIntertask CommunicationPriority-Based Scheduling
SRAMDRAMFlash MemoryEEPROMEPROMNVRAMMemory TestingCRC ImplementationChecksum Algorithms
Serial CommunicationsRS-232UART ProgrammingSCC (Serial Communications Controller)Zilog 85230Interrupt-Driven I/O
Code OptimizationMemory OptimizationPerformance TuningHardware AbstractionSoftware ArchitectureDebugging TechniquesBuild ProcessesCross-Platform Development
Real-Time SystemsDeadlock PreventionPriority InversionWatchdog TimersDMA ControllersInterrupt LatencyFixed-Point ArithmeticData Flow Analysis

EXPERIENCE

Author - Programming Embedded Systems in C and C++

1997-01 - 1999-01

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

EDUCATION

University (Name not specified in document)

- Present

Bachelor's Degree in Computer Science or Computer Engineering