Dynamic Address Remapping for Software Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software migration across different hardware platforms is challenging due to differences in memory mapping, particularly with hard-coded absolute addresses, which require manual effort and modification of source code to resolve.
Innovation Solution
A system and method for dynamic remapping of absolute addresses using an address remapping function and lookup table, integrated into assembly language instruction blocks, allowing for seamless migration without modifying source code, utilizing existing automated tools like assembly code translators.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If manual modification of source code is used to resolve absolute address differences, then software can be migrated to target hardware platform, but migration time and labor cost increase significantly
Solution Approach 1:
The system performs preliminary analysis of source code to identify absolute address references before migration, and pre-generates address remapping functions based on the mapping relationship between source and target hardware platforms. This preliminary preparation eliminates the need for manual modification during the actual migration process, significantly reducing migration time while ensuring software compatibility.
Solution Approach 2:
The patent introduces an address remapping function as an intermediary layer between the source code and target hardware platform. This intermediary automatically translates absolute addresses from the source hardware platform to the target hardware platform, eliminating the need for manual source code modification while ensuring correct address mapping and software compatibility.
2Productivity
If automated assembly code translation is used, then migration speed increases, but absolute address differences cause translation failures
Solution Approach 1:
The address remapping function serves as an intermediary that the automated translator can invoke. When the translator encounters an absolute address reference, it calls the remapping function which automatically provides the correct target platform address. This allows automated translation to proceed successfully without manual intervention, maintaining both high migration speed and translation success rate.
Solution Approach 2:
The system implements dynamic address remapping where the address translation is performed at runtime based on the actual hardware platform. The remapping function contains the mapping relationship between source and target addresses, allowing the automated translator to dynamically resolve absolute addresses without hardcoding platform-specific values, thereby ensuring translation success across different platforms.
3Reliability
If absolute addresses are hard-coded in source code, then software operates correctly on source hardware platform, but software cannot be ported to different hardware platforms
Solution Approach 1:
The patent transforms static hard-coded absolute addresses into dynamic address references that utilize the remapping function. The source code continues to reference memory locations using the original address syntax, maintaining correct operation on the source platform. Simultaneously, the remapping function dynamically translates these addresses for the target platform, achieving hardware platform compatibility without sacrificing source platform operation reliability.
Solution Approach 2:
The address remapping function acts as an intermediary layer that transparently handles address translation. On the source hardware platform, the remapping function returns the original addresses, ensuring correct operation. On the target hardware platform, it returns the translated addresses, enabling portability. This intermediary approach maintains source platform operation while adding hardware platform compatibility.
Data Source
AI summary
A method includes receiving at least one source code file associated with a legacy hardware platform, the at least one source code file being part of a software migration from the legacy hardware platform to a target hardware platform. The method also includes identifying one or more absolute memory addresses of the legacy hardware platform included in the at least one source code file. The method further includes for each of the one or more absolute memory addresses, including an address remapping function in an assembly language instruction block associated with the target hardware platform.


