I have been able to boot the i.MX6 board into Linux following the comprehensive guide written by Robert Nelson. Thanks.
So far, so good. Now, I’d like to build some C programs, beginning with “hello world” then moving on to some hardware manipulation. This immediately exposes how sketchy my understanding is of the whole infrastructure around board support packages, device trees, libraries for C/C++ programs etc.
The NXP documentation is helpful up to a point. By following instructions I was able to build a bootable SD card, but they stop short of giving an example of how to build an application program.
I am generally quite a quick study, but there is sooooo much information out there about specific build systems (Yocto, Buildroot) that I am drowning in a whole lot of detail that I’m not ready for yet, or that isn’t relevant to what I want to do.
I would love to find a guide that explained enough concepts for me to see enough of the big picture to be doing more than just dumbly following along and then, ideally, lead me though an example that I can get working on this board. I’d be happy to pay for a book that did a good job, but I’ve not really found anything that seems a good match yet. Suggestions are welcome.
Robert’s directions for the bootable SD card were accurate and easy to follow, so I’m wondering if he would be willing to make a follow-up article explaining the steps required to cross compile (on Linux, presumably) a simple program for this board?
Along the way, it would be excellent to have some discussion/explanation of how the toolchain fits together. What libraries are required, and why? How do things work with different versions of Linux on the PC and embedded system? Is Eclipse a good system for embedded development? If so, any pointers? Command line is fine too…
I realize it’s a large subject, but a bit of a kickstart would be very much appreciated.