<?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>XC161 Program/Data PSRAM</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/16394/xc161-program-data-psram</link><description> With the V2 core Infineon has introduced the PSRAM on the XC16x derivatives. Does anybody have any good pointers to further documentation on how best to use this memory for in system flash reprogramming ? 
 
What I am naively envisaging is having a C</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: XC161 Program/Data PSRAM</title><link>https://community.arm.com/thread/41634?ContentTypeID=1</link><pubDate>Mon, 02 Feb 2004 08:58:21 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:b7309357-e5bc-41eb-bd87-6580fb3a153c</guid><dc:creator>Walt Conley</dc:creator><description>&lt;p&gt;Your idea sounds feasible to me.&lt;br /&gt;
&lt;br /&gt;
This is how I handle software updates. I use the first sector of FLASH for boot code. The purpose of boot is to allow application software to be reprogrammed via CAN or RS232. Application code resides in the remaining sectors of FLASH. Having a dedicated boot sector that never gets erased allows us to recover from a condition where power is lost during an update. It sounds like your scheme would be vulnerable to this but if you do not see this as a concern, you can certainly erase the entire FLASH and re-program it while running from RAM.&lt;br /&gt;
&lt;br /&gt;
A good place to start would be to use one of the example projects from C:\Keil\C166\Flash and tailored it to fit your requirements.&lt;br /&gt;
&lt;br /&gt;
Using my scheme, the only function I had to copy to RAM is Check() in FlashDev.c. That  was easy once I read through application note 138. Your scheme would require you to copy the entire file to RAM along with code to retreive your update, but that shouldn&amp;#39;t be an issue as long as it is small enough to fit in program RAM.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#39;s a link to app note 138 in case you have not seen it.&lt;br /&gt;
&lt;a href="http://www.keil.com/appnotes/docs/apnt_138.asp"&gt;http://www.keil.com/appnotes/docs/apnt_138.asp&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Hope this helps,&lt;br /&gt;
-Walt&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>