Make it possible to import symbols into arbitrary memory regions

Before this change, ImportSymbolsScript.py was limited to importing
symbols into the default memory region. With this change, arbitrary
memory regions can be specified along with the address, making it
possible for symbols to be imported into non-default memory regions.
This functionality is backwards-compatible with existing symbol list
files.
This commit is contained in:
cyrozap 2022-05-25 19:20:55 -05:00
parent 0241b2b97e
commit 0ee44c9f6a

View File

@ -13,7 +13,15 @@
# See the License for the specific language governing permissions and
# limitations under the License.
##
# Imports a file with lines in the form "symbolName 0xADDRESS function_or_label" where "f" indicates a function and "l" a label
# Imports a text file containing symbol definitions, with a maximum of one symbol defined per line. Each symbol definition is in the form of "symbol_name address function_or_label", where "symbol_name" is the name of the symbol, "address" is the address of the symbol in one of the forms listed below, and "function_or_label" is either "f" or "l", with "f" indicating that a function is to be created and "l" indicating that a label is to be created.
# Address formats are the same as those that can be used with the "Go to address" function. For example:
# - 1234abcd
# - 0x1234abcd
# - ADDRESS_SPACE:1234abcd
# - ADDRESS_SPACE:0x1234abcd
# - MEMORY_REGION:1234abcd
# - MEMORY_REGION:0x1234abcd
# Omitting the address space or memory region specifier from the address will result in the function or label being created in the default address space.
# @author unkown; edited by matedealer <git@matedealer.de>
# @category Data
#
@ -29,7 +37,7 @@ for line in file(f.absolutePath): # note, cannot use open(), since that is in G
pieces = line.split()
name = pieces[0]
address = toAddr(long(pieces[1], 16))
address = toAddr(pieces[1])
try:
function_or_label = pieces[2]