Microcontroller Program Updates with Segmented Protocol Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current methods for updating microcontroller programs require excessive memory space, particularly when wireless updates are involved.

Innovation Solution

A method and microcontroller configuration that separates the program into regions, allowing the download protocol to be executed independently without relying on other program portions, enabling memory-efficient updates by erasing and replacing application versions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the download protocol and application are stored together in the same memory region, then the system can execute updates, but the memory space required is excessive

Engineering Contradiction:
Improvememory spaceVSAvoidupdate capability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent divides the memory into distinct regions: a first region for storing the application and a second region for storing the download protocol. This segmentation allows the system to manage memory more efficiently by storing only necessary components in each region, reducing total memory requirements while maintaining update functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The download protocol is extracted from the application binary and stored separately in a dedicated region. This extraction allows the protocol to be reused across different applications without duplicating its code, significantly reducing memory consumption while preserving the ability to perform wireless updates.

Inventive Principle:
Principle #2Taking out (Extraction)

2Quantity of substance

If the entire program is updated at once, then the new version is complete, but the memory buffer required is large

Engineering Contradiction:
Improvememory bufferVSAvoidupdate speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent performs preliminary actions by first erasing the application region and then downloading the new application data. This staged approach allows the system to prepare memory space before receiving new data, enabling efficient memory utilization without requiring large buffers to hold both old and new versions simultaneously.

Inventive Principle:
Principle #10Preliminary action

3Ease of operation

If the download protocol depends on other program portions, then the system can share code, but the protocol cannot execute independently during updates

Engineering Contradiction:
Improveprotocol executionVSAvoidmemory dependency
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The download protocol is extracted as a standalone component stored in a separate memory region, making it executable independently during update operations without requiring the application code to be present. This extraction resolves the dependency issue while maintaining code sharing benefits.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

By segmenting the system into independent functional regions (application region and protocol region), the patent enables the protocol to execute autonomously during updates while still allowing code sharing when both components are present, thus improving ease of operation without significantly increasing complexity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS20250306911A1Method for updating a program in a microcontroller
Publication Date: 2025.10.02 STMICROELECTRONICS (ROUSSET) SAS
  • US20250306911A1 patent drawing
  • US20250306911A1 patent drawing
  • US20250306911A1 patent drawing

AI summary

A microcontroller includes a memory storing a program which contains a first version of a first download protocol into the microcontroller and a first version of an application. The program is to be updated, with the update containing a second download protocol and a second version of the application. To perform the update, the first version of the application is erased from a first region of the memory. Then, the second download protocol is downloaded into the first region by using the first version of the first download protocol present in a second region of the memory. The content of the second region is then erased. The second version of the application is then downloaded by using the second download protocol.