Uploaded March 2013 | Updated September 2026, 3 weeks ago
This is the second video in a set of three on Qt application development on the Beaglebone or any other embedded Linux device. The first video introduces the LCD module that I used and this video is where I set up a full toolchain for C++ Qt application development under embedded Linux (Qt for embedded devices). This toolchain allows us to cross compile Qt applications for the Beaglebone, deploy the applications directly to the beaglebone with a single click and even use remote debugging using gdbserver to diagnose any problems with our applications. The main use of this platform is for GUI application development when a LCD module, or external display is present.
In the final video I demonstrate an example application that uses an accelerometer and LED to act as output/input devices and I provide the full source code.
Thad Failor (via comments below) provides some information on how to deal with the requirement to execute . /usr/local/angtrom/arm/environment-setup in advance of starting QtCreator. The steps are:
- Open Qt Creator
- Open your project
- Click Projects under [Your Beaglebone Kit]
- Click Build
- Scroll down to the bottom and click details
- Click on Batch
- Edit Paste the contents of the ". /usr/local/angstrom/arm/environment-setup" removing any of the "export" commands.
If you use this video in your research, please cite:
Molloy, D. [DerekMolloyDCU]. (2013, March, 6). Beaglebone: Qt Creator for C++ ARM Embedded Linux Development [Video file]. Retrieved from youtube.com/watch?v=kP7uvOu9hoQ
Please find more information on these videos at: http://www.derekmolloy.ie/
This is the second video in a set of three on Qt application development on the Beaglebone or any other embedded Linux device. The first video introduces the LCD module that I used and this video is where I set up a full toolchain for C++ Qt application development under embedded Linux (Qt for embedded devices). This toolchain allows us to cross compile Qt applications for the Beaglebone, deploy the applications directly to the beaglebone with a single click and even use remote debugging using gdbserver to diagnose any problems with our applications. The main use of this platform is for GUI application development when a LCD module, or external display is present.
In the final video I demonstrate an example application that uses an accelerometer and LED to act as output/input devices and I provide the full source code.
Thad Failor (via comments below) provides some information on how to deal with the requirement to execute . /usr/local/angtrom/arm/environment-setup in advance of starting QtCreator. The steps are:
- Open Qt Creator
- Open your project
- Click Projects under [Your Beaglebone Kit]
- Click Build
- Scroll down to the bottom and click details
- Click on Batch
- Edit Paste the contents of the ". /usr/local/angstrom/arm/environment-setup" removing any of the "export" commands.
If you use this video in your research, please cite:
Molloy, D. [DerekMolloyDCU]. (2013, March, 6). Beaglebone: Qt Creator for C++ ARM Embedded Linux Development [Video file]. Retrieved from youtube.com/watch?v=kP7uvOu9hoQ
Please find more information on these videos at: http://www.derekmolloy.ie/









![Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT
A new version of this video is available (Jan, 2015) See: https://www.youtube.com/watch?v=T9yFyWsyyGk
This video introduces C and C++ programming on the Beaglebone platform, which is applicable to any embedded Linux development. I quickly introduce how we can program directly on the beaglebone using a terminal window and point out the limitations. I show the steps that are necessary to set up the Eclipse CDT environment and use the Target Management RSE (Remote System Environment) plugin to communicate with the Beaglebone. I then demonstrate how we can use Eclipse CDT IDE to cross-develop (using arm-linux-gnueabi) applications for the ARM architecture. To do this, I write a short program that flashes the user LEDs on the Beaglebone. Finally, I demonstrate how we can set up a cross-debug environment, where we use gdbserver on the arm device and gdb-multiarch on the client device to establish a full debug environment.
TangoBravo has pointed out that some paths have been changed in the current Angstrom image (June 2013). For instance, the path to the brightness properties has been changed in the latest version of Angstrom.
The old path: /sys/class/leds/beaglebone::usr3/brightness
...is now this: /sys/class/leds/beaglebone:green:usr3/brightness
So you have to make the change to get the LED to flash. Check your path to verify.
If you use this video in your research, please cite:
Molloy, D. [DerekMolloyDCU]. (2012, Apr, 10). Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT [Video file]. Retrieved from http://www.youtube.com/watch?v=vFv y...
One common problem that arises with this setup:
If bash reports file not found when executing an executable file that exists, the reason is that it doesnt recognise it as a binary file, and attempts to treat it as a script. The hypothetical script should start off with #!/path/to/interpreter and bash cannot find the (non-existent) interpreter so it returns file not found. This could happen if for example you are running a 64-bit executable on 32-bit machine, or an x86 executable on an ARM target.
In Eclipse your executable should display in your source directory as HelloWorld - [arm/le] in the project explorer window. If it does *not* then there is a problem with your compiler setup and you need to watch the steps again. If it *does* then one likely problem is if that you are using an ARM Linux platform that uses hard floats and that you have compiled using my setup which uses soft floats. Here are two possible solutions:
- Graemefisheratwork let me know that he has found that when using the ubuntu armhf distros, applications should be cross-compiled using arm-linux-gnueabihf- and not arm-linux-gnueabi-. This seems to have worked for him on the ubuntu 12.04 armhf build.
- Im using Linux omap 3.2.18-psp14 armv71 in this video that I built myself which has defaulted to soft floating point numbers. There are floating-point options in gcc that you have to set when using hardware floating point numbers you should add -mfloat-abi=hard to your compiler options. Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse CDT](https://i.ytimg.com/vi/vFv_-ykLppo/mqdefault.jpg)
