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