<?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>Runtime programming FLASH with data</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/20109/runtime-programming-flash-with-data</link><description> 
I use the MCB-STR9 eval board. 

 
I use Flash Bank 0 for program and Flash Bank 1 for my Parameter.
Do write some Parameters I have to clear the first sector of this
Bank while runtime. 
But I got a timeout or an Prefetch Interrupt. 

 
I have a short</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Runtime programming FLASH with data</title><link>https://community.arm.com/thread/47623?ContentTypeID=1</link><pubDate>Thu, 18 Jan 2007 06:40:32 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:9564ab86-367a-4df5-9c21-c8c0bc7945e4</guid><dc:creator>GR&amp;#220;N Christophe</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi,&lt;/p&gt;

&lt;p&gt;
If you want to correctly write on the flash bank1 when you execute
code from bank0, you have at least to put the content of this
function in RAM :&lt;/p&gt;

&lt;pre&gt;
FMI_Config(FMI_READ_WAIT_STATE_3, FMI_WRITE_WAIT_STATE_1, FMI_PWD_DISABLE,\ 
             FMI_LVD_DISABLE, FMI_FREQ_LOW); /* FMI Waite States */
&lt;/pre&gt;

&lt;p&gt;
The fmi controller doesn&amp;#39;t reconize this init if the code is
executed from flash. You can locate the CONTENT (the two writes to
FMI_BANK1) of this small function in a dedicated source file named
INRAM.C, and next add inram.o in your linker setup file
(blinky.sct)&lt;/p&gt;

&lt;pre&gt;
RW_IRAM1 0x04000000 0x00018000
{  ; RW data
   * (+RW +ZI)
   inram.o
  }
&lt;/pre&gt;

&lt;p&gt;
if you have futher problem you can also replace inram.o by
directly 91x_fmi.c in the linker file to locate all flash routine in
RAM at the execution. with this, everything must be good.&lt;/p&gt;

&lt;p&gt;
I hope that can help you.&lt;/p&gt;

&lt;p&gt;
Chris.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>