Code Monkey home page Code Monkey logo

harrisonmg / qtools Goto Github PK

View Code? Open in Web Editor NEW

This project forked from quantumleaps/qtools

1.0 2.0 0.0 14.71 MB

QTools collection of open source tools for embedded systems development on Windows, Linux and MacOS

Home Page: https://www.state-machine.com/qtools

Tcl 32.58% HTML 0.04% C 41.61% Batchfile 0.39% JavaScript 0.04% Python 2.45% Rich Text Format 1.03% MATLAB 0.93% Makefile 2.80% Shell 0.78% CSS 0.15% Roff 0.27% M4 4.98% C++ 5.72% Assembly 0.99% PostScript 0.36% Ruby 4.88%

qtools's Introduction

QTools Collection

In This Fork

This fork contains three main additions to QTools:

  • A stack trace feature in QUTest that, upon test failure, displays a list of line numbers representing the function calls leading to the failed test.
  • An expect_within(margin, match) test in QUTest that can ignore a given number of QSpy messages while searching for a particular match.
  • Compiled POSIX binaries for qspy, qclean, and qfsgen.

Attention

This fork is currently quite behind in updates. The original QUTest failure line number feature was added through this pull request for QTools version 6.5.0, while the expanded feature that displayed an entire traceback was denied in this pull request. I keep this fork to preserve this and the rest of the features I've added, which I still find useful.


What's New?

View QTools Revision History at: https://www.state-machine.com/qtools/history.html


About QTools

QTools is a collection of various open source tools for working with the QP Real-Time Embedded Frameworks (RTEFs) on desktop platforms, such as Windows, Linux, and Mac OS X.

The following open-source tools are currently provided (NOTE: tools starting with 'q' are contributed by Quantum Leaps)

  1. qspy - host application for receiving and displaying the real-time data from embedded targets running the QS software tracing.

  2. qutest - Tcl extension of the QSPY host application for uint testing specifically designed for embedded systems, but also supports unit testing of embedded code on host computers ("dual targeting").

  3. qspypy - Python extension of the QSPY host application for uint testing specifically designed for embedded systems, but also supports unit testing of embedded code on host computers ("dual targeting").

  4. qspyview - Tcl/Tk extension of the QSPY host application for visualization and monitoring of the QS real-time tracing data from embedded targets at real-time. QSpyView enables developers to rapidly build both GUI-based and "headless" scripts for their specific applications.

  5. qwin - QWIN GUI toolkit for prototyping embedded systems on Windows in the C programming language. QWIN allows you to build realistic embedded front panels consisting of LCD displays (both graphical and segmented), buttons, and LEDs. QWIN is based on the Win32 API.

  6. qclean - for cleanup of source code files

  7. qfsgen - for generating ROM-based file systems to be used in embedded web pages served by the HTTP server

  8. qcalc - programmer's calculator with C-syntax expressions

  9. qudp - for testing UDP connections to the embedded targets

  10. qudps - UDP server for testing UDP connections to the embedded targets.

  11. unity - traditional unit testing harness (framework) for embedded C (version 2.4.3)

Additionally, QTools for Windows contains the following open-source, 3rd-party tools:

  1. GNU-make for Windows (version 3.82)

  2. GNU C/C++ toolset for Windows (MinGW version 6.3.0)

  3. GNU C/C++ toolset for ARM-EABI (GCC version 8.2.1)

  4. Tcl/Tk for Windows (version 8.4) with UDP sockets extension

  5. ResEdit utility (version 1.6.6-x64)

  6. AVRDUDE for Windows (version 6.1)

  7. LMFlash for Windows (build 1613)

Additionally, QTools for Windows contains the following PC-Lint option files various compilers (in sub-directory lint):

  1. co-gnu-arm.* (PC-Lint option files for GNU-ARM)

  2. co-iar-arm.* (PC-Lint option files for IAR-ARM)


Installation

Installation of QTools is trivial and consists merely of unzipping the qtools_.zip archive into a directory of your choice.

NOTE: To use the QTools, you should add the \bin directory to the PATH, where denotes the directory where you have unzipped the qtools_.zip archive.

NOTE: To use the QTools source code (such as parts of the QSPY) in builds of the QP library, you need to define the environment variable QTOOLS to point to the installation directory of QTools.

On Linux you must additionally make sure that the executables, such as qspy, qclean, etc. have the 'executable' property set.


Licensing

Most tools included in this collection are distributed under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version. The text of GPL version 2 is included in the file GPLv2.txt in the licenses/ subdirectory of the QTools distribution.

Some of the tools are distributed under the terms of the MIT open source license. The complete text of the MIT license is included in the comments.

The TCL/TK 8.4 package is distributed under the terms of the TCL LICENSE AGREEMENT, included in the file TCL_LICENSE.txt in the licenses/ subdirectory of the QTools distribution.

The LMFlash utility for Windows is is distributed under the terms of the LMFlash license, included in the file LMFlash_LICENSE.rtf in the licenses/ subdirectory of the QTools distribution. Specifically, the LMFlash utility is distributed according to Section 2a "Demonstration License".


Documentation

The documentation of the tools is provided in the \doc
directory. Specifically, you can find ther the PDF version of the Make Manual.

QUTest Python Scripting Support

The QUTest Python scripting support for the QSPY utility are located in the <qtools>\qspy\py\ directory.

QUTest Tcl Scripting Support

The QUTest Tcl scripting support for the QSPY utility are located in the <qtools>\qspy\tcl\ directory.

A web-link to the TCL/TK documentation is provided in the shortcut tcl_tk_8.4.

QSPYView Tcl/Tk Scripts

The QSpyView Tcl/Tk scripts for the QSPY utility are located in the <qtools>\qspy\tcl\ directory.

QSPY Matlab Scripts

The Matlab/GNU Octave scripts for the QSPY utility are located in the <qtools>\qspy\matlab\ directory.

Unity Unit Testing Framework

The documentation of the Unity Testing Framework for Embedded C is located in the <qtools>\unity\doc\ directory.


QSPY Sequence Diagrams Examples

The sequence diagram input files for the MSCgen utility and the generated sequence diagrams (in the SVG format) are located in the \qspy\mscgen\ directory.


Source Code

In compliance with GPL, this distribution contains the source code for the utilities contributed by Quantum Leaps in the \source
subdirectory, except for the QSPY source code, which is provided in the \qspy\source directory. All tools with names starting with 'q' have been developed and are copyrighted by Quantum Leaps.

The GCC C and C++ compilers for Windows

Have been taken from the MinGW project at:

The installer mingw-get-setup.exe has been used and after the installation, the files have been pruned to reduce the size of the distribution. Please refer to the MinGW project for the source code.

The GNU-ARM Embedded Toolchain for Windows

Have been takend from:

The installer gcc-arm-none-eabi-8-2018-q4-major-win32-sha1.exe has been used. (Version 8-2018-q4-major Released: December 20, 2018)

The GNU make executable for Windows

Has been taken from the MinGW project at SourceForge.net:

The GNU make source (make-3.82-src.zip) has been taken from:

The "GNU Make" manual (make.pdf) has been copied from the GNU make project at:

The file and diff utilities

Have been taken from the UnixUtils project at SourceForge.net:

The file and diff utilities source

(source/fileutils-3.16-src.zip) has been taken from:

The Unity Unit Testing Harness for Embedded C

Has been taken from the GitHub at:

The AVRDUDE utility

Has been taken from:

The Mscgen utility has been taken from the Mscgen project at:


Contact information:

qtools's People

Contributors

harrisonmg avatar

Stargazers

Primoz Fiser avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.