<?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: MPC5748G re-boot Core0 from a new location with MC_ME_CADDR in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1593306#M22781</link>
    <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/210267"&gt;@wattenre&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm sorry for delayed response, I'm totally overloaded now. That's a good question, I haven't met this until now. I will allocate some time to check it more thoroughly next week and I will let you know.&lt;/P&gt;
&lt;P&gt;Thanks for patience.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;</description>
    <pubDate>Fri, 03 Feb 2023 18:05:50 GMT</pubDate>
    <dc:creator>lukaszadrapa</dc:creator>
    <dc:date>2023-02-03T18:05:50Z</dc:date>
    <item>
      <title>MPC5748G re-boot Core0 from a new location with MC_ME_CADDR</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1588891#M22745</link>
      <description>&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;I would like to switch between BOOTLOADER and APPLICATION by setting the MC_ME_CADDR1 and restarting the Z4_0 via a "functional" reset.&lt;/P&gt;&lt;P&gt;The BOOTLOADER has its bootheader in 0x00FA0000 and its content in 0x01000000 (see linker script below). The APPLICATION is written from the raw binary file via CAN to 0x01200000 and the bootheader to 0x00FC0000. This write process works without errors. According to the BAF search sequence the APPLICATION is correctly executed after a reset (0x00FC0000 is fetched before 0x00FA0000).&lt;/P&gt;&lt;P&gt;Now I want to switch back to the BOOTLOADER with the following code:&lt;BR /&gt;&amp;nbsp; &amp;nbsp;MC_ME-&amp;gt;CCTL1 = 0x00FC;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;MC_ME-&amp;gt;CADDR1 = 0x01200000 | 1;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;MC_ME-&amp;gt;MCTL = 0x00005AF0;&lt;BR /&gt;&amp;nbsp; &amp;nbsp;MC_ME-&amp;gt;MCTL = 0x0000A50F;&lt;/P&gt;&lt;P&gt;But this doesn't work, instead the Z4_0 boots after the "functional" reset from the BAF, which leads to the start of the APPLICATION instead of the BOOTLOADER. If i delete the BAF section at 0x00FC0000, then the BOOTLOADER is starting again without any problems.&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;BR /&gt;&lt;BR /&gt;Greetings René&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;FONT size="4"&gt;&lt;U&gt;Linker Scripts:&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;BOOTLOADER&lt;/P&gt;&lt;P&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;* Define FLASH */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;FLASH_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__flash_base_addr__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __flash_base_addr__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 0x01000000;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;FLASH_SIZE&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__flash_size__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __flash_size__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 1856K;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;/* Define SRAM */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;SRAM_BASE_ADD&lt;/SPAN&gt;&lt;SPAN&gt;/&lt;/SPAN&gt;&lt;SPAN&gt;R&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__sram_base_addr__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __sram_base_addr__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 0x40000000;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;SRAM_SIZE&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__sram_size__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __sram_size__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 256K;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;/* Define RAppID boot data address */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;RAPPID_BOOT_APP_DELAY_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0008;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;RAPPID_BOOT_APP_KEY_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA000C;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;MEMORY&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; flash_rchw &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0000, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu0_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x10, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu1_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x14, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu2_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x04, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; rappid_boot_data &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FA0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x08, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x8&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; m_text &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; FLASH_BASE_ADDR, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; FLASH_SIZE&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; m_data &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; SRAM_BASE_ADDR, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; SRAM_SIZE&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;APPLICATION&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;/* Define FLASH */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;FLASH_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__flash_base_addr__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __flash_base_addr__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 0x01200000;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;FLASH_SIZE&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__flash_size__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __flash_size__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 1856K;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;/* Define SRAM */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;SRAM_BASE_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__sram_base_addr__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __sram_base_addr__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 0x40000000;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;SRAM_SIZE&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt; &lt;SPAN&gt;DEFINED&lt;/SPAN&gt;&lt;SPAN&gt;(__sram_size__) &lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;SPAN&gt; __sram_size__ &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt; 256K;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;/* Define RAppID boot data address */&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;RAPPID_BOOT_APP_DELAY_ADDR&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0008;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;RAPPID_BOOT_APP_KEY_ADDR&lt;/SPAN&gt;&lt;SPAN&gt; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC000C;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;MEMORY&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; flash_rchw &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0000, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu0_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x10, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu1_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x14, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; cpu2_reset_vec &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x04, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x4&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; rappid_boot_data &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x00FC0000&lt;/SPAN&gt;&lt;SPAN&gt;+&lt;/SPAN&gt;&lt;SPAN&gt;0x08, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; 0x8&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; m_text &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; FLASH_BASE_ADDR, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; FLASH_SIZE&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; m_data &lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt; &lt;SPAN&gt;org&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; SRAM_BASE_ADDR, &lt;/SPAN&gt;&lt;SPAN&gt;len&lt;/SPAN&gt; &lt;SPAN&gt;=&lt;/SPAN&gt;&lt;SPAN&gt; SRAM_SIZE&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="simsun,hei"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;FONT face="impact,chicago"&gt;&lt;SPAN&gt;#MPC5748G&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 27 Jan 2023 13:26:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1588891#M22745</guid>
      <dc:creator>wattenre</dc:creator>
      <dc:date>2023-01-27T13:26:11Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5748G re-boot Core0 from a new location with MC_ME_CADDR</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1588975#M22747</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/210267"&gt;@wattenre&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;it does not work in this way. MC_ME.CADDR registers take effect only during wake up from standby modes or when changing modes in Mode Entry. Typical use-case for the second situation is starting of Z4B and Z2 cores from Z4A core like this:&lt;/P&gt;
&lt;P&gt;void Core_Boot(void)&lt;BR /&gt;{&lt;BR /&gt;/* Enable e200z4b and e200z2 cores in RUN0-RUN3, DRUN and SAFE modes */&lt;BR /&gt;MC_ME.CCTL[2].R = 0x00FC; /* e200z4b is active */&lt;BR /&gt;MC_ME.CCTL[3].R = 0x00FC; /* e200z2 is active */&lt;BR /&gt;&lt;BR /&gt;/* Set start address for e200z4b and e200z2 cores */ &lt;BR /&gt;MC_ME.CADDR[2].R = E200Z4B_BOOT_ADDRESS | 1; /* e200z4b boot address + RMC bit */&lt;BR /&gt;MC_ME.CADDR[3].R = E200Z2_BOOT_ADDRESS | 1; /* e200z2 boot address + RMC bit */ &lt;BR /&gt;&lt;BR /&gt;/* Mode change - re-enter the DRUN mode to start cores */&lt;BR /&gt;MC_ME.MCTL.R = 0x30005AF0; /* Mode &amp;amp; Key */&lt;BR /&gt;MC_ME.MCTL.R = 0x3000A50F; /* Mode &amp;amp; Key inverted */&lt;BR /&gt;&lt;BR /&gt;while(MC_ME.GS.B.S_MTRANS == 1); /* Wait for mode entry complete */&lt;BR /&gt;while(MC_ME.GS.B.S_CURRENT_MODE != 0x3); /* Check DRUN mode entered */&lt;BR /&gt;}&lt;/P&gt;
&lt;P&gt;But after reset, reset vectors from boot header are always used.&lt;/P&gt;
&lt;P&gt;So, there are two solutions:&lt;/P&gt;
&lt;P&gt;- more common solution is to always start a bootloader after each reset. The bootloader then decides if it should jump to application or not.&lt;/P&gt;
&lt;P&gt;- second solution is to reprogram the boot headers when needed.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;</description>
      <pubDate>Fri, 27 Jan 2023 16:03:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1588975#M22747</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2023-01-27T16:03:31Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5748G re-boot Core0 from a new location with MC_ME_CADDR</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1589504#M22751</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/37795"&gt;@lukaszadrapa&lt;/a&gt;,&lt;/P&gt;&lt;P&gt;thank you very much for the fast and detailed answer on Friday and for providing additional solutions to solve my problem.&lt;BR /&gt;In the reference manual I found the following note in chapter 38.1.3.3:&lt;/P&gt;&lt;P&gt;&lt;FONT face="simsun,hei"&gt;The fact that a core does not need to be on in the current mode for it to be reset using the ME_CADDRx[RMC] bit in the next mode transition &lt;STRONG&gt;allows the boot core&lt;/STRONG&gt;, for example, &lt;STRONG&gt;to cause itself to re-boot from a new location&lt;/STRONG&gt; when all other cores are off without needing to turn on one of the other cores to handle the mode transition.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;How can I perform the mentioned self-restart from another location? Is it also possible only by rewriting the boot headers in the BAF?&lt;BR /&gt;&lt;BR /&gt;Thanks in advance.&lt;BR /&gt;&lt;BR /&gt;René&lt;/P&gt;</description>
      <pubDate>Mon, 30 Jan 2023 06:02:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1589504#M22751</guid>
      <dc:creator>wattenre</dc:creator>
      <dc:date>2023-01-30T06:02:18Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5748G re-boot Core0 from a new location with MC_ME_CADDR</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1593306#M22781</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/210267"&gt;@wattenre&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I'm sorry for delayed response, I'm totally overloaded now. That's a good question, I haven't met this until now. I will allocate some time to check it more thoroughly next week and I will let you know.&lt;/P&gt;
&lt;P&gt;Thanks for patience.&lt;/P&gt;
&lt;P&gt;Regards,&lt;/P&gt;
&lt;P&gt;Lukas&lt;/P&gt;</description>
      <pubDate>Fri, 03 Feb 2023 18:05:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1593306#M22781</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2023-02-03T18:05:50Z</dc:date>
    </item>
    <item>
      <title>Re: MPC5748G re-boot Core0 from a new location with MC_ME_CADDR</title>
      <link>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1593963#M22794</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;it's exactly the same as shown in my first answer in Core_Boot() function. Notice that when RMC bit set, it resets only the core on mode change. It does not reset whole microcontroller. And this is very often issue when customers jumps from bootloader to application (or vice versa) without reset. If the device is not in default reset state (or completely deinitialized), it usually leads to various SW issues due to previous initialization. So, it's possible but it's very important to deinitialize the device by your SW.&lt;/P&gt;
&lt;P&gt;Regards,&lt;BR /&gt;Lukas&lt;/P&gt;</description>
      <pubDate>Mon, 06 Feb 2023 12:57:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/MPC5748G-re-boot-Core0-from-a-new-location-with-MC-ME-CADDR/m-p/1593963#M22794</guid>
      <dc:creator>lukaszadrapa</dc:creator>
      <dc:date>2023-02-06T12:57:56Z</dc:date>
    </item>
  </channel>
</rss>

