<?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>Interrupts with internal and external code</title><link>https://community.arm.com/developer/tools-software/tools/f/keil-forum/13991/interrupts-with-internal-and-external-code</link><description> I set the compiler to save the PSW and put it into source mode (4 byte frame) instead of 
 binary. Now when I load my program into the dscope it has the correct ljmp instructions to my 
 ISR&amp;#39;s. I created an endless while loop(while(1);) in one of my</description><dc:language>en-US</dc:language><generator>Telligent Community 10</generator><item><title>RE: Interrupts with internal and external code</title><link>https://community.arm.com/thread/121577?ContentTypeID=1</link><pubDate>Wed, 14 Mar 2001 16:44:05 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:1de47e5f-32e9-4e3d-a750-284b9ffa4503</guid><dc:creator>Jim Maidhof</dc:creator><description>&lt;p&gt;Thanks Sergey,&lt;br /&gt;
&lt;br /&gt;
Right now I am trying to link a group of functions together at address FF4000H&lt;br /&gt;
and I am using the linker but the linker causes an error on my PC (PC fault) and it shuts down when I enter a long string into the command line. &lt;br /&gt;
ie ?PR?Myfunc1?Myfile(0FF4000),?PR?Myfunc2?Myfile, etc....&lt;br /&gt;
&lt;br /&gt;
I have alot of functions. Does anyone know how I can work around this?????&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with internal and external code</title><link>https://community.arm.com/thread/85036?ContentTypeID=1</link><pubDate>Wed, 14 Mar 2001 03:05:53 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:6dd5a177-50b0-4bb4-8667-7f8f900e1c30</guid><dc:creator>Sergey</dc:creator><description>&lt;p&gt;Select &amp;quot;Options/C251 compiler&amp;quot;, Dialog&lt;br /&gt;
&amp;quot;C251 Compiler Options&amp;quot;:&lt;br /&gt;
- page &amp;quot;Object&amp;quot;:&lt;br /&gt;
    [X] Save PSW1 in C251 interrupt code&lt;br /&gt;
&lt;br /&gt;
- page &amp;quot;Memory model&amp;quot;:&lt;br /&gt;
   Code size limits: &amp;quot;Huge:64K functions, 16mb program size&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
In &amp;quot;Command Line Options String&amp;quot; should be:&lt;br /&gt;
&amp;quot;.... I2 ROM(Huge) ....&amp;quot;&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with internal and external code</title><link>https://community.arm.com/thread/84071?ContentTypeID=1</link><pubDate>Wed, 14 Mar 2001 02:39:12 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3159c678-7f2c-4da6-bb20-465d2ce86711</guid><dc:creator>Sergey</dc:creator><description>&lt;p&gt;Are you sure about using HUGE memory model ?&lt;br /&gt;
&lt;br /&gt;
Which last instruction of your ISR and&lt;br /&gt;
&amp;#39;stub2&amp;#39; function:&lt;br /&gt;
- RETI/RET&lt;br /&gt;
or&lt;br /&gt;
- ERET&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It seems like non-simmetrical stack pointer&amp;#39;s manipulating. &lt;br /&gt;
For example, ECALL to function which finished with RET (but should be ERET).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with internal and external code</title><link>https://community.arm.com/thread/53574?ContentTypeID=1</link><pubDate>Mon, 12 Mar 2001 11:26:06 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:7fc2fda9-e998-4112-96c8-d707ab58c30f</guid><dc:creator>Jim Maidhof</dc:creator><description>&lt;p&gt;Does anyone know what would cause the following:&lt;br /&gt;
&lt;br /&gt;
Interrupt returns to some new line of code that it puts into my source.&lt;br /&gt;
&lt;br /&gt;
 My Code prior to interrupt&lt;br /&gt;
&lt;br /&gt;
address: FE002E   ECALL stub2 &lt;br /&gt;
         FE0032   SJMP #115  ; this is while (1) loop forever&lt;br /&gt;
          &lt;br /&gt;
&lt;br /&gt;
After the interrupt occurs I have&lt;br /&gt;
         FE002E ECALL stub2&lt;br /&gt;
         FE0030 RET&lt;br /&gt;
         FE0031 ???   0xCE&lt;br /&gt;
         FE0032 SJMP #115 &lt;br /&gt;
&lt;br /&gt;
Simulator generates an invalid instruction at address FE0030 &lt;br /&gt;
What is this new code and where did it come from Any ideas????&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item><item><title>RE: Interrupts with internal and external code</title><link>https://community.arm.com/thread/37329?ContentTypeID=1</link><pubDate>Sat, 10 Mar 2001 07:02:15 GMT</pubDate><guid isPermaLink="false">dd9e70c8-6d3c-4c71-b136-2456382a7b5c:3238d54d-6897-4653-9a1f-f47f1e4743cd</guid><dc:creator>Sergey .</dc:creator><description>&lt;p&gt;So many words ... and impossible to understand anything :)&lt;br /&gt;
&lt;br /&gt;
If you want to get reasonable answers for questions concerning some piece of your code - send code source itself !&lt;br /&gt;
&lt;br /&gt;
Also, useful to include compiler &amp;amp; linker options and may be memory map (*.m51 file).&lt;br /&gt;
&lt;br /&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;</description></item></channel></rss>