Exploring Startup Implementations: OS X

For most programmers, a C or C++ program’s life begins at the main function. They are blissfully unaware of the hidden steps that happen between invoking a program and executing main. Depending on the program and the compiler, there are all kinds of interesting functions that get run before main, automatically inserted by the compiler and linker and invisible …

Missing /usr/include after updating to OSX 10.14? Try this fix

Last week, I updated OSX to 10.14. After installing the XCode command line tools, I noticed that most of my projects were failing to compile. I did some poking around and found that /usr/include/ was missing. It seems that Apple updated their software tools to look within the OSX SDK path for headers. Unfortunately, for …

OpenOCD: Dealing with Driver Conflicts on OSX

OpenOCD is a very useful tool for embedded developers. OpenOCD is an open source project providing support for on-chip debugging on embedded systems. OpenOCD supports JTAG and SWD, and also allows you to run gdb-remote for debugging your system. On OSX, there are often issues with driver and resource collision. OpenOCD requires the libFTDI package …