<?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 Implementing XCP Basic Driver with S32 SDK in S32 Design Studio</title>
    <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798718#M3347</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vector Informatik offers a free implementation of XCP for MCUs that allows for DAQ (data acquisition) and STIM (data stimulation) &lt;A href="https://vector.com/vi_xcp_de.html"&gt;here. &lt;/A&gt;My understanding from the technical reference manual is:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;The main driver functionality is given in XcpBasic.c and XcpBasic.h and should not be edited.&lt;/LI&gt;&lt;LI&gt;xcp_par.c, xcp_par.h and xcp_cfg.h are to be customized to the desired MCU specifications and XCP functionality. In my case, I am using the MPC5744P so Big Endian mode should be enabled, for instance. DAQ should also be enabled.&lt;/LI&gt;&lt;LI&gt;Code that links to FlexCAN message transmission and reception should be written (can be done with assistance of S32 SDK).&lt;/LI&gt;&lt;LI&gt;Other driver code may be inserted to improve performance (e.g. DMA transfers).&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;I have so far tried to integrate the driver code but I cannot get the code to compile. I had to initially redefine some typedefs because the driver does not use the same semantics as in the C99 standard (so 'vuint32' instead of 'volatile uint32_t' or 'vuint32_t' for 'volatile unsigned long int').&lt;/P&gt;&lt;P&gt;After all of the corretions, I get the error '&lt;STRONG&gt;make: *** [makefile:68: Executable.elf] Error 1&lt;/STRONG&gt;', which does not point to any specifc C error, making it extremely hard to trace.&lt;/P&gt;&lt;P&gt;In the makefile itself, line 68 contains the GCC compile command 'powerpc-eabivle-gcc -o "Executable.elf" "@Executable.args" ...' so I doubt the error is in there. In addition, the makefile is autogenerated on compilation, which, I suppose, should not be edited manually.&lt;/P&gt;&lt;P&gt;I have tried cleaning and rebuilding the project to see if the error goes away but it does not.&lt;/P&gt;&lt;P&gt;Since I am not using XCP Professional or related configuration software, the code integration is done manually and there does not seem to be a lot of support on Vector's side for the free version hence I am wondering if someone has successfully integrated these libraries and if they had to overcome the above bolded error.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 30 Jul 2018 12:56:34 GMT</pubDate>
    <dc:creator>chuluezhong</dc:creator>
    <dc:date>2018-07-30T12:56:34Z</dc:date>
    <item>
      <title>Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798718#M3347</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vector Informatik offers a free implementation of XCP for MCUs that allows for DAQ (data acquisition) and STIM (data stimulation) &lt;A href="https://vector.com/vi_xcp_de.html"&gt;here. &lt;/A&gt;My understanding from the technical reference manual is:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;The main driver functionality is given in XcpBasic.c and XcpBasic.h and should not be edited.&lt;/LI&gt;&lt;LI&gt;xcp_par.c, xcp_par.h and xcp_cfg.h are to be customized to the desired MCU specifications and XCP functionality. In my case, I am using the MPC5744P so Big Endian mode should be enabled, for instance. DAQ should also be enabled.&lt;/LI&gt;&lt;LI&gt;Code that links to FlexCAN message transmission and reception should be written (can be done with assistance of S32 SDK).&lt;/LI&gt;&lt;LI&gt;Other driver code may be inserted to improve performance (e.g. DMA transfers).&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;I have so far tried to integrate the driver code but I cannot get the code to compile. I had to initially redefine some typedefs because the driver does not use the same semantics as in the C99 standard (so 'vuint32' instead of 'volatile uint32_t' or 'vuint32_t' for 'volatile unsigned long int').&lt;/P&gt;&lt;P&gt;After all of the corretions, I get the error '&lt;STRONG&gt;make: *** [makefile:68: Executable.elf] Error 1&lt;/STRONG&gt;', which does not point to any specifc C error, making it extremely hard to trace.&lt;/P&gt;&lt;P&gt;In the makefile itself, line 68 contains the GCC compile command 'powerpc-eabivle-gcc -o "Executable.elf" "@Executable.args" ...' so I doubt the error is in there. In addition, the makefile is autogenerated on compilation, which, I suppose, should not be edited manually.&lt;/P&gt;&lt;P&gt;I have tried cleaning and rebuilding the project to see if the error goes away but it does not.&lt;/P&gt;&lt;P&gt;Since I am not using XCP Professional or related configuration software, the code integration is done manually and there does not seem to be a lot of support on Vector's side for the free version hence I am wondering if someone has successfully integrated these libraries and if they had to overcome the above bolded error.&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Jul 2018 12:56:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798718#M3347</guid>
      <dc:creator>chuluezhong</dc:creator>
      <dc:date>2018-07-30T12:56:34Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798719#M3348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can you please share your project?&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jiri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jul 2018 08:37:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798719#M3348</guid>
      <dc:creator>jiri_kral</dc:creator>
      <dc:date>2018-07-31T08:37:20Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798720#M3349</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, I have attached the project. The main function however contains only dummy calls, some of which are commented out. I have just been trying to see if the project could even compile without me performing the necessary driver hooks such as actually reading from the FlexCAN drivers. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jul 2018 08:44:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798720#M3349</guid>
      <dc:creator>chuluezhong</dc:creator>
      <dc:date>2018-07-31T08:44:15Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798721#M3350</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;you have bunch of multiple definitions in your project (I didn't look for reason).&amp;nbsp; With -z multdefs linker option your project can be build, but I didn't test the functionality:&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/73205i384324002CF9D4B5/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it helps.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jiri&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jul 2018 10:45:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798721#M3350</guid>
      <dc:creator>jiri_kral</dc:creator>
      <dc:date>2018-07-31T10:45:19Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798722#M3351</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for this. The linker command &lt;STRONG&gt;-z muldefs &lt;/STRONG&gt;does indeed remedy the problem.&lt;/P&gt;&lt;P&gt;I have tried surrounding all my definitions with #ifndef ... #endif guards without the band-aid linker command and the above error still appears suggesting that multiple definitions are to be found within the supplied XCP driver code. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 31 Jul 2018 11:05:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798722#M3351</guid>
      <dc:creator>chuluezhong</dc:creator>
      <dc:date>2018-07-31T11:05:43Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798723#M3352</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I have managed to implement the XCP Driver (with linker suppression of multiple definitions) and DAQ mode is working, to an extent. I was able to connect to the MPC5744P-DEVKIT using MATLAB as XCP Master, however, the data is wrongly scaled. For testing, a basic model is implemented:&lt;/P&gt;&lt;PRE class="language-cpp line-numbers"&gt;&lt;CODE&gt;uint32_t &lt;SPAN class="token function"&gt;model&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t res&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;res &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; res &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; modelOffset&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// modelOffset set to 2.&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;else&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="keyword token"&gt;return&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;This model is once each iteration in the main while(1) loop. However, on reading the results in MATLAB via XCP, the data range is scaled:&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="XCP_DAQ_WrongScales1.png"&gt;&lt;IMG alt="XCP_DAQ_WrongScales1.png" src="https://community.nxp.com/t5/image/serverpage/image-id/79591i12A58BF940805955/image-size/large?v=v2&amp;amp;px=999" title="XCP_DAQ_WrongScales1.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;I provide the code as well as the MATLAB script used to talk to the DEVKIT. The A2L file was generated using Vector CANape 15.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:10:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798723#M3352</guid>
      <dc:creator>chuluezhong</dc:creator>
      <dc:date>2020-11-02T14:10:35Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798724#M3353</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm afraid that this question is out of scope for this community subspace. You can try ask on&amp;nbsp;&lt;A href="https://community.nxp.com/community/mbdt"&gt;https://community.nxp.com/community/mbdt&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Anyway - it may be caused by big-endian architecture of PowerPC (you are using multi byte numbers). But it is just guess.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Jiri&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 03 Aug 2018 09:46:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/798724#M3353</guid>
      <dc:creator>jiri_kral</dc:creator>
      <dc:date>2018-08-03T09:46:10Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/1286681#M7538</link>
      <description>&lt;P&gt;Hello there,&lt;/P&gt;&lt;P&gt;Is there XCPonCAN sample basic project available for&amp;nbsp;mpc5744p DevKit board?&lt;/P&gt;&lt;P&gt;Thanks for your help in advance.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 03 Jun 2021 09:02:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/1286681#M7538</guid>
      <dc:creator>nilutawri</dc:creator>
      <dc:date>2021-06-03T09:02:29Z</dc:date>
    </item>
    <item>
      <title>Re: Implementing XCP Basic Driver with S32 SDK</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/1784513#M11667</link>
      <description>&lt;P&gt;Hello im using also xcp basic driver but i found some limitations i can just read one daq and one odt with totale size 8 byte, i want to increase the size to measure more variables, i ve located the issue on max dto/cto i ve changed the value in the code and in the master tool(CANape but in canape it's always 8 byte i cannot changed ), i need some help&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 08 Jan 2024 15:11:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Implementing-XCP-Basic-Driver-with-S32-SDK/m-p/1784513#M11667</guid>
      <dc:creator>chrisab</dc:creator>
      <dc:date>2024-01-08T15:11:18Z</dc:date>
    </item>
  </channel>
</rss>

