RTOS POS Multi-Application Packaging with AWTK and JerryScript

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional POS machines are limited to single applications, unable to install or uninstall software freely, and require complex, time-consuming re-integration by manufacturers, making them inflexible and costly to develop.

Innovation Solution

An RTOS-based multi-application development method using an AWTK engine, Jerryscript engine, and GNU compiler suite to generate a system.bin file, allowing packaging and installation of multiple applications via an application market, supporting JavaScript development for ease and flexibility.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are built-in by the POS manufacturer, then the POS machine has stable and reliable functions, but the end user cannot customize or install new applications freely

Engineering Contradiction:
Improveapplication customization capabilityVSAvoidsoftware integration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The system segments applications into independent packages (app.bin files) that can be individually compiled, packaged, and installed. Each application is built separately using the AWTK engine and JerryScript, then combined with the system binary through the packaging tool without requiring full system re-integration. This segmentation enables users to install only needed applications while maintaining system stability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary packaging tool that acts as a bridge between application development and system integration. This tool compiles source files into app.bin packages and combines them with system.bin, eliminating the need for manufacturers to perform complex re-integration. The intermediary tool handles the complexity of multi-application packaging, allowing users to freely customize applications.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of manufacture

If applications are developed in C language, then the applications have good performance and hardware compatibility, but the development is difficult, time-consuming, and costly

Engineering Contradiction:
Improveapplication development easeVSAvoidapplication performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent introduces JerryScript as an intermediary scripting language between simple high-level languages and the C-based RTOS system. JerryScript provides ease of development with syntax similar to JavaScript, while the AWTK engine and packaging tool translate and compile JerryScript code into efficient machine code that runs reliably on the RTOS platform, maintaining performance without sacrificing development ease.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system replaces direct C language programming with a higher-level JerryScript interpretation and compilation mechanism. Instead of requiring developers to manually manage memory and hardware interactions in C, the JerryScript engine handles these low-level operations automatically, substituting complex mechanical programming tasks with simpler scripting while maintaining system performance through optimized code generation.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If the POS machine supports multiple applications, then the scope of use is expanded, but the system requires complex re-integration of application software by the manufacturer

Engineering Contradiction:
Improvemulti-application supportVSAvoidsoftware re-integration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary packaging of applications into standardized app.bin files during the development phase. The packaging tool pre-compiles and pre-packages all necessary application files (source files, resources, configurations) into ready-to-install formats. When users want to add applications, they simply upload pre-packaged app.bin files without requiring any re-integration work, eliminating time loss entirely.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system segments the software system into independent components: system.bin (core OS), app.bin (applications), and resource files. Each application is packaged separately and can be independently installed, updated, or removed. This segmentation allows multiple applications to coexist without requiring complex re-integration, as each app.bin is a self-contained unit that the packaging tool can seamlessly integrate with the existing system.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP4600811A1RTOS-based multi-application development method and apparatus
Publication Date: 2025.08.13 SHENZHEN TOPWISE COMM CO LTD
  • EP4600811A1 patent drawingFigure 1
  • EP4600811A1 patent drawingFigure 2
  • EP4600811A1 patent drawingFigure 3

AI summary

The present application provides an RTOS-based multi-application development method and apparatus, relating to the field of computer technology. The method comprises: compiling and packaging an AWTK engine, a Jerryscript engine, and .c files through a GNU compiler suite to generate a system.bin file; compiling and packaging xml files, js files, and image files required by multiple applications through the AWTK engine to generate a fat.img containing the multiple applications; and burning the fat.img containing the multiple applications and the system.bin file into a POS machine with an RTOS. The Jerryscript engine and the AWTK engine support the development of JS language, then resource data (data) are generated from all images, XML (describing image elements and coordinates), and JS files used in the development of APPs, and finally, the resource data are compiled by GCC to generate an APP.bin, thereby achieving multi-application development.