📄 cache8.htm
字号:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="GENERATOR" content="Quadralay WebWorks Publisher Professional Edition 6.0.5">
<meta name="TEMPLATEBASE" content="book_html">
<meta name="LASTUPDATED" content="12/01/03 14:15:36">
<title>12.7 Flushing and invalidating caches</title>
<STYLE TYPE="text/css">
<!--
span.Signal { text-transform: uppercase; font-family: Verdana }
-->
</STYLE>
</head>
<body link="#3366CC" vlink="#9999CC" text="#000000" alink="#0000CC" bgcolor="#FFFFFF"
background="images/backgrnd.gif">
<p><img src="images/stlogo.gif" width="106" height="83" align="left"
alt="logo here!"> </p>
<table width="331" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
<td><a href="os20toc.htm"><img src="images/navtoc.gif" width="84" height="23"
border="0" alt="TOC"> </a></td>
<td><a href="cache7.htm"><img src="images/navprev.gif" width="80" height="23"
border="0" alt="PREV"> </a></td>
<td><a href="cache9.htm"><img src="images/navnext.gif" width="83" height="23"
border="0" alt="NEXT"> </a></td>
<td><a href="os20ix.htm"><img src="images/navidx.gif" width="84" height="23"
border="0" alt="INDEX"> </a></td>
</tr>
</table>
<p><br clear="all">
</p>
<hr align="left">
<blockquote>
<h2>
<a name="1204515"> </a><font color="#003366" face="Verdana, Arial, Helvetica, sans-serif">12.7 Flushing and invalidating caches</font>
</h2><hr>
<p>
<a name="1204516"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">When the cache is enabled, any data written to main memory is stored in the cache and marked as dirty so that at some point in the future it can be properly stored to main memory. A cache flush causes all dirty cache lines to be written immediately to main memory.</font>
</p>
<p>
<a name="1204517"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">Invalidating a cache causes the cache to forget its entire contents, thus forcing it to reload all data from main memory.</font>
</p>
<p>
<a name="1204518"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif"><em>Note: On ST20 devices, flushing the cache also causes it to be invalidated. After a cache flush all data is reloaded from main memory.</em></font>
</p>
<p>
<a name="1204519"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">In some applications it is useful to force a cache flush or invalidate, this can be achieved using the following three functions:</font>
</p>
<a name="1204521"> </a><font size=2 face=Courier><strong>int cache_flush_data(void* <font size=2 face=Courier><strong><em>reserved1</em></strong></font>, void* <font size=2 face=Courier><strong><em>reserved2</em></strong></font>);<br>int cache_invalidate_data(void* <font size=2 face=Courier><strong><em>reserved1</em></strong></font>, void* <font size=2 face=Courier><strong><em>reserved2</em></strong></font>);<br>int cache_invalidate_instruction(void* <font size=2 face=Courier><strong><em>reserved1</em></strong></font>, void* <font size=2 face=Courier><strong><em>reserved2</em></strong></font>);<br></strong></font>
<p>
<a name="1204526"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">Each of these functions takes two arguments that are reserved for future use by OS20, users must supply <font size=2 face=Courier><strong>NULL</strong></font> as each argument.</font>
</p>
<h3>
<a name="1204527"> </a><font color="#003366" face="Verdana, Arial, Helvetica, sans-serif">12.7.1 Relocatable code units</font>
</h3>
<p>
<a name="1204528"> </a><font size=2 face="Verdana, Arial, Helvetica, sans-serif">When caches are enabled, extra care must be taken when handling relocatable code units. To ensure cache coherency is maintained, follow the advice given in the <em>ST20 Embedded Toolset Reference Manual</em>, chapter <em>Building and running relocatable code</em>.</font>
</p>
</blockquote>
<hr>
<table width="331" border="0" align="left" cellpadding="0" cellspacing="0">
<tr>
<td><a href="os20toc.htm"><img src="images/navtoc.gif" width="84" height="23"
border="0" alt="TOC"> </a></td>
<td><a href="cache7.htm"><img src="images/navprev.gif" width="80" height="23"
border="0" alt="PREV"> </a></td>
<td><a href="cache9.htm"><img src="images/navnext.gif" width="83" height="23"
border="0" alt="NEXT"> </a></td>
<td><a href="os20ix.htm"><img src="images/navidx.gif" width="84" height="23"
border="0" alt="INDEX"> </a></td>
</tr>
</table>
<font size=1 face="Verdana, Arial, Helvetica, sans-serif"> © 2001, 2002, 2003 STMicroelectronics. All Rights Reserved.<br>
ADCS 7473749B</font>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -