<?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>IAP Simulation using Keil</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/33895/iap-simulation-using-keil</link><description> 
Hi All, 

 
I am working with P89CV51RD2. I have written a small custom
bootloader code that is erasing a Block. 
I dump my code at an address starting from 0xF000. And want to erase
block 1. 

 
I want to simulate it using Keil. But problem while debugging</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/129306?ContentTypeID=1</link><pubDate>Tue, 15 Nov 2016 01:36:00 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:d25caebf-b006-4f29-927d-fbf1bb42a6c8</guid><dc:creator>Utsavi Bharuchwala</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Westonsupermare Pier,&lt;/p&gt;

&lt;p&gt;
Thanks for reply.&lt;/p&gt;

&lt;p&gt;
I go through your suggestions. I start to Test my bootloader using
Real Hardware.&lt;br /&gt;
I am using P89C51RD2 in which PGM_MTP is at FFF0H. I call it for
erasing Block 2.&lt;/p&gt;

&lt;p&gt;
For that I write like, MOV DPH,#40H&lt;/p&gt;

&lt;p&gt;
MOV DPL,#00H&lt;/p&gt;

&lt;p&gt;
MOV DPH,R2 ;; Erase 8K block&lt;/p&gt;

&lt;p&gt;
MOV R0,#24 ;; OSC Freq (integer) in 24.576 Mhz.&lt;/p&gt;

&lt;p&gt;
MOV R1,#01 ;; Func code to erase block..&lt;/p&gt;

&lt;p&gt;
LCALL PGM_MTP ;; Call boot loader routine to perform..&lt;/p&gt;

&lt;p&gt;
But on call of PGM_MTP, program reset all time. I don&amp;#39;t know why
this is happening?&lt;/p&gt;

&lt;p&gt;
Program is not coming below this LCALL PGM_MTP.&lt;/p&gt;

&lt;p&gt;
Any suggestions?&lt;/p&gt;

&lt;p&gt;
Regards,&lt;br /&gt;
Utsavi Bharuchwala&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/120897?ContentTypeID=1</link><pubDate>Sat, 29 Oct 2016 10:39:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:4834eed7-e076-48e2-8971-c6fc7c8f8aa0</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
I learned to write code in an era when it was very time consuming
to write/erase EPROMs, or had to use costly OTP devices. And an ICE
cost as much as a new car.&lt;/p&gt;

&lt;p&gt;
You learned to understand the flow of your own code in your head,
and be very sure it was as error free as possible, without having to
single-step it to grasp how it actually functioned. And provide
enough interactivity that you could test as much as possible during
each cycle.&lt;/p&gt;

&lt;p&gt;
It was also a time where manuals were printed and you had to read
and interpret them thoroughly, by yourself.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/108940?ContentTypeID=1</link><pubDate>Sat, 29 Oct 2016 06:51:51 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3f3451b9-3d68-4432-8ecc-9d9c1252c947</guid><dc:creator>&amp;#178;erik malund</dc:creator><description>&lt;p&gt;&lt;p&gt;
&lt;i&gt;But it would be great if I can simulate IAP using Keil, that
create less time consumption.&lt;/i&gt;&lt;/p&gt;

&lt;p&gt;
actually, the opposite is, quite often true&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/83391?ContentTypeID=1</link><pubDate>Fri, 28 Oct 2016 22:47:31 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:e3c99a8c-5eae-4d01-8712-6a57daca4f68</guid><dc:creator>Utsavi Bharuchwala</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Westermark,&lt;/p&gt;

&lt;p&gt;
Thanks for quick reply and guidance.&lt;/p&gt;

&lt;p&gt;
Regards,&lt;br /&gt;
Utsavi Bharuchwala&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/83388?ContentTypeID=1</link><pubDate>Fri, 28 Oct 2016 22:42:56 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:99336cd8-fd03-4d49-a2eb-b5192c18f101</guid><dc:creator>Utsavi Bharuchwala</dc:creator><description>&lt;p&gt;&lt;p&gt;
Hi Pier,&lt;/p&gt;

&lt;p&gt;
Thanks for reply. Yes As per discussion, I have to test using real
Hardware. But it would be great if I can simulate IAP using Keil,
that create less time consumption.&lt;/p&gt;

&lt;p&gt;
Regards,&lt;br /&gt;
Utsavi Bharuchwala&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/65107?ContentTypeID=1</link><pubDate>Fri, 28 Oct 2016 12:49:17 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:0f736360-66f2-40ea-9a24-b153008e19d2</guid><dc:creator>Westonsupermare Pier</dc:creator><description>&lt;p&gt;&lt;p&gt;
Assume there are many situations where the simulator just isn&amp;#39;t
going to cut it, and that you need to run code on real hardware, and
provide yourself with enough diagnostic output and control that you
can experiment.&lt;/p&gt;

&lt;p&gt;
For chips you can&amp;#39;t ICE, use a UART and write a monitor
application that you can interact with.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: IAP Simulation using Keil</title><link>https://community.arm.com/thread/69696?ContentTypeID=1</link><pubDate>Fri, 28 Oct 2016 05:01:37 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:629ebe90-b997-4822-bfeb-ebebc5af3780</guid><dc:creator>edPer Westermark</dc:creator><description>&lt;p&gt;&lt;p&gt;
I know the simulator can&amp;#39;t simulate IAP for a number of different
processors so it&amp;#39;s likely it can&amp;#39;t for your processor too.&lt;/p&gt;

&lt;p&gt;
Not sure if it might be possible/meaningful to have the IAP code
try to raise some signal to trig the simulator script and possibly
perform some memory updates in the simulator script.&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>