CppDepend: A C++ Dependency Analyser
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I… Read More »CppDepend: A C++ Dependency Analyser
I evaluated the dependency analyser CppDepend on a real-life embedded application. My goal was to find all dependency cycles between classes in the application. I… Read More »CppDepend: A C++ Dependency Analyser
We want to develop the Internet radio application for the Raspberry Pi in the same way as for a PC. We change the source code in QtCreator and run the application. QtCreator cross-builds the application on the PC for the Raspberry Pi, deploys it with SSH to the Pi and runs it on the Pi. We need a Qt SDK for this to work. In addition to the target libraries from the Linux image, the Qt SDK contains the library headers, a cross-compiler, a cross-linker, a cross-debugger and more.
Read More »Qt Embedded Systems – Part 2: Building a Qt SDK with YoctoIn Part 1 of the series on Qt Embedded Systems, we build a custom Linux image with Yocto for the Raspberry Pi 3B. When we… Read More »Qt Embedded Systems – Part 1: Building a Linux Image with Yocto
The book Accelerate – Building and Scaling High Performing Technology Organizations by Nicole Forsgren et al. is an eye opener and game changer for everyone involved in software development. Nicole provides empirical evidence why teams that apply best practices like test and deployment automation, continuous integration, loosely coupled architectures and team empowerment by far outperform teams that don’t. Following the practices of the Agile Manifesto, eXtreme Programming and Scrum enables teams to deliver software both faster and with higher quality than teams ignoring these practices. Trade-offs between speed and quality are debunked as lame excuses.
Read More »Book Review: “Accelerate” by Nicole Forsgren et al.In my recent post Benefits of a Relocatable Qt, I explained how to relocate Qt from a build server to a developer PC and from the PC to an embedded system. Qt is installed in three different locations. My solution has two small deficiencies. First, it sets the install rpath to an absolute path and restricts the installation to this absolute path. Second, it forces us to create a tarball of the installation directory on the PC manually. Let us fix these two deficiencies.
Read More »Creating Simple Installers with CPackBob builds Qt for the development team on a fast compute server. He packs Qt into a tarball and hands the tarball to his teammates. Alice installs the Qt tarball on her PC in a directory that differs from the installation directory used by Bob. As the target embedded system runs on an AMD Ryzen SoC with x86_64 architecture like the build server and the development PC, Alice installs Qt on the target system – yet in another directory. She can then try out the latest changes of her app directly on the target system. As Qt is relocatable since version 5.14, Alice’s and Bob’s jobs have become quite a bit easier.
Read More »Benefits of a Relocatable Qt