<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[FLASH 读写问题]]></title><description><![CDATA[<p><strong>attribute</strong>((section(&quot;ram_code&quot;))) void internal_flash_test(void)<br />
{<br />
int i = 0;<br />
uint32_t address = 0x32000;<br />
address = 0x32000;<br />
// test 1<br />
memset(WBuffer, 0xaa, sizeof(WBuffer));<br />
WBuffer[0] = 0x01;<br />
WBuffer[1] = 0x01;<br />
WBuffer[2] = 0x01;<br />
WBuffer[3] = 0x01;<br />
flash_erase(address, 256);<br />
flash_write(address, 256, WBuffer);<br />
flash_read(address, 256, RBuffer);<br />
for (i = 0; i &lt; 256; i++)<br />
{<br />
if (RBuffer[i] != WBuffer[i])<br />
lw_log_info(&quot;QUAD mode err &quot;);<br />
RBuffer[i] = 0;<br />
}<br />
lw_log_info(&quot;QUAD mode END 1&quot;);<br />
// test 2<br />
address += 256;<br />
lw_log_info(&quot;QUAD mode Read and QUAD Writer %08x&quot;, address);<br />
memset(WBuffer, 0x55, sizeof(WBuffer));<br />
WBuffer[0] = 0x02;<br />
WBuffer[1] = 0x02;<br />
WBuffer[2] = 0x02;<br />
WBuffer[3] = 0x02;<br />
flash_erase(address, 256);<br />
// 读前256字节，应该全00x01和0xaa<br />
flash_read(address - 256, 256, RBuffer);<br />
for (i = 0; i &lt; 10; i++)<br />
{<br />
lw_log_info(&quot;QUAD mode %02x&quot;, RBuffer[i]);  // LOG 全部是0xff<br />
}<br />
flash_write(address, 256, WBuffer);<br />
flash_read(address, 256, RBuffer);<br />
for (i = 0; i &lt; 256; i++)<br />
{<br />
if (RBuffer[i] != WBuffer[i])<br />
lw_log_info(&quot;QUAD mode err &quot;);<br />
RBuffer[i] = 0;<br />
}<br />
lw_log_info(&quot;QUAD mode END 2&quot;);<br />
}<br />
在擦除第二块256字节时，第一块读取后全部为0xff. 如果 换成每次都是擦除4096字节，再读取前4096个字节就没有这个问题，是不是FX8008HP擦除最小是4096？</p>
]]></description><link>http://www.freqchip.net:4567/topic/1858/flash-读写问题</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 11:26:23 GMT</lastBuildDate><atom:link href="http://www.freqchip.net:4567/topic/1858.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 01 Jul 2026 02:59:12 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to FLASH 读写问题 on Invalid Date]]></title><description><![CDATA[<p><strong>attribute</strong>((section(&quot;ram_code&quot;))) void internal_flash_test(void)<br />
{<br />
int i = 0;<br />
uint32_t address = 0x32000;<br />
address = 0x32000;<br />
// test 1<br />
memset(WBuffer, 0xaa, sizeof(WBuffer));<br />
WBuffer[0] = 0x01;<br />
WBuffer[1] = 0x01;<br />
WBuffer[2] = 0x01;<br />
WBuffer[3] = 0x01;<br />
flash_erase(address, 256);<br />
flash_write(address, 256, WBuffer);<br />
flash_read(address, 256, RBuffer);<br />
for (i = 0; i &lt; 256; i++)<br />
{<br />
if (RBuffer[i] != WBuffer[i])<br />
lw_log_info(&quot;QUAD mode err &quot;);<br />
RBuffer[i] = 0;<br />
}<br />
lw_log_info(&quot;QUAD mode END 1&quot;);<br />
// test 2<br />
address += 256;<br />
lw_log_info(&quot;QUAD mode Read and QUAD Writer %08x&quot;, address);<br />
memset(WBuffer, 0x55, sizeof(WBuffer));<br />
WBuffer[0] = 0x02;<br />
WBuffer[1] = 0x02;<br />
WBuffer[2] = 0x02;<br />
WBuffer[3] = 0x02;<br />
flash_erase(address, 256);<br />
// 读前256字节，应该全00x01和0xaa<br />
flash_read(address - 256, 256, RBuffer);<br />
for (i = 0; i &lt; 10; i++)<br />
{<br />
lw_log_info(&quot;QUAD mode %02x&quot;, RBuffer[i]);  // LOG 全部是0xff<br />
}<br />
flash_write(address, 256, WBuffer);<br />
flash_read(address, 256, RBuffer);<br />
for (i = 0; i &lt; 256; i++)<br />
{<br />
if (RBuffer[i] != WBuffer[i])<br />
lw_log_info(&quot;QUAD mode err &quot;);<br />
RBuffer[i] = 0;<br />
}<br />
lw_log_info(&quot;QUAD mode END 2&quot;);<br />
}<br />
在擦除第二块256字节时，第一块读取后全部为0xff. 如果 换成每次都是擦除4096字节，再读取前4096个字节就没有这个问题，是不是FX8008HP擦除最小是4096？</p>
]]></description><link>http://www.freqchip.net:4567/post/4526</link><guid isPermaLink="true">http://www.freqchip.net:4567/post/4526</guid><dc:creator><![CDATA[gling]]></dc:creator><pubDate>Invalid Date</pubDate></item><item><title><![CDATA[Reply to FLASH 读写问题 on Invalid Date]]></title><description><![CDATA[<p>是的，Flash 一个Block就是4k</p>
]]></description><link>http://www.freqchip.net:4567/post/4528</link><guid isPermaLink="true">http://www.freqchip.net:4567/post/4528</guid><dc:creator><![CDATA[Charles]]></dc:creator><pubDate>Invalid Date</pubDate></item></channel></rss>