2 存储器的访问
当进入模拟仿真界面后,按“全速”F5或“单步”F10调试键后,在“command”窗口中将会出现类似如下的错误提示:“*** error 65: access violation at 0x40023800 : no ′read′ permission”,意思是在地址0x40023800处访问违例,没有“读”的权限。地址0x40023800是外设寄存器地址。要使外设寄存器地址具有相应的“读”、“写”、“执行”权限,可在命令窗口中输入MAP命令(不区分大小写)。命令格式为:
MAP 起始地址,结束地址 READ WRITE EXEC其中,READ表示“读”权限,WRITE表示“写”权限,EXEC表示“执行”权限,结束地址与起始地址的空间尺寸不超过128 MB,即不超过0x08000000字节。外设寄存器的存储空间分布较广,不可能在每次调试时都通过命令窗口输入MAP指令,可通过如下的操作步骤进行。
①新建一个文本文件,打开该文件,执行文件菜单命令“另存为”,在打开的“另存为”对话框中,文件名输入为initmap.ini,保存类型选择为“所有文件”,并保存。在文件中输入如下内容并保存:
map 0x40000000,0x47ffffffreadwrite
map 0x50000000,0x57ffffffreadwrite
map 0xa0000000,0xa7ffffffreadwrite
map 0xf0000000,0xf7f00000 readwrite
根据需要,可在该文件中输入包含所有外设寄存器的MAP命令,使所有外设寄存器都具有“读”、“写”权限。但注意映射空间不要超过0x08000000,否则调试时会提示错误:“*** error 129: MapMemmap size truncated to 128MB”。
②单击,打开“Options”对话框,切换到“Debug”,在“Initialization File”的右边单击,打开“选择仿真初始化文件”对话框,选择上一步保存的initmap.ini文件。单击“Edit”按扭,可打开文件再次修改。
都没人回复啊。。。。。。
|