在用“Multi-ICE仿真器”调试三星S3C2440开发板时,
可能会遇到如下问题,这里将这个问题发生的原因与解决方法做个记录。
—————————————————————————————
Could not clean D-Cache - memory may appear incoherent
in writeback regions.
—————————————————————————————
问题简述:目标设备有独立的数据缓存和指令缓存,(比如ARM920T
体系结构的芯片),在“Multi-ICE”的配置对话框中,有一个叫做
“Cache clean code address”的设置,
(看Processor Settings Tab选项卡),在这里需要指定一块存储区域
用来存储和执行“cache cleaning code” 。“Multi-ICE”需要下载
并执行这段“relocatable”代码。假如这段代码不能够正确下载,
就会出现如上警告信息。
英文原文:
——————————————————————————————————
For targets that have separate data and instruction caches
(such as the ARM920T), Multi-ICE uses the Cache clean code
address setting in the Multi-ICE configuration dialog
(see Processor Settings Tab) to specify memory it can use to store
and execute the cache cleaning code. Multi-ICE downloads and
runs relocatable code into this memory the first time it is required.
If it cannot download the code correctly, it displays this warning
message.
——————————————————————————————————
产生原因: Multi-ICE can fail to download the code to the target
for one or more of the following reasons:
• There is no memory at the Cache clean code address
• The memory at Cache clean code address is in read only memory
(either true ROM or memory that requires a special write procedure,
such as EEPROM) • There is an active Memory Management Unit (MMU)