<?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>topic Re: Dual Target Project in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248487#M9641</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've just solve it by setting INITRM = 0x00, before calling INIT() so RAM would be at 0x0000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Feb 2013 14:41:37 GMT</pubDate>
    <dc:creator>sebasira</dc:creator>
    <dc:date>2013-02-05T14:41:37Z</dc:date>
    <item>
      <title>Dual Target Project</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248485#M9639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello everyone!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've got a project for a HCS12-128 (MC9S12A128) and I want to load it into the same hardware but with a HCS12-256 (MC9S12A256). On the 128 works fine, but&amp;nbsp; when I load it into 256 it won't pass the startup. The startup is the one created by the project wizard (for 1258). &lt;EM&gt;(Note, if it helps, I'm working with CW v4.6)&lt;/EM&gt;.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It gets stuck inside &lt;STRONG&gt;Init &lt;/STRONG&gt;rigth after start execution. Here's a portion of it&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&gt;static void Init(void) {&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&gt;/* purpose:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1) zero out RAM-areas where data is allocated&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&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; 2) copy initialization data from ROM to RAM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&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; 3) call global constructors in C++&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;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&gt;/*&amp;nbsp;&amp;nbsp; called from: _Startup, LibInits&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&gt;&amp;nbsp;&amp;nbsp; __asm {&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&gt;ZeroOut:&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM style="line-height: 1.5em; font-size: 10pt;"&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; LDX&amp;nbsp;&amp;nbsp; _startupData.pZeroOut&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; *pZeroOut&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&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; LDY&amp;nbsp;&amp;nbsp; _startupData.nofZeroOuts&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; nofZeroOuts&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'courier new', courier; color: #575757;"&gt;&lt;EM&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; BEQ&amp;nbsp;&amp;nbsp; CopyDown&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; ; if nothing to zero out&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When loaded into a 128 MCU, in the ASM window I see:&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388000&amp;nbsp;&amp;nbsp; LDX&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xC00D&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388003&amp;nbsp;&amp;nbsp; LDY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xC00B&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388006&amp;nbsp;&amp;nbsp; BEQ&amp;nbsp;&amp;nbsp;&amp;nbsp; *+16&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Instead, when I load it into the 256 MCU:&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388000&amp;nbsp;&amp;nbsp; BGND&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388001&amp;nbsp;&amp;nbsp; BGND&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388002&amp;nbsp;&amp;nbsp; BGND&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;388003&amp;nbsp;&amp;nbsp; BGND&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;EM style="font-family: 'courier new', courier;"&gt;&lt;BR /&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why is this happening?&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'm guessing it could be related to PRM file, so I attached it. With other projects I've done the same thing and I did not have any problem, and the only difference is that now I've touch the PRM from it's default.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any input is appreciatted! Thanks!&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-338697"&gt;PRM-for-12.prm.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 13:00:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248485#M9639</guid>
      <dc:creator>sebasira</dc:creator>
      <dc:date>2013-02-05T13:00:15Z</dc:date>
    </item>
    <item>
      <title>Re: Dual Target Project</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248486#M9640</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;New information!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I don't know why but ASM windows is not working and that's why is showing BGND. If I step the code, I can see how X and Y are correctly loaded.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Now, I guess the problem is that RAM is not "RAM"... If I go to address 0x000800 wich is RAM start address, I see all 0xFF in the 256 and 0x00 in 128. Stack pointer is set right there and when adding values, this portion of memory can not be written. So then the problem is that it PUSH-PULL Y and always reads back 0xFFFF so it never pass startup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I try to change the memory content manually, I cannot.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 14:27:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248486#M9640</guid>
      <dc:creator>sebasira</dc:creator>
      <dc:date>2013-02-05T14:27:17Z</dc:date>
    </item>
    <item>
      <title>Re: Dual Target Project</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248487#M9641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've just solve it by setting INITRM = 0x00, before calling INIT() so RAM would be at 0x0000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 14:41:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248487#M9641</guid>
      <dc:creator>sebasira</dc:creator>
      <dc:date>2013-02-05T14:41:37Z</dc:date>
    </item>
    <item>
      <title>Re: Dual Target Project</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248488#M9642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;INITRM = 0x39 or 0x3F is the best setting for all S12D / S12A. It makes RAM aligned with the top RAM address at 0x3FFF. Making app for S12D64 with RAM in PRM placed at 0x3F00..0x3FFF, will make the same app working on all higher S12D family members. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Feb 2013 21:03:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Dual-Target-Project/m-p/248488#M9642</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2013-02-05T21:03:30Z</dc:date>
    </item>
  </channel>
</rss>

