<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://community.arm.com/utility/feedstylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Problems erasing main flash</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/21425/problems-erasing-main-flash</link><description> 
Hi All, 

 
I am working with a uPSD33xx and the Keil C51 toolchain. 

 
I am trying to produce a custom bootloader which is capable of IAP
but I am having problems controlling flash. 

 
The memory map of my application basically has CSBOOT0-&amp;gt;3
mapped</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Problems erasing main flash</title><link>https://community.arm.com/thread/47834?ContentTypeID=1</link><pubDate>Wed, 07 Mar 2007 00:26:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:52b0c13f-f22e-4afc-bcfd-543247dd9615</guid><dc:creator>kert lee</dc:creator><description>&lt;p&gt;&lt;p&gt;
Mr. Andy,&lt;/p&gt;

&lt;p&gt;
Well im here to ask you a favor? pls. Can u help me&lt;br /&gt;
&lt;br /&gt;
how to improve or to put extra features in flash? can&lt;br /&gt;
&lt;br /&gt;
u give me some solution,suggestion or advice for&lt;br /&gt;
&lt;br /&gt;
that.... i know u r excellent in flash.. hoping 4 ur&lt;br /&gt;
&lt;br /&gt;
reply.. thanks&lt;br /&gt;
&lt;br /&gt;
LEE of the Philippines&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problems erasing main flash</title><link>https://community.arm.com/thread/74838?ContentTypeID=1</link><pubDate>Wed, 21 Feb 2007 00:28:41 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:ddd4e41d-f7c1-4b2e-a372-61c23f42e79f</guid><dc:creator>Andy Atkinson</dc:creator><description>&lt;p&gt;&lt;p&gt;
All working now - no probs.&lt;/p&gt;

&lt;p&gt;
Andy&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Problems erasing main flash</title><link>https://community.arm.com/thread/47827?ContentTypeID=1</link><pubDate>Mon, 19 Feb 2007 06:25:30 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:38e0be65-086c-4158-8001-6580d4c051fb</guid><dc:creator>Jason Daniel</dc:creator><description>&lt;p&gt;&lt;p&gt;
Andy,&lt;/p&gt;

&lt;p&gt;
I&amp;#39;m not sure I entirely understand. You must remember that 0xFF IS
the erased state for flash memory (in general) as all that happens
during programming is some bits are set to zero and others are left
unchanged. As far as the polling sequence showing it being erased
immediately, it&amp;#39;s not impossible that that happens if the flash bank
you&amp;#39;re accessing has NEVER been programmed. Try programming something
into that flash region (like a fixed sequence of 0x01 0x02 0x03,
etc.). THEN try erasing it. If it goes to all 0xFF&amp;#39;s, you&amp;#39;ve
succeeeded.&lt;/p&gt;

&lt;p&gt;
As far as what you see in the debugger, I wouldn&amp;#39;t expect to see
any changes in those locations until the command is complete (that
is, doing something like *(unsigned char *)0x8555 = 0x12; wouldn&amp;#39;t
actually change the value. They&amp;#39;re just being interpreted by the
internal control logic of the flash chip.&lt;/p&gt;

&lt;p&gt;
In my opinion, the best thing would be to intentionally NOT have
the debugger access these memory locations except BEFORE and AFTER
you execute your commands. The accesses to the memory that the
debugger is doing might adversely affect the instruction sequence
(that is, the chip might see a memory READ in between your two writes
and cancel the operation).&lt;/p&gt;

&lt;p&gt;
-Jay Daniel&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>