<?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: m4 primary part dual core in Vybrid Processors</title>
    <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255017#M1173</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Make sure the address you put in the boot header is the starting address of the M4 code plus 1. So if the first instruction is at 0x2000_0400, put in the boot header the value of 0x2000_0401&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is because the M4 is expecting an odd address since it operates in thumb mode. This helped another customer previously as that was the key they were missing. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Jul 2013 18:10:30 GMT</pubDate>
    <dc:creator>anthony_huereca</dc:creator>
    <dc:date>2013-07-10T18:10:30Z</dc:date>
    <item>
      <title>m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255011#M1167</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN&gt;From&amp;nbsp; &lt;/SPAN&gt;&lt;A class="jive-link-email-small" href="mailto:xuewei.liu@honeywell.com"&gt;xuewei.liu@honeywell.com&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Dear support,&lt;/P&gt;&lt;P&gt;we have a M4 QSPIprimary part, PVF62GN151CMK40. but we want to use the A5 core to run MQX,then the M4 stay in idle state.&amp;nbsp; What the code would be?&lt;/P&gt;&lt;P&gt;Questions2, How to set the QSPI XIP project to generate the load image for the M4 primary part .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&amp;amp;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(SR related 1-1065677828)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 14:52:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255011#M1167</guid>
      <dc:creator>karina_valencia</dc:creator>
      <dc:date>2013-05-24T14:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255012#M1168</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think your M4 code, should just kick off the A5 by setting the entry_point of the A5 code just before waking it up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set entry function for secondary core. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SRC-&amp;gt;GPR[2] = a5_entry_point_address;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Wakes up the secondary (non-master) core. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CCM-&amp;gt;CCOWR = 0x15a5a;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Keep Primary core waiting for interrupt (WFI) */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; __asm(" wfi");&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the same way it is used when A5 is the primary code. I think it should also applied when M4 is the primary.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding Question number2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In DS5 you can generate a project for the A5 code and generate a c array output from the elf output by&lt;/P&gt;&lt;P&gt;setting a Post-build step like this&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;fromelf --cadcombined a5Project.axf --output a5ProjectImage.c&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then you can use another quadspi loader project that initializes, erase and configure the QuadSPI on writing mode.&lt;/P&gt;&lt;P&gt;(Please refer to the quadspi-load project in the set of examples released)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This project will place in DDR or SRAM the object file for the a5ProjectImage then at runtime you can copy the contents to the QuadSPI. You only need to add the a5ProjectImage.c and modify the DDR_QuadSPI_Load scatter file to add the name of the corresponding object file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;; External applicatin is at this location and used to program QuadSPI memory&lt;/P&gt;&lt;P&gt;EXTERNAL_APPLICATION 0x80080000&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; EXTERNAL_CODE +0&lt;/P&gt;&lt;P&gt;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; a5ProjectImage.o(+RW)&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; EXTERNAL_CODE_END ImageLImit(EXTERNAL_CODE) EMPTY 0 {}&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Be aware that you need to --keep=a5ProjectImage.o to the linker options&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 May 2013 20:03:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255012#M1168</guid>
      <dc:creator>juangutierrez</dc:creator>
      <dc:date>2013-05-24T20:03:14Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255013#M1169</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, &lt;A _jive_internal="true" data-avatarid="26872" data-externalid="" data-online="false" data-presence="null" data-userid="210819" data-username="juangutierrez" href="https://community.nxp.com/people/juangutierrez" style="font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; color: #8ca9cd; background-color: #ffffff;"&gt;Juan Antonio Gutierrez Rosas&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have M4 Primary part, but we want to evaluate VF5XX part in deed. So all my question is about how to let the chip work as an A5 Primary part.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1. The kick off code should execute before all the code start or place after M4 core initializes the stack, vector table and PLL like the dualcore demo? &lt;SPAN style="line-height: 1.5em; font-size: 10pt;"&gt;And I am confused about that which core should do the initialization work, including &lt;/SPAN&gt;initialize&lt;SPAN style="font-size: 10pt;"&gt;&lt;SPAN style="line-height: 1.5em;"&gt; the stack, vector table and &lt;/SPAN&gt;&lt;SPAN style="line-height: 19.5px;"&gt;clock&lt;/SPAN&gt;&lt;SPAN style="line-height: 1.5em;"&gt;? &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;2. Could you give an example for how to set the image project in IAR? &lt;/DIV&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; line-height: 1.5em;"&gt;Thanks!&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 May 2013 01:58:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255013#M1169</guid>
      <dc:creator>xueweiliu</dc:creator>
      <dc:date>2013-05-27T01:58:35Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255014#M1170</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You can place the kick off code at the entry point, or in main function. As long as the you keep the ivt (image vector table) code that ROM needs to ensure you reach the entry point. I think you can do the rest of the initialization in the M4 code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;You can check the example project &lt;STRONG&gt;GettingStarted.ewp&lt;/STRONG&gt; at your local installation ( i.e. C:\Program Files\IAR Systems\Embedded Workbench 6.5\arm\examples\Freescale\VF6xx\TWR-VF600\build\iar\projects\getting_started).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Im using&amp;nbsp; IAR Embedded Workbench for ARM 6.50.5.4862&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;For QSPI XIP in debugger options s&lt;/SPAN&gt;&lt;SPAN style="color: #1f497d;"&gt;etup macros they are using the &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; $PROJ_DIR$\..\..\..\..\build\iar\config\init_QSPI.mac&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;Also they are overriding the default board file with&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt; $TOOLKIT_DIR$\config\flashloader\Freescale\FlashTWR600A5_QSPI.board&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;These scripts will allow you to flash the QaudSPI. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #1f497d;"&gt;I also will try to get an M4 primary board and try to make an example as soon as I have some bandwith&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 May 2013 01:56:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255014#M1170</guid>
      <dc:creator>juangutierrez</dc:creator>
      <dc:date>2013-05-28T01:56:27Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255015#M1171</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Juan, do you have any updates on this? We are in trouble with this, we can download the code to QSPI flash but can not boot from it. &lt;/P&gt;&lt;P&gt;Thanks！&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 05:23:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255015#M1171</guid>
      <dc:creator>xueweiliu</dc:creator>
      <dc:date>2013-07-10T05:23:37Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255016#M1172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry I have not had enough time me lately.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have any idea if reaching the code that enables the A5 or are you getting stuck in the ROM code?&lt;/P&gt;&lt;P&gt;If you can connect with JTAG/lauterbach maybe you can place a breakpoint at your entry point and see if you are reaching that code or the error happens before.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also make sure you are modifying the ivt structure in your .ivt section to point &lt;STRONG&gt;entry&lt;/STRONG&gt; to the start function you have the code that enables the A5&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; struct _ivt_ {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** @ref hdr with tag #HAB_TAG_IVT, length and HAB version fields&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; (see @ref data)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t hdr;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Absolute address of the first instruction to execute from the&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; image&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t entry;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Reserved in this version of HAB: should be NULL. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t reserved1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Absolute address of the image DCD: may be NULL. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t dcd;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Absolute address of the Boot Data: may be NULL, but not interpreted&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; *&amp;nbsp; any further by HAB&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t boot_data;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Absolute address of the IVT.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t self;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Absolute address of the image CSF.*/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t csf;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /** Reserved in this version of HAB: should be zero. */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t reserved2;&lt;/P&gt;&lt;P&gt;} ivt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 15:47:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255016#M1172</guid>
      <dc:creator>juangutierrez</dc:creator>
      <dc:date>2013-07-10T15:47:42Z</dc:date>
    </item>
    <item>
      <title>Re: m4 primary part dual core</title>
      <link>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255017#M1173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Make sure the address you put in the boot header is the starting address of the M4 code plus 1. So if the first instruction is at 0x2000_0400, put in the boot header the value of 0x2000_0401&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is because the M4 is expecting an odd address since it operates in thumb mode. This helped another customer previously as that was the key they were missing. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Jul 2013 18:10:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Vybrid-Processors/m4-primary-part-dual-core/m-p/255017#M1173</guid>
      <dc:creator>anthony_huereca</dc:creator>
      <dc:date>2013-07-10T18:10:30Z</dc:date>
    </item>
  </channel>
</rss>

