For me, it was the requirement to add a LCD panel to my Raspberry Pi. This was a Sain Smart LCD.
After some searching I decided to use fbtft as the driver for accessing this LCD. For this solution, I had to build a kernel module.
In this post, I describe the single steps to build a kernel and/or integrate a new module into the kernel.
For the integration of the Sain Smart module see me post Add Sain Smart LCD to Raspberry Pi
What is Wt ?
In their introduction on the Wt main page they write:
“…Wt (pronounced as witty) is a C++ library for developing web applications…”
The idea of writing web apps in C++ sounds a bit weird at first, but I found Wt the ideal solution for me and the following project:
I wanted to use a Raspberry Pi as a mini server which periodically logs into a Fritzbox, reads out the phone caller list and displays this on a small LCD
Wt being the main service behind and an easy way to configure this and be able to query more detailed information.
Compiling directly on the Raspberry Pi (working under Raspbian) is possible, and in fact, some things are easier this way. But using a complete IDE on the Raspi will be really slow.
If we want to write a small tool with a few C files, the native gcc on the Raspi will be sufficient. And we do not have to care about different versions of glibc or else. Compiling the kernel or some larger project can take hours or even more than one day.
So using a cross compiler will be the solution.
In the following sections we assume that we either need a cross compiler for :
- compiling the kernel / kernel module (add LCD module to Raspi)
- use Wt (Web Toolkit) together with Qt creator
Both were my personal requirements for a cross toolchain. Using Wt on the Raspi is a bit special and of course not a requirement which many will have. More to Wt and it’s usage later (on a separate post).