Gillian is an embedded software engineer at the Johns Hopkins Applied Physics Laboratory (APL). As part of a rotation program at APL, she has been able to work in a variety of embedded software teams on defense and space projects. In her current rotation, she is on the team building the embedded flight software for the Dragonfly mission to Titan, Saturn's largest moon. She holds a Bachelor’s degree in Computer Engineering from the University of Michigan and is currently pursuing a Master’s degree in Computer Science from Johns Hopkins University. In her free time, she enjoys running and exploring the D.C. area where she is based.
Demystifying Embedded: Techniques for Low-level Testing and Debugging
Many embedded software engineers start their careers with the expected software testing and debugging skills such as writing unit tests, leveraging a visual debugger, finding memory leaks with valgrind, and, let’s face it, using print statements. However, embedded software development requires more embedded-specific strategies that many do not get the chance to learn in school. This talk shares the best techniques for understanding what a microcontroller is doing at a low level, such as reading fault registers, looking at disassembly, counting clock cycles, and using logic analyzers -- strategies used by newbies and veterans alike. Each strategy will be accompanied by a demonstration and all necessary instructions so listeners can easily apply what they have learned to their work.