Menu

QP/C 5.4.0 released

The new QP/C 5.4.0 brings several new ports, tons of new examples, and is easier to use than ever.

The release changes the basic philosophy of distributing the QP frameworks by combining the "QP/C Baseline Code" with all currently available "QP/C Development Kits" (QDK/C). This is done to eliminate any potential mistakes in downloading and intallating separate pieces of code.

Additionally, this release changes the basic philosophy of building your embedded applications with the QP/C framework. Starting with this release, all examples for embedded boards include the QP/C framework as source code within the projects, instead of statically linking with a QP/C library. (NOTE: It is still possible to use QP/C as a library, but you need to build such libraries yourself, as they are no longer provided in the QP/C distribution.)

The move to building QP/C from sources ensures the consistent toolset version and compiler options applied to the application code as well as the QP/C framework code. (NOTE: The QP/C examples for "big operating systems", like Windows or Linux, still use QP/C as a pre-compiled library that is staically linked with the application code.)


NOTE:
Even though the QP/C source has been re-packaged in this release, there are no API changes to the code, so it remains backwards compatible with the existing applications. (Except the build process, which builds QP/C from sources rather than linking to the QP/C library.)


The two changes in basic approach to distributing and building the framework have also the following ripple effects:

  1. The QP/C source code has been simplified and has been re-packaged into a much smaller number of source files. The whole QP/C source code now resides in the single source folder. Additionally, the source code files have now the read-only protection to prevent inadvertent changes to the QP/C soruce code that is part of your projects.

  2. It is no longer necessary to define the QPC environment variable to build the QP/C examples. All directories and files referenced by example projects are relative to the project folder. This change reflects the fact that most development tools add source files to the project using relative paths (and now the projects contain QP/C source code, not just the QP library).

  3. The QP/C "ports" folder has been reorganized to contain all currently available QP/C ports. The ports are organized into three categories: native QP/C ports ("bare-metal"), ports to 3rd-party RTOSes, and ports to big operating systems (Windows and Linux).(NOTE: the ports are now documented in the this QP/C Reference Manual. Each port sub-directory contains a README link to the corresponding page in the online documentation)

  4. The QP/C "examples" folder has been reorganized to reduce the repetitions and contains all currently available QP/C examples. The folder includes four categories of examples: native QP/C examples ("bare-metal"), examples for 3rd-party RTOSes, examples for big operating systems (Windows and Linux), and examples for 3rd-party Middleware. As mentioned before, all example projects for embedded systems use QP/C as source code and not as a library. The examples folder has been expanded to contain all currently available QP/C examples, many of them are new in this release. (NOTE: the currently available examples are now documented in the QP/C Reference Manual. Each
    example sub-directory contains a README link to the corresponding page in the online documentation)

  5. A new "3rd_party" folder created to contain the Third-Party code used in the QP/C ports and examples, such as MCU register files, low-level startup code, device drivers, etc. The 3rd_party folder avoids the need to repeat such code in every project. Also, the separation of the Third-Party components helps to clearly indicate code that comes from various sources, and to which Quantum Leaps, LLC expressly makes no claims of ownership. The Third-Party software components included in this "3rd_party" folder are licensed under a variety of different licensing terms that are defined by the respective owners of this software and are spelled out in the README.txt or LICENSE.txt files included in the respective sub-folders.

  6. This release also comes with the much expanded online QP/C Reference Manual, which is cross-linked with the ports and examples.

QP/C 5.4.0 is available for immediate download from:

http://sourceforge.net/projects/qpc/files/QP-C/5.4.0/

Please refer to the online (QP/C Reference Manual)[http://www.state-machine.com/qpc] for (detailed description of changes)[(QP/C Reference Manual)[http://www.state-machine.com/qpc/history.html]:

Posted by Quantum Leaps 2015-04-28 Labels: QP/C release

Log in to post a comment.