<?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>ST 8032 In-Application Programming</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/21077/st-8032-in-application-programming</link><description> 
Hi All, 

 
I am trying to get my In-Application Programming up and running on
an ST micro uPSD33xx. When activating the newly programmed image I
need to switch execution from the boot flash to the main flash. When
this happens the micro will just blindy</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/138364?ContentTypeID=1</link><pubDate>Fri, 02 Feb 2007 13:03:43 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:48c8392b-bd9e-459c-a7f9-d7aa4e664975</guid><dc:creator>Jason Daniel</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hank,&lt;/p&gt;

&lt;p&gt;
No, I don&amp;#39;t know of this file. It sounds from the OP like it was
part of some example code for one of their dev. kits. Handling the
UART in the uPSD is nearly identical to what one would do in a
standard 8051, however, and is therefore fairly straightforward to
implement.&lt;/p&gt;

&lt;p&gt;
-Jay D.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/130119?ContentTypeID=1</link><pubDate>Fri, 02 Feb 2007 09:10:28 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1f3ee506-b996-42f1-a50d-de1c4c1199fe</guid><dc:creator>hank jan</dc:creator><description>&lt;p&gt;&lt;p&gt;
hi, i&amp;#39;m sorry, my post is unconcerned with IAP, i want to ask a
question when i found somebody who is interested in upsd. in this
page&lt;br /&gt;
&lt;a target="_blank" href="http://mcu.st.com/mcu/modules.php?mop=modload&amp;amp;name=Splatt_Forums&amp;amp;file=viewtopic&amp;amp;topic=3712&amp;amp;forum=11"&gt;mcu.st.com/.../modules.php&lt;/a&gt;&lt;br /&gt;

one of the user mention about upsd_uart.c file, but i cant find this
file in st site, do you know where is this file? can you give me a
link?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/123649?ContentTypeID=1</link><pubDate>Fri, 02 Feb 2007 07:26:16 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:51434efc-b921-43b5-ac5a-4750946c8929</guid><dc:creator>Jason Daniel</dc:creator><description>&lt;p&gt;&lt;p&gt;
Andy,&lt;/p&gt;

&lt;p&gt;
Yes, I understand what you&amp;#39;re saying. I don&amp;#39;t use code banking at
all in my application. I use two separate projects: One for the
bootloader that goes into CSBOOT and one for the main
application.&lt;/p&gt;

&lt;p&gt;
As long as the memory map is configured in PSDSoft such that you
can EXECUTE out of CSBOOT and WRITE to MAIN flash, then you should be
able to get the job done. The only difficulty is that your bootloader
code will need to change the page register itself. For instance, if
you are trying to program code into bank 5 which is on page 5, then
the bootloader will need to change to that page to get it done. Hope
that makes it clearer.&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><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/112635?ContentTypeID=1</link><pubDate>Thu, 01 Feb 2007 18:25:07 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:30d408a7-9278-4a4c-8e0b-e9e05f9cbb03</guid><dc:creator>Andy Atkinson</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Jay,&lt;/p&gt;

&lt;p&gt;
How&amp;#39;s it going?&lt;/p&gt;

&lt;p&gt;
Just a quickie regarding the memory map and Keil v PSDSoft
settings for the memory map you have described (on the other
forum).&lt;/p&gt;

&lt;p&gt;
I want to have access to main flash (to erase and reporgram, etc)
from the bootloader in secondary flash. The bootloader application
obviously needs to be loaded into CSBOOOT0, 1,2 3 with nothing being
loaded into primary flash as this is for the main application.
However the bootloader app must be able to &amp;#39;see&amp;#39; primary flash to be
able to erase/reprogram.&lt;/p&gt;

&lt;p&gt;
To acheive this is it necessary to enable code banking in the Keil
toolchain or does the memory map specified in PSDSoft express take
care of this? As I am not loading any code into memory banks I do not
see why it is necessary to enable code banking, but this means that
the PSDSoft express memory map must be sufficient for the MCU to be
able to access the full memory map as described. So if I try to erase
a sector of flash, say FS5, from the bootloader and code banking is
OFF will the app successfuly access the relevant addresses based on
the PSDSoft express alone?&lt;/p&gt;

&lt;p&gt;
Do you see what I mean?&lt;/p&gt;

&lt;p&gt;
Cheers for any help Jay and have a great weekend!&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: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/98873?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2007 15:20:10 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3c6a451b-a95d-4145-a875-03a3d61d2b36</guid><dc:creator>Jason Daniel</dc:creator><description>&lt;p&gt;&lt;p&gt;
Andy,&lt;/p&gt;

&lt;p&gt;
Yeah, that&amp;#39;s me. :) Glad to hear it helped a bit. I do, in fact,
use the same startup code in both apps. It&amp;#39;s certainly possible to do
things in other ways, but since I have to decide at startup whether
to run the &amp;quot;bootloader&amp;quot; or the &amp;quot;main app&amp;quot; based on a number of
factors, it seemed to make sense to put it there. In actuality, the
only place the instructions really have to match up is exactly at the
point where you change the VM register to switch flash areas. After
that point, the code could be different. I just kept mine the same
for simplicity.&lt;/p&gt;

&lt;p&gt;
As far as other resources, ST has made some sample code in the
form of both firmware for the chip and a windows app to send over hex
files. I find that to adapt it for use in your application, however,
you pretty much already have to understand everything they&amp;#39;re doing.
You can find it here:&lt;/p&gt;

&lt;p&gt;
&lt;a target="_blank" href="http://mcu.st.com/mcu/modules.php?name=Content&amp;amp;pa=showpage&amp;amp;pid=55"&gt;&amp;quot; section.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/74787?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2007 15:08:35 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:26eaf530-f1dd-41a0-a278-330601663f89</guid><dc:creator>Andy Atkinson</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Jay,&lt;/p&gt;

&lt;p&gt;
I am assuming you are AKA &amp;#39;phaze246&amp;#39;.&lt;/p&gt;

&lt;p&gt;
That posting on the ST website will probably have helped one hek
of a lot of people (including me!) - nice one!&lt;/p&gt;

&lt;p&gt;
So I guess you are saying that you place the routine after the
interrupt vectors in the startup code and then simply use the same
startup code in both apps, yes?&lt;/p&gt;

&lt;p&gt;
Cheers&lt;/p&gt;

&lt;p&gt;
Andy&lt;/p&gt;

&lt;p&gt;
PS - Are there any other resources on IAP for the ST uPSD that you
can point me to?&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: ST 8032 In-Application Programming</title><link>https://community.arm.com/thread/47717?ContentTypeID=1</link><pubDate>Wed, 31 Jan 2007 07:41:30 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0fe5eb84-c9b6-4994-b1ac-4a5af7897674</guid><dc:creator>Jason Daniel</dc:creator><description>&lt;p&gt;&lt;p&gt;
Andy,&lt;/p&gt;

&lt;p&gt;
It sounds somewhat like you&amp;#39;ve been reading my long-winded
discussions at ST&amp;#39;s message board. If not, you can take a look
here:&lt;/p&gt;

&lt;p&gt;
&lt;a target="_blank" href="http://www.stmcu.com/forums-cat-2229-11.html&amp;amp;start=0"&gt;www.stmcu.com/forums-cat-2229-11.html&amp;amp;start=0&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;
Assuming you&amp;#39;ve done that and that&amp;#39;s why you&amp;#39;re looking here, I
can tell you this: All I did to figure out where to place my swapover
routine was look in the memory map and find a place where it fit.
I&amp;#39;ve thought about it some since then, however, and forcing it to
exist right past the end of the interrupt vectors seems like a more
reasonable thing, given that I&amp;#39;ve integrated it with the startup
code.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>