trace32 - дамп памяти нескольких диапазонов адресов в один двоичный файл

Я использую отладчик Lauterbach для дампа из разных разделов памяти в двоичные файлы. До сих пор мне удалось создать двоичный файл для каждого диапазона адресов, используя

data.save.binary output1.txt var.Range(sDummyArray[startRange1..endRange1])

data.save.binary output2.txt var.Range(sDummyArray[startRange2..endRange2]) 

...

Есть ли способ для меня "сшить" несколько двоичных файлов (дамп памяти) вместе, чтобы дать один двоичный файл ИЛИ добавить каждый дамп памяти в файл с помощью команды trace32, которую я пропустил?

2 ответа

Решение

Чтобы сохранить несколько диапазонов адресов из целевой памяти в один и тот же двоичный файл, используйте команду Data.SAVE.Binary с его опцией "/ Добавить". Опция добавляет новые данные в конец данного файла.

Например:

Data.SAVE.Binary output1.txt Var.RANGE(sDummyArray[startRange1..endRange1])
Data.SAVE.Binary output1.txt Var.RANGE(sDummyArray[startRange2..endRange2]) /Append

Для более старой версии TRACE32 63378 вы можете использовать виртуальную память отладчика (если она не используется для других целей) следующим образом:

PRIVATE &size1 &size2   
&size1=Var.VALUE((sDummyArray+endRange1)-(sDummyArray+startRange1))
&size2=Var.VALUE((sDummyArray+endRange2)-(sDummyArray+startRange2))
Data.COPY Var.RANGE(sDummyArray[startRange1..endRange1]) VM:0
Data.COPY Var.RANGE(sDummyArray[startRange2..endRange2]) VM:&size1
Data.SAVE.Binary output1.txt VM:0++(&size1+&size2-1)

Таким образом, идея здесь, чтобы собрать все данные с помощью Data.COPY в виртуальной памяти и сохраните его оттуда в двоичный файл.

Data.SAVE.Binary не имеет опции /Append в версиях TRACE32, выпущенных до сентября 2015 года.

Я смог добавить свои выходные файлы, используя

OS.Command copy /b output1.txt + output2.txt output.txt
Другие вопросы по тегам