MCU Self-Identification via Flash Data Object
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Customers face significant time and expense in developing customized main programs for microcontroller units (MCUs) due to variations in resources across different family members, which can lead to errors if incorrect family member specific information is used, and the storage of expanded definition files can be problematic in MCUs with limited flash memory.
Innovation Solution
A data object containing MCU self-identification information is written to flash memory during final testing, allowing the common main program to adapt to the unique resources of each MCU, including base addresses for peripherals, enabling generic drivers to function across various MCU configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If customized main programs are developed for each MCU family member, then resource utilization accuracy is improved, but development time and expense increase
Solution Approach 1:
The patent implements a universal main program that can run on multiple MCU family members by reading device-specific identification information from non-volatile memory at runtime. This single program adapts to different resource configurations (peripheral base addresses, memory sizes, available peripherals) based on the identified device type, eliminating the need to develop separate customized programs for each family member while maintaining accurate resource utilization.
Solution Approach 2:
The patent stores MCU family member identification information in non-volatile memory during the manufacturing process. This preliminary action enables the universal main program to automatically identify the specific device type at runtime and adapt its behavior accordingly, resolving the contradiction by preparing device-specific information in advance without requiring separate program development for each device variant.
2Adaptability or versatility
If expanded definition files are stored in flash memory, then resource adaptation capability is improved, but available flash memory for application code decreases
Solution Approach 1:
The patent extracts only the essential device identification information (MCU family member identifier) from what would otherwise be comprehensive expanded definition files. This minimal identification data is stored in non-volatile memory, allowing the universal program to adapt to different resources without storing large definition files in flash memory, thus preserving flash space for application code while maintaining resource adaptation capability.
Solution Approach 2:
The patent uses a compact identification copy (device ID stored in non-volatile memory) that represents the full resource configuration information. Instead of storing complete definition files in flash, the system stores a small identifier that allows the universal program to determine the appropriate resource configuration, significantly reducing flash memory requirements while maintaining full adaptability.
3Ease of manufacture
If a common main program is used across MCU family members, then development cost is reduced, but resource utilization accuracy deteriorates
Solution Approach 1:
The patent implements a dynamic common main program that reads device identification information from non-volatile memory at runtime and adapts its behavior based on the identified MCU family member. This dynamic adaptation allows a single program to accurately utilize the specific resources (peripheral addresses, memory sizes, available peripherals) of each device type, maintaining resource utilization accuracy while preserving the cost benefits of a common program across the family.
Data Source
AI summary
Common microcontroller unit (MCU) self-identification information is disclosed. In one embodiment, an MCU is contained in a package. The MCU includes a central processing unit (CPU) and a non-volatile memory. This non-volatile memory stores information specific to the MCU and/or the package. The non-volatile memory also stores a common main program that, when executed by the CPU, accesses the information. The information enables the common main program to adapt itself to resources of the MCU and/or package that are identified in the information.


