Explore the following list of reference materials to learn more about embedded systems:
Linux application development
Embedded Linux Projects Using Yocto Project Cookbook (includes an entire chapter dedicated to application development as well as debugging, tracing, and profiling)