<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S12 / MagniV MicrocontrollersのトピックS12ZVML128 interrupt table</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1449788#M18628</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;In my project，I want to create an interrupt vector array in a vector.c like this：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PR_CONST_SECTION（my_vector）&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;const typeVect _vectab[]={&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,dummy,}&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+10*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,dummy,}&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+14*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; ...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,STARTUP_FCN}&amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+1FC*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I have already defined the _Startup as&amp;nbsp;STARTUP_FCN like this:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;#define&amp;nbsp; &amp;nbsp;STARTUP_FCN&amp;nbsp; &amp;nbsp; _Startup&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I want to locate the vector array into the 0xFFFE10&amp;nbsp; where is the default vector table address.&lt;/P&gt;&lt;P&gt;So,in the prm file :&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENTS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; RAM&amp;nbsp; = READ_WRITE&amp;nbsp;0x001000 TO 0x002FFF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;EEPROM = READ_ONLY 0x100000 TO 0x1001FF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;ROM = READ_ONLY 0xFE0200 TO 0xFFDFF7;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; &lt;FONT color="#FF6600"&gt;VECTORS = READ_ONLY 0xFFFE10 TO 0xFFFFFF;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; //OSVECTORS = READ_ONLY 0xFFFE10 TO 0xFFFFFF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PLACEMENT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;_PRESTART, /* Used in HIWARE format: jump to _Startup at the code start */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; STARTUP, /* startup data structures */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; ROM_VAR, /* constant variables */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; STRINGS, /* string literals */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //.ostext, /* OSEK */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; NON_BANKED, /* runtime routines which must not be banked */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; DEFAULT_ROM,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; COPY INTO ROM;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; //.stackstart, /* eventually used for OSEK kernel awareness: Main-Stack Start */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; SSTACK, /* allocate stack first to avoid overwriting variables on overflow */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //.stackend, /* eventually used for OSEK kernel awareness: Main-Stack End */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; ptuTrigE,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; adcLists,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; DEFAULT_RAM INTO RAM;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; &lt;FONT color="#FF6600"&gt;my_vector INTO VECTORS;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ENTRIES /* keep the following unreferenced variables */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; /* OSEK: always allocate the vector table and all dependent objects */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //_vectab&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;STACKSIZE 0x500&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//VECTOR 0 Entry /* reset vector: this is the default entry point for an Assembly application. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//INIT Entry /* for assembly applications: that this is as well the initialization entry point */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Then I successfully compile&amp;nbsp; the program and download it into the S19ZVML128.&lt;/P&gt;&lt;P&gt;When I dubug the progam,by the Memory Monitors Window,I find that there is no data about the vector array&amp;nbsp; between the 0xFFFE10&amp;nbsp; and 0xFFFFFF.&lt;/P&gt;&lt;P&gt;I think that means the CPU can not get the &amp;nbsp;_Startup adrress,but the program successfully step into&amp;nbsp;the _Startup and report an error jumping into the main function.&lt;/P&gt;&lt;P&gt;Now,I want to ask Why the CPU can get the&amp;nbsp;&amp;nbsp;_Startup adrress,there is obviously no data&amp;nbsp;between the 0xFFFE10&amp;nbsp; and 0xFFFFFF&lt;/P&gt;&lt;P&gt;And why the program can not jump into the main function?&lt;/P&gt;&lt;P&gt;And how to locate the data of vevtor array into the 0xFFFE10?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 27 Apr 2022 08:46:00 GMT</pubDate>
    <dc:creator>vincent_jian</dc:creator>
    <dc:date>2022-04-27T08:46:00Z</dc:date>
    <item>
      <title>S12ZVML128 interrupt table</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1449788#M18628</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;In my project，I want to create an interrupt vector array in a vector.c like this：&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PR_CONST_SECTION（my_vector）&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;const typeVect _vectab[]={&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,dummy,}&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+10*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,dummy,}&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+14*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; ...&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; {0x00,STARTUP_FCN}&amp;nbsp; &amp;nbsp; &amp;nbsp;/*0xFFFE00+1FC*/&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;}&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I have already defined the _Startup as&amp;nbsp;STARTUP_FCN like this:&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;#define&amp;nbsp; &amp;nbsp;STARTUP_FCN&amp;nbsp; &amp;nbsp; _Startup&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;I want to locate the vector array into the 0xFFFE10&amp;nbsp; where is the default vector table address.&lt;/P&gt;&lt;P&gt;So,in the prm file :&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SEGMENTS&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; RAM&amp;nbsp; = READ_WRITE&amp;nbsp;0x001000 TO 0x002FFF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;EEPROM = READ_ONLY 0x100000 TO 0x1001FF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;ROM = READ_ONLY 0xFE0200 TO 0xFFDFF7;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; &lt;FONT color="#FF6600"&gt;VECTORS = READ_ONLY 0xFFFE10 TO 0xFFFFFF;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; //OSVECTORS = READ_ONLY 0xFFFE10 TO 0xFFFFFF;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;PLACEMENT&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;_PRESTART, /* Used in HIWARE format: jump to _Startup at the code start */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; STARTUP, /* startup data structures */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; ROM_VAR, /* constant variables */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; STRINGS, /* string literals */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; VIRTUAL_TABLE_SEGMENT, /* C++ virtual table segment */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //.ostext, /* OSEK */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; NON_BANKED, /* runtime routines which must not be banked */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; DEFAULT_ROM,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; COPY INTO ROM;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp; //.stackstart, /* eventually used for OSEK kernel awareness: Main-Stack Start */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; SSTACK, /* allocate stack first to avoid overwriting variables on overflow */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //.stackend, /* eventually used for OSEK kernel awareness: Main-Stack End */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; ptuTrigE,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; adcLists,&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; DEFAULT_RAM INTO RAM;&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; &lt;FONT color="#FF6600"&gt;my_vector INTO VECTORS;&lt;/FONT&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ENTRIES /* keep the following unreferenced variables */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; /* OSEK: always allocate the vector table and all dependent objects */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;&amp;nbsp; //_vectab&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;STACKSIZE 0x500&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;//VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//VECTOR 0 Entry /* reset vector: this is the default entry point for an Assembly application. */&lt;/STRONG&gt;&lt;BR /&gt;&lt;STRONG&gt;//INIT Entry /* for assembly applications: that this is as well the initialization entry point */&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;Then I successfully compile&amp;nbsp; the program and download it into the S19ZVML128.&lt;/P&gt;&lt;P&gt;When I dubug the progam,by the Memory Monitors Window,I find that there is no data about the vector array&amp;nbsp; between the 0xFFFE10&amp;nbsp; and 0xFFFFFF.&lt;/P&gt;&lt;P&gt;I think that means the CPU can not get the &amp;nbsp;_Startup adrress,but the program successfully step into&amp;nbsp;the _Startup and report an error jumping into the main function.&lt;/P&gt;&lt;P&gt;Now,I want to ask Why the CPU can get the&amp;nbsp;&amp;nbsp;_Startup adrress,there is obviously no data&amp;nbsp;between the 0xFFFE10&amp;nbsp; and 0xFFFFFF&lt;/P&gt;&lt;P&gt;And why the program can not jump into the main function?&lt;/P&gt;&lt;P&gt;And how to locate the data of vevtor array into the 0xFFFE10?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Apr 2022 08:46:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1449788#M18628</guid>
      <dc:creator>vincent_jian</dc:creator>
      <dc:date>2022-04-27T08:46:00Z</dc:date>
    </item>
    <item>
      <title>Re: S12ZVML128 interrupt table</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1452222#M18637</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;1) Please check vectors.c file in the attached example&lt;/P&gt;
&lt;P&gt;2) Also changes were made in the prm file:&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;PLACEMENT&lt;/STRONG&gt; /* here all predefined and user segments are placed into the SEGMENTS defined above. */&lt;/P&gt;
&lt;P&gt;…&lt;/P&gt;
&lt;P&gt;…&lt;/P&gt;
&lt;P&gt;…&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;INTO&lt;/STRONG&gt;&amp;nbsp; RAM;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my_vector&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;INTO&lt;/STRONG&gt; VECTORS;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; //.vectors&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; OSVECTORS; /* OSEK */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;ENTRIES&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;InterruptVectorTable&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;STACKSIZE&lt;/STRONG&gt; 0x100&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;//VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */&lt;/P&gt;
&lt;P&gt;//VECTOR 0 Entry&amp;nbsp; /* reset vector: this is the default entry point for an Assembly application. */&lt;/P&gt;
&lt;P&gt;//INIT Entry&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* for assembly applications: that this is as well the initialization entry point */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;3) #include "starts12z.h" added into Vectors.c because it contains a declaration of the _Startup function.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Ladislav&lt;/P&gt;</description>
      <pubDate>Tue, 03 May 2022 12:11:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1452222#M18637</guid>
      <dc:creator>lama</dc:creator>
      <dc:date>2022-05-03T12:11:23Z</dc:date>
    </item>
    <item>
      <title>Re: S12ZVML128 interrupt table</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1456084#M18650</link>
      <description>&lt;P&gt;Thank you very much !&lt;/P&gt;&lt;P&gt;I have solved the problem.&lt;/P&gt;</description>
      <pubDate>Wed, 11 May 2022 06:09:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML128-interrupt-table/m-p/1456084#M18650</guid>
      <dc:creator>vincent_jian</dc:creator>
      <dc:date>2022-05-11T06:09:17Z</dc:date>
    </item>
  </channel>
</rss>

