<?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のトピックRe: Fixup overflow in main</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Fixup-overflow-in-main/m-p/1357126#M18221</link>
    <description>&lt;P&gt;Hi AjRj14,&lt;/P&gt;
&lt;P&gt;This is caused by internal CodeWarrior compiler – it wants to optimize the organization of the code in FLASH.&lt;/P&gt;
&lt;P&gt;If the CONST_SEG is used the compiler can’t optimize this section and musts write the constant (your variable in fact) into FLASH to specified place.&lt;/P&gt;
&lt;P&gt;I have tested the next format how to set-up this feature:&lt;/P&gt;
&lt;P&gt;------------------------------------------&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SEGMENTS&lt;/STRONG&gt;&amp;nbsp; /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &lt;STRONG&gt;READ_WRITE&lt;/STRONG&gt;&amp;nbsp; 0x001000 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0x001FFF;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &lt;STRONG&gt;READ_ONLY&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; 0xFF8000 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0xFFFCFF;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MY_ROM_VAR_SPACE = &lt;STRONG&gt;READ_ONLY&lt;/STRONG&gt;&amp;nbsp; &amp;nbsp; 0xFFFD00 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0xFFFDFF;&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; /* here all predefined and user segments are placed into the SEGMENTS defined above. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _PRESTART,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Used in HIWARE format: jump to _Startup at the code start */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;STARTUP&lt;/STRONG&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* startup data structures */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_VAR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* constant variables */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STRINGS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* string literals */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NON_BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* runtime routines which must not be banked */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_ROM,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; ROM;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MY_ROM_VAR&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; MY_ROM_VAR_SPACE;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* all variables, the default RAM location */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; RAM;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;-------------------------------&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;And in main.c:&lt;/P&gt;
&lt;P&gt;----------------------------------&lt;/P&gt;
&lt;P&gt;/* MODULE main */&lt;/P&gt;
&lt;P&gt;/* Including needed modules to compile this module/procedure */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "Cpu.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "Events.h"&lt;/P&gt;
&lt;P&gt;/* Include shared modules, which are used for whole project */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Types.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Error.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Const.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "IO_Map.h"&lt;/P&gt;
&lt;P&gt;/* User includes (#include below this line is not maintained by Processor Expert) */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;volatile&lt;/STRONG&gt; dword my_Variable;&lt;/P&gt;
&lt;P&gt;/* Write your local variable definition here */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#pragma&lt;/STRONG&gt; CONST_SEG MY_ROM_VAR&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;const&lt;/STRONG&gt; &lt;STRONG&gt;volatile&lt;/STRONG&gt; dword ROM_Volatile = {0x12341234};&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#pragma&lt;/STRONG&gt; CONST_SEG DEFAULT&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;main&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;/*** Processor Expert internal &lt;U&gt;initialization&lt;/U&gt;. DON'T REMOVE THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; PE_low_level_init();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** End of Processor Expert internal &lt;U&gt;initialization&lt;/U&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Write your code here */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* For example: for(;;) { } */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Don't write any code pass this line, or it will be deleted during code generation. ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;#ifdef&lt;/STRONG&gt; PEX_RTOS_START&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PEX_RTOS_START();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Startup of the selected RTOS. Macro is defined by the RTOS component. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** End of RTOS startup code.&amp;nbsp; ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my_Variable = ROM_Volatile;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;for&lt;/STRONG&gt;(;;){}&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/&lt;/P&gt;
&lt;P&gt;} /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/&lt;/P&gt;
&lt;P&gt;/* END main */&lt;/P&gt;
&lt;P&gt;-------------------------------&lt;/P&gt;
&lt;P&gt;The changes are implemented in the PE example project – the yellow marked rows.&lt;/P&gt;
&lt;P&gt;Please use it as example for your settings.&lt;/P&gt;
&lt;P&gt;I hope it could help you.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Stano.&lt;/P&gt;</description>
    <pubDate>Mon, 18 Oct 2021 09:53:35 GMT</pubDate>
    <dc:creator>StanoA</dc:creator>
    <dc:date>2021-10-18T09:53:35Z</dc:date>
    <item>
      <title>Fixup overflow in main</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Fixup-overflow-in-main/m-p/1356967#M18220</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I'm trying to place a variable&amp;nbsp; in an absolute flash location. Target is S12ZVM and I'm using codewarrior.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;For this, I modified the .prm file as below:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;In “SEGMENTS” defined “ROM_VAR_SPACE” (I selected small part of FLASH);&lt;/P&gt;&lt;P&gt;Then in “PLACEMENT” told linker, ROM_VAR data must be placed to ROM_VAR_SPACE.&lt;/P&gt;&lt;P&gt;Then in main.c ,&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AjRj14_0-1634539085974.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/159318i5A77ECD84952EE50/image-size/medium?v=v2&amp;amp;px=400" role="button" title="AjRj14_0-1634539085974.png" alt="AjRj14_0-1634539085974.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;When I am trying to access the buffer[0] from main function, I am getting the below error.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="AjRj14_1-1634539141884.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/159320i15E07831BA9FC8DD/image-size/medium?v=v2&amp;amp;px=400" role="button" title="AjRj14_1-1634539141884.png" alt="AjRj14_1-1634539141884.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I am able to access buffer[1]. No issues are occurring at that time. Could you please tell me why this is happening.&lt;/P&gt;&lt;P&gt;I have attached my .prm and main.c.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Oct 2021 06:42:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Fixup-overflow-in-main/m-p/1356967#M18220</guid>
      <dc:creator>AjRj14</dc:creator>
      <dc:date>2021-10-18T06:42:34Z</dc:date>
    </item>
    <item>
      <title>Re: Fixup overflow in main</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Fixup-overflow-in-main/m-p/1357126#M18221</link>
      <description>&lt;P&gt;Hi AjRj14,&lt;/P&gt;
&lt;P&gt;This is caused by internal CodeWarrior compiler – it wants to optimize the organization of the code in FLASH.&lt;/P&gt;
&lt;P&gt;If the CONST_SEG is used the compiler can’t optimize this section and musts write the constant (your variable in fact) into FLASH to specified place.&lt;/P&gt;
&lt;P&gt;I have tested the next format how to set-up this feature:&lt;/P&gt;
&lt;P&gt;------------------------------------------&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;SEGMENTS&lt;/STRONG&gt;&amp;nbsp; /* Here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &lt;STRONG&gt;READ_WRITE&lt;/STRONG&gt;&amp;nbsp; 0x001000 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0x001FFF;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = &lt;STRONG&gt;READ_ONLY&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp; 0xFF8000 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0xFFFCFF;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MY_ROM_VAR_SPACE = &lt;STRONG&gt;READ_ONLY&lt;/STRONG&gt;&amp;nbsp; &amp;nbsp; 0xFFFD00 &lt;STRONG&gt;TO&lt;/STRONG&gt; 0xFFFDFF;&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; /* here all predefined and user segments are placed into the SEGMENTS defined above. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _PRESTART,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Used in HIWARE format: jump to _Startup at the code start */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;STARTUP&lt;/STRONG&gt;,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* startup data structures */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_VAR,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* constant variables */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STRINGS,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* string literals */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NON_BANKED,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/* runtime routines which must not be banked */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_ROM,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; ROM;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MY_ROM_VAR&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; MY_ROM_VAR_SPACE;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* all variables, the default RAM location */&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&amp;nbsp; RAM;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;END&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;-------------------------------&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;And in main.c:&lt;/P&gt;
&lt;P&gt;----------------------------------&lt;/P&gt;
&lt;P&gt;/* MODULE main */&lt;/P&gt;
&lt;P&gt;/* Including needed modules to compile this module/procedure */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "Cpu.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "Events.h"&lt;/P&gt;
&lt;P&gt;/* Include shared modules, which are used for whole project */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Types.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Error.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "PE_Const.h"&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#include&lt;/STRONG&gt; "IO_Map.h"&lt;/P&gt;
&lt;P&gt;/* User includes (#include below this line is not maintained by Processor Expert) */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;volatile&lt;/STRONG&gt; dword my_Variable;&lt;/P&gt;
&lt;P&gt;/* Write your local variable definition here */&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#pragma&lt;/STRONG&gt; CONST_SEG MY_ROM_VAR&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;const&lt;/STRONG&gt; &lt;STRONG&gt;volatile&lt;/STRONG&gt; dword ROM_Volatile = {0x12341234};&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;#pragma&lt;/STRONG&gt; CONST_SEG DEFAULT&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;void&lt;/STRONG&gt; &lt;STRONG&gt;main&lt;/STRONG&gt;(&lt;STRONG&gt;void&lt;/STRONG&gt;)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;
&lt;P&gt;/*** Processor Expert internal &lt;U&gt;initialization&lt;/U&gt;. DON'T REMOVE THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; PE_low_level_init();&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** End of Processor Expert internal &lt;U&gt;initialization&lt;/U&gt;.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* Write your code here */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /* For example: for(;;) { } */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Don't write any code pass this line, or it will be deleted during code generation. ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** RTOS startup code. Macro PEX_RTOS_START is defined by the RTOS component. DON'T MODIFY THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;#ifdef&lt;/STRONG&gt; PEX_RTOS_START&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PEX_RTOS_START();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Startup of the selected RTOS. Macro is defined by the RTOS component. */&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** End of RTOS startup code.&amp;nbsp; ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Processor Expert end of main routine. DON'T MODIFY THIS CODE!!! ***/&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; my_Variable = ROM_Volatile;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;STRONG&gt;for&lt;/STRONG&gt;(;;){}&lt;/P&gt;
&lt;P&gt;&amp;nbsp; /*** Processor Expert end of main routine. DON'T WRITE CODE BELOW!!! ***/&lt;/P&gt;
&lt;P&gt;} /*** End of main routine. DO NOT MODIFY THIS TEXT!!! ***/&lt;/P&gt;
&lt;P&gt;/* END main */&lt;/P&gt;
&lt;P&gt;-------------------------------&lt;/P&gt;
&lt;P&gt;The changes are implemented in the PE example project – the yellow marked rows.&lt;/P&gt;
&lt;P&gt;Please use it as example for your settings.&lt;/P&gt;
&lt;P&gt;I hope it could help you.&lt;/P&gt;
&lt;P&gt;Best Regards,&lt;/P&gt;
&lt;P&gt;Stano.&lt;/P&gt;</description>
      <pubDate>Mon, 18 Oct 2021 09:53:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Fixup-overflow-in-main/m-p/1357126#M18221</guid>
      <dc:creator>StanoA</dc:creator>
      <dc:date>2021-10-18T09:53:35Z</dc:date>
    </item>
  </channel>
</rss>

