<?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>S32 Design StudioのトピックRe: Branch Instruction for S32DS Power</title>
    <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018057#M5933</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) You may have a problem with the selection of the instruction set to use. Your disassembly shows VLE, your asm statements use Book E. Several Book E instructions my be used in a VLE environment but far not all of them. Check your code against&lt;/P&gt;&lt;P&gt;* Variable-Length Encoding (VLE) Programming Environments Manual: A Supplement to the EREF&lt;/P&gt;&lt;P&gt;* EREF 2.0: A Programmer’s Reference Manual for Freescale Power Architecture® Processors&lt;/P&gt;&lt;P&gt;The choice of the instruction set is usually made in the boot sector and by MMU configuration. (I've not double-checked the details for your particular MCU.)&lt;/P&gt;&lt;P&gt;2) Add the switches -save-temps=obj -fverbose-asm to the compilation command line. You will get a *.lst and a *.s file aside to the *.o file, you should already get. In particular the *.s will show you in any detail in which way your asm code is intermingled with the compiler emitted code. Mostly, this is most meaningful in situations like you encounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 28 Dec 2019 19:14:04 GMT</pubDate>
    <dc:creator>peter_vranken</dc:creator>
    <dc:date>2019-12-28T19:14:04Z</dc:date>
    <item>
      <title>Branch Instruction for S32DS Power</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018055#M5931</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;I'm migrating my MPC5602P device software from CCW to S32DS.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;As I developed a bootloader for that which involves few assembly instructions.&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;I'm using some assembly&amp;nbsp;instructions like&lt;SPAN&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;asm("xor&amp;nbsp; &amp;nbsp; r3,r11,r9");&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;EM&gt;&lt;STRONG&gt;unsupported relocation against r3, r11 &amp;amp; r9&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;which I replace d with&amp;nbsp;&lt;SPAN&gt;asm("xor %r3,%r11,%r9");&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;and it started working.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;Now I used branch Instruction using asm("bne&amp;nbsp; btd") where (in case if non zero flag exists) it should branch to&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;asm("btd:") ; &lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XXXX;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;But it's not happening. Instead,. it goes to some other location.&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN&gt;Kindly help in this regard&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #808080;"&gt;Thanks in advance,&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="color: #808080;"&gt;Raju&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 25 Dec 2019 07:32:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018055#M5931</guid>
      <dc:creator>bjrajendra</dc:creator>
      <dc:date>2019-12-25T07:32:33Z</dc:date>
    </item>
    <item>
      <title>Re: Branch Instruction for S32DS Power</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018056#M5932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In fact, I'm using&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;asm("bne&amp;nbsp; btd")&amp;nbsp;to branch (in case if non zero flag exists) to&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;asm("btd:") ;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;{&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XXXX;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="color: #51626f; background-color: #ffffff; border: 0px; font-size: 14px;"&gt;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;looks like there is something wrong in assembly code which actually seen in Disassembly Section.&amp;nbsp;&lt;SPAN style="border: 0px; font-weight: inherit; font-size: 14px;"&gt;Below is the screenshot for the same&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/99569i83E0A8B6B5C36900/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, it resets once the asm(""bne- btd") instruction executes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kindly help in this regard.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 26 Dec 2019 04:25:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018056#M5932</guid>
      <dc:creator>bjrajendra</dc:creator>
      <dc:date>2019-12-26T04:25:57Z</dc:date>
    </item>
    <item>
      <title>Re: Branch Instruction for S32DS Power</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018057#M5933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) You may have a problem with the selection of the instruction set to use. Your disassembly shows VLE, your asm statements use Book E. Several Book E instructions my be used in a VLE environment but far not all of them. Check your code against&lt;/P&gt;&lt;P&gt;* Variable-Length Encoding (VLE) Programming Environments Manual: A Supplement to the EREF&lt;/P&gt;&lt;P&gt;* EREF 2.0: A Programmer’s Reference Manual for Freescale Power Architecture® Processors&lt;/P&gt;&lt;P&gt;The choice of the instruction set is usually made in the boot sector and by MMU configuration. (I've not double-checked the details for your particular MCU.)&lt;/P&gt;&lt;P&gt;2) Add the switches -save-temps=obj -fverbose-asm to the compilation command line. You will get a *.lst and a *.s file aside to the *.o file, you should already get. In particular the *.s will show you in any detail in which way your asm code is intermingled with the compiler emitted code. Mostly, this is most meaningful in situations like you encounter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 28 Dec 2019 19:14:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018057#M5933</guid>
      <dc:creator>peter_vranken</dc:creator>
      <dc:date>2019-12-28T19:14:04Z</dc:date>
    </item>
    <item>
      <title>Re: Branch Instruction for S32DS Power</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018058#M5934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Peter,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your reply &amp;amp; support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As you mentioned, I went through those documents and solved it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, kindly mention where exactly I need to add&amp;nbsp;&lt;SPAN style="color: #ff0000;"&gt;&lt;EM&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&lt;STRONG&gt;-save-temps=obj -fverbose-asm&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/EM&gt;&lt;/SPAN&gt; in the project so as to generate *.lst and *.s files&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks once again,&lt;/P&gt;&lt;P&gt;Raju&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Dec 2019 09:23:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018058#M5934</guid>
      <dc:creator>bjrajendra</dc:creator>
      <dc:date>2019-12-31T09:23:36Z</dc:date>
    </item>
    <item>
      <title>Re: Branch Instruction for S32DS Power</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018059#M5935</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Raju,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you build your SW under control of a self-written makefile then you would add the red text literally to the command line of the compiler.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you use the project wizard of S32DS to create a project and then you compile it in the IDE (e.g. hammer icon), then you would open the properties of the project and click to C/C++ Build/Settings, tab Tool Settings, Standard S32DS C Compiler/Miscellaneous. On the right hand side you can check "Save temporary files" and more. I presume that "Save temporary files" will relate to &lt;SPAN style="color: #ff0000;"&gt;&lt;EM style="background-color: #ffffff; "&gt;&lt;STRONG&gt;-save-temps=obj&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt; and "Verbose" may relate to &lt;SPAN style="color: #ff0000;"&gt;&lt;EM style="background-color: #ffffff; "&gt;&lt;STRONG&gt;-fverbose-asm&lt;/STRONG&gt;&lt;/EM&gt;&lt;/SPAN&gt; (although this is less likely). Checking "Generate assembler listing" will also be a good idea:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2020-01-02 15_26_12-Start.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101430i3EBBD2C90C9DF60F/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-01-02 15_26_12-Start.jpg" alt="2020-01-02 15_26_12-Start.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Alternatively, you can place any compiler command line switches at C/C++ Build/Settings, tab Tool Settings, Standard S32DS C Compiler/Optimization/Other optimization flags:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="2020-01-02 15_27_31-Search.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/101431i9ED4AAA96DD9EFFC/image-size/large?v=v2&amp;amp;px=999" role="button" title="2020-01-02 15_27_31-Search.jpg" alt="2020-01-02 15_27_31-Search.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Note, all of these configuration settings relate to the basic compilation configuration (mostly Debug or Release), which is selected in drop-down box "Configuration" at the top of the property page.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After any change of these settings, recompile and carefully look at the console output of the build to see whether your configuration changes are reflected by according changes of the echoed compiler command lines.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 02 Jan 2020 14:34:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Branch-Instruction-for-S32DS-Power/m-p/1018059#M5935</guid>
      <dc:creator>peter_vranken</dc:creator>
      <dc:date>2020-01-02T14:34:40Z</dc:date>
    </item>
  </channel>
</rss>

