Hi,
we don´t know about nothing about your problem.
On a microcontroller with harvard architecture you need to compile both sources together ... then you don´t have two independent binaries.
On a machine with van Neumann architecture, (like a PC) you usually have an OS. And you have to take care about OS functionality when compiling a new piece of software.
***
Another thing is:
* In post#1 you talk about a "C program", which usually is the source code and needs to be compiled.
* but in post#3 you talk about "binaries" ... which usually is the result of a compiler.
Klaus