Code Profiling in Ultra-Low Energy Embedded Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Ultra-low energy devices with short wake-up times and low duty cycles cannot perform code profiling due to the absence of a Trace Unit, limited output pins, and short wake-up periods, hindering software optimization and resulting in reduced standby time.

Innovation Solution

A method utilizing an external memory and a timer on the device to record function durations using global variables, allowing code profiling without a Trace Unit or additional pins, and enabling storage of results for later analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Difficulty of detecting and measuring

If a Trace Unit is added to enable code profiling, then code profiling capability is improved, but chip area and cost increase

Engineering Contradiction:
Improvecode profiling capabilityVSAvoidchip area
Core Design Contradiction:
Difficulty of detecting and measuringVSArea of stationary object

Solution Approach 1:

The patent extracts the code profiling functionality from the traditional Trace Unit and implements it using existing resources (timer and global variables) already present in the microcontroller. This eliminates the need for additional hardware while maintaining profiling capability.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The microcontroller uses its own existing timer and global variables to perform code profiling, making the system self-sufficient without requiring external Trace Units or additional hardware resources.

Inventive Principle:
Principle #25Self-service

2Difficulty of detecting and measuring

If a Trace Unit is added to enable code profiling, then code profiling capability is improved, but device cost increases

Engineering Contradiction:
Improvecode profiling capabilityVSAvoiddevice cost
Core Design Contradiction:
Difficulty of detecting and measuringVSEase of manufacture

Solution Approach 1:

The patent removes the expensive Trace Unit from the solution and replaces it with a software-based implementation using existing timer and global variables, significantly reducing device cost while maintaining profiling functionality.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent uses inexpensive existing resources (timer and global variables) instead of expensive dedicated hardware (Trace Unit), making the profiling solution cost-effective for resource-constrained embedded devices.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

3Difficulty of detecting and measuring

If wake-up time is extended to allow debugger setup, then code profiling accuracy is improved, but standby time is reduced

Engineering Contradiction:
Improvecode profiling accuracyVSAvoidstandby time
Core Design Contradiction:
Difficulty of detecting and measuringVSDuration of action of stationary object

Solution Approach 1:

The patent performs code profiling measurements during the wake-up phase using the timer and global variables before the device needs to return to standby mode. This preliminary action captures profiling data without requiring extended wake-up time or additional debugger setup time.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The device uses its own timer and global variables to perform self-profiled measurements during wake-up, eliminating the need for external debugger intervention and extending standby time while maintaining profiling accuracy.

Inventive Principle:
Principle #25Self-service

4Difficulty of detecting and measuring

If more output pins are added for code profiling, then profiling capability is improved, but device complexity increases

Engineering Contradiction:
Improveprofiling capabilityVSAvoidnumber of output pins
Core Design Contradiction:
Difficulty of detecting and measuringVSDevice complexity

Solution Approach 1:

The patent extracts the profiling functionality from the pin-based approach and implements it using the timer and global variables, eliminating the need for additional output pins and reducing device complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent replaces the mechanical pin-based profiling approach with a software-based timer and variable system, simplifying the device architecture while maintaining profiling capability.

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

Data Source

PatentUS9274920B2Code profiling in embedded ULE applications
Publication Date: 2016.03.01 DIALOG SEMICONDUCTOR BV
  • US9274920B2 patent drawing
  • US9274920B2 patent drawing
  • US9274920B2 patent drawing

AI summary

Mobile electronic devices and related methods to achieve an enhanced security level are disclosed. A security module is deeply embedded in a non-open companion chip of the mobile device, wherein the companion chip controls vital functions of the mobile device. Any security technology can be provided by the security module. The security module can, in case of a security violation, disable all vital functions of the companion chip without requiring communicating to other components of the mobile device. The vital functions deployed in the companion chip comprise e.g. system power management or audio functions.