Boot Loader Firmware Installation via Packet Sniffing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The inefficiency in installing new firmware on small-memory devices in high-volume production processes due to the need for additional memory, slow download processes, and the requirement for shielding to prevent interference, which limits production speed and increases costs.

Innovation Solution

A system where a host device sends data packets containing portions of the new firmware to small-memory devices, which use a boot loader to detect and install the firmware by sniffing for data packets, storing them in program memory, and verifying completion without needing additional memory for an extra copy of the firmware, allowing for parallel installation across multiple devices.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If additional memory is allocated for downloading new firmware, then the firmware installation can proceed, but memory cost and device complexity increase

Engineering Contradiction:
Improvefirmware installation capabilityVSAvoidmemory size
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The firmware is divided into multiple data packets that are downloaded and stored sequentially in the existing program memory, replacing the need for a complete additional firmware copy. The boot loader processes each packet individually, extracting and storing portions in available memory spaces.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The boot loader is pre-configured with the capability to download and install firmware portions during the boot process, eliminating the need for separate additional memory allocation. The system prepares to receive firmware packets in advance by setting up the memory reception framework during device initialization.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If traditional OAD method is used for firmware installation, then firmware can be updated, but production speed decreases due to sequential processing requirements

Engineering Contradiction:
Improvefirmware update capabilityVSAvoidproduction speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

Multiple devices are combined into a single reception group that receives firmware packets simultaneously from one host device. The host sends packets to multiple devices in parallel, and each device's boot loader independently processes received packets, achieving concurrent firmware installation across the production line.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The host device is designed with universal capability to communicate with and send firmware packets to multiple different device types simultaneously. The boot loader on each device is universally configured to receive and process firmware packets regardless of the specific device model, enabling flexible high-volume production.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Reliability

If shielding boxes are used to prevent interference during firmware installation, then communication reliability improves, but device complexity and production efficiency worsen

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidshielding infrastructure
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The shielding requirement is extracted and eliminated by using frequency hopping spread spectrum (FHSS) communication technology. The firmware download process is separated from interfering environments through wireless frequency domain separation rather than physical domain isolation, removing the need for shielding boxes entirely.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Physical shielding mechanisms are replaced with electronic frequency domain separation using FHSS technology. Instead of using physical barriers (shielding boxes) to prevent interference, the system uses spread spectrum frequency hopping to avoid interfering signals electronically, reducing mechanical complexity.

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

4Reliability

If firmware is downloaded in full before installation, then installation completeness is ensured, but download time increases

Engineering Contradiction:
Improveinstallation completenessVSAvoiddownload time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The firmware is segmented into multiple data packets that are downloaded and installed incrementally. The boot loader receives packets one by one, extracts the firmware portions, and stores them in program memory sequentially, completing the installation process faster than downloading the entire firmware at once while ensuring completeness through verification of all packets.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The firmware download and installation process continues uninterrupted through the boot phase. The boot loader maintains continuous reception and processing of firmware packets during device booting, eliminating idle time between download and installation operations, and ensuring all packets are received before the device becomes operational.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentEP2955629B1System for installing new firmware on a small-memory device
Publication Date: 2021.10.27 HOME CONTROL SINGAPORE
  • EP2955629B1 patent drawingFigure 1a
  • EP2955629B1 patent drawingFigure 1b
  • EP2955629B1 patent drawingFigure 2a

AI summary

A system (100) enables installation of a computer program on a (small-memory) device (110). The system comprises the device and a host device (180). The host device is arranged for sending data packets. At least some of the data packets comprise respective portions of the computer program. The device has a program memory (130) for containing the computer program, a boot memory (120) having a boot loader, and a processor (150). The boot loader is also arranged for installing the computer program. The boot loader comprises: detecting a data packet, extracting (a) a portion of the computer program and portion metadata and/or (b) program metadata, determining a memory location in the program memory based on said portion metadata, maintaining progress information representing extracted portions stored in the program memory, and determining completion of storing the collection of portions based on the progress information and the program metadata.