Development of an Embedded Test Platform: A Real-Time Programmers Perspective
Master thesis
Permanent lenke
http://hdl.handle.net/11250/261414Utgivelsesdato
2014Metadata
Vis full innførselSamlinger
Sammendrag
As the embedded world grows day by day, more complex operations are carried out in this environment. The embedded market is no longer dominated by the 8-bit segment, and future embedded and real-time programmers will thus need a wider range of knowledge and skills. This project is a study into several aspects of embedded real-time systems. The first goal was to create a versatile test platform for future programmers to learn real-time and embedded programming principles. The second goal was to study GNU/Linux in an embedded real-time environment. The purpose of the first goal was to create an improved alternative to the course assignment in TTK4147, Real-Time Systems, where today's exercises are either outdated or run on virtual machines. The purpose of the second goal was to investigate the potential for a complex operating system to offer hard real-time characteristics. This project has created an embedded platform for testing embedded and real-time principles. The platform consists of a single-board computer together with a stackable cape by own design, containing a 8-bit microcontroller circuit. The cape, called the External Response Tester, was programmed to perform testing on the responsiveness of the connected hardware, and it was shown that it did so with precision. We also expanded on the operating systems catalogue for the single-board computer as we ported a fully preemptible Linux kernel, as well as the real-time operating system FreeRTOS to work on the board. This complete educational platform was found to be capable of unifying and replacing most of the TTK4147 course assignments.The operating system GNU/Linux, more importantly the fully preemptible PREEMPT\_RT version, was evaluated in terms of usage in hard real-time systems. An analysis that compared results from the ordinary Linux kernel, the PREEMPT\_RT patched Linux kernel, and FreeRTOS was carried out. We concluded that the fully preemptible Linux version is not "definitely unsuitable", and its applicability depends on the requirements of a given real-time application.