Microcontroller Function Table for Dynamic Code Addition
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for adding functionalities to microcontroller programs either require updating the entire program, modifying the initial program, or using a license system, which can be resource-intensive and vulnerable to security threats.
Innovation Solution
A method that allows adding additional functions to a microcontroller program by using a table to associate function identifiers with memory addresses, enabling the program to dynamically access and execute new functions without modifying the initial program or requiring a license system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the entire program is updated to add functionalities, then the additional functionalities can be added, but a significant quantity of data must be downloaded and memory resources are consumed
Solution Approach 1:
The patent segments the program into a core immutable part and separate additional functions. Each additional function is stored independently in memory with its own entry point registered in a function table, allowing selective loading without requiring the entire program to be updated or stored.
2Adaptability or versatility
If the entire program is updated to add functionalities, then the additional functionalities can be added, but the update process is complex and time-consuming
Solution Approach 1:
The core program is pre-configured with a function table and entry point mechanisms that anticipate future function additions. This preliminary structure allows additional functions to be integrated directly without complex update procedures, reducing update time significantly.
3Adaptability or versatility
If a license system is used to activate unavailable functionalities, then functionalities can be controlled, but the system becomes complex and vulnerable to security attacks
Solution Approach 1:
The patent extracts the functionality activation mechanism from complex license systems. Instead of using licenses, it uses a simple function table with registered entry points that directly map function identifiers to memory addresses, eliminating the need for complex licensing infrastructure while maintaining control.
4Adaptability or versatility
If a license system is used to activate unavailable functionalities, then functionalities can be controlled, but the system is vulnerable to hardware attacks
Solution Approach 1:
The patent implements security by storing the core program in a protected read-only memory region that cannot be modified, while additional functions are loaded into a separate writable memory region. This prior separation cushions against hardware attacks that might attempt to modify the core program, as the critical security-coding portion remains immutable.
Data Source
AI summary
According to one aspect, a method adds an additional function to a computer program installed on a microcontroller, the computer program using a table configured to associate an identifier of the additional function with a pointer to a memory address. The method includes the microcontroller obtaining a compiled code of the additional function and an identifier of this additional function, the microcontroller recording the compiled code of the additional function in a section of a memory, and recording in memory a pointer in the table, the pointer being aimed at the address of the memory section in which the compiled code of the additional function is recorded, the pointer being associated in the table with the identifier of the additional function.

