In my early career, I worked with embedded system. Although, most of the time I only handled userland of Linux. But no matter we work with user space or kernel space, you have to be proficient with C programming language. We definitely need some books to gain deep knowledge of C.

There are books I suggest you could consider: