Softwareentwicklung

Software Development

Trust your core competencies

So do we. And relieve you of the tedious bootloader and operating system integration. We supply complete, "application-ready" platforms with ready-to-run pre-integrated operating systems, including the required peripheral drivers. As a result, the tedious creation of Board Support Packages (BSPs) is a thing of the past.

Trust the decades of experience of the specialists of Garz & Fricke and focus on your own competence: application software and apps. And if you do not want to get involved in software at all or if you want to buy a turnkey solution including application software from us, this is not a problem: we have proven partners who then perform the programming.

To make software development and distribution easier, we rely on proven standards such as Windows™ Embedded Compact, Windows CE, Linux and Android™. As a long-term certified Microsoft partner, we can directly access the internal Windows support and have access to the source code, too.

Linux as an open-source system is maintained by the community. While all of our current embedded systems support Yocto™, some older systems still use the Pengutronix distribution ptxdist. We support different kernel versions from standard to mainline, but also kernels with real-time extensions using PREEMPT_RT.

For Android our choice is the Android Open Source Project (AOSP). With the great success of Android, powerful and extensive development environments (SDK = Software Developers' Kit) are available now.

Software development

Show all answers
Hide all answers
  • What is the year 2038 problem?

    Unix-based 32-bit systems represent the time through the seconds that have passed since January 1, 1970, and store it as a signed 32-bit integer value. Accordingly, the period is limited and there will be an overflow on 19 January 2038. This overflow can have a negative impact especially on poorly implemented timeouts in the software.

    Is this answer helpful?  

  • Which software components are affected by the 2038 problem?

    The overflow problem can affect many software components, such as libraries, compilers, APIs, services, applications, file systems, and also network protocols. However, timeouts in the Linux kernel and drivers are based on jiffies rather than clock counter. Since, according to current information, the Garz & Fricke Linux systems do not use cron jobs or something similar the systems should continue to work stable. However, an incorrect time will be displayed.

    For other applications or any customer software, it depends on the concrete implementation of the timeouts, whether the "Year 2038 problem" has a negative impact.

    Is this answer helpful?  

  • Will an update be necessary for the 2038 problem?

    This problem is already well-known in the Linux community and is currently being worked on in the kernel and in other libraries such as the glibc. It is recommended to create options for software updates in order to be able to carry out any necessary software updates if the appropriate software will be available for the kernel used. It should also be taken into account to change to newer devices or OS versions with a more recent kernel to increase the chance to get appropriate software support in the future. According to the current status (August 2019), however, no date can be mentioned. It will probably take a few more years for the above adjustments to be completed.

    Is this answer helpful?  

  • Do adjustments need to be made to the customer application for the 2038 problem?

    It will not be enough to do an OS update. As mentioned above, the application's time-out functions must be checked. If they are implemented in a way that they can be affected by the overflow, the functions must be reworked. It must also be taken into account that any customer applications in the case of a system update has to be compiled and linked against the new libraries, etc. again, even if no timeout functions are used. It is also possible to carry out tests beforehand by artificially setting the system time to an appropriate date in order to force the overflow and to observe possible effects on the application.

    Is this answer helpful?