内存配置文件包含了一些命令,这些命令来定义目标板内存的可访问区域,这些命令就是调试器在访问目标板内存时遵循的规则。
命令语法通初始化配置文件差不多,只是注释采用标准C和C++注释符//
命令解释:
rang ——这个命令设置调试器访问一块内存区域,即指定特定内存区域的特定属性,这些属性告诉CodeWarrior debugger怎样对待这个内存区域。属性包括访问形式(如:Read),访问字节数(如:每次内存访问2个字节),以及这个内存区域内是否包含物理或虚拟地址。
语法:rang loAddress hiAddress (accessSize | any) accessType [memSpaceType]
解释:其中loAddress是内存区的的开始地址; hiAddress是内存区的结束地址; accessSize | any是调试监控器或仿真器访问内存块时的字节大小数,如果调试要执行动态虚拟地址转换就传递参数any; accessType是调试器对内存块访问的形式:Read,Write,ReadWrite; memSpaceType定义内存块的类型:Physical(此属性告诉调试器指定内存区的每个地址为物理内存地址),LogicalData(虚拟内存地址,并可以作为code或data来访问),LogicalCode(虚拟内存地址,可以作为code来访问),memSpaceType选项是可选的默认值为physical.
例子:range 0xFF000200 0xFFFFFFFF 1 ReadWrite ## 设置0xFF000200到0xFFFFFFFF的内存区域每次读写一个字节
reserved ——这个命令运行指定保留一块内存区域。如果调试器试图读保留的内存区,将会用保留字符填写到结果的缓冲中;如果调试器试图写入保留的内存区,将不会有写入发生。
语法:reserved loAddress hiAddress
解释:其中loAddress是内存区的的开始地址; hiAddress是内存区的结束地址.
例子:reserved 0xFF000024 0xFF00002F ## 设置0xFF000024到0xFF00002F为保留的内存区域
reservedchar ——此命令为内存配置文件设置保留字符。当调试器试图读保留的或无效的内存区域时,会用这个保留字符填充到结果的缓冲中去。
语法:reservedchar rChar
解释:其实rChar是当访问保留或无效内存时调试器用的一个字节的字符
例子:reservedchar 0x21 ## 设置保留字符为"!"
translate ——此命令运行配置调试器怎样实现虚拟到物理内存的地址转换。一般用地址转换来调试使用执行块地址转换的内存管理单元(MMU)的程序。
语法:translate virtualAddress physicalAddress numBytes
解释:其中virtualAddress是要转换的虚地址范围第一个字节的地址; physicalAddress是调试转换虚拟地址到物理地址的第一个字节的地址; numBytes是地址转换范围的字节大小数
例子:translate 0xC0000000 0x00000000 0x100000 ## 指示调试器对0xC0000000到0xC0100000范围1M字节大小的虚拟地址转换到相应的0x00000000到0x00100000范围的物理地址上
autoEnableAddressTranslations ——此命令可以在需要被调试的二进制下载之前先使能内存管理单元(MMU)
语法:autoEnableAddressTranslations enableFlag
解释:其中enableFlag的值可以为true或false,参数true使调试器在下载需要调试的二进制之前先使能MMU;否则用参数false。如果此命令没出现在内存配置文件中,要调试的可执行文件在下载之前不会使能MMU。
例子:AutoEnableTranslations true
阅读(583) | 评论(0) | 转发(0) |