An ability to properly use some basic tools can help you to better understand large systems, like the Linux kernel, and uClinux-dist. Before starting to dig into the kernel source code, you should review the following tools, which are used on a daily basis. Starting work on a large system can be a very difficult task, simply as a result of the volume of code surrounding the system. Tools that help to cross reference a code base make tracing function calls or finding definitions of system constants much easier.
After understanding the basic tools, you can dig into the way the kernel works.
For more information specific to device drivers, check out the driver development page.