I am using a raspberry pi to practice low level development with a differential drive robot; bare metal without an OS underneath.
I've gotten to the point where I have a very small, single purpose kernel that drives a couple of DC motors, and reads an IR sensor over I2C with an Analog Digital Converter.
I have also started writing code for a PID controller: so far so good.
I use a bootloader over USB to UART to update the Pi with new versions of the kernel, and I also started looking at the Check unit test framework, so I can avoid too much trial and error
However, many of the online material about robotics use simulators (which makes great sense).
I am familiar with Gazeebo, and the one from GA Tech as well, and this lists a great number also
However I am having trouble understanding how I can use my C code for bare metal on one of these simulators?