<?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 Problem using S32DS of debug and debug_ram  in S32 Design Studio</title>
    <link>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757705#M2707</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;__attribute__ ((section(".text")))&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int counter = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;short int your = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have add a declaration of &amp;nbsp;"short int your = 0;" &amp;nbsp;in the example &amp;nbsp;"eTimer_MPC5744P" in S32DS.&lt;/P&gt;&lt;P&gt;I am using the newest S32DS 2017 R1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In debug model, it works well.&lt;/P&gt;&lt;P&gt;In debug_Ram model, it didn't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Disassembly showed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;236 short int your = 0;&lt;BR /&gt;40002d00: se_li r7,0&lt;BR /&gt;40002d02: se_sth r7,12(r31)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And it failed at se_sth every time,and it show &amp;nbsp;No source available kind of things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I wonder why?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 15 Mar 2018 06:18:29 GMT</pubDate>
    <dc:creator>jerrytomlee</dc:creator>
    <dc:date>2018-03-15T06:18:29Z</dc:date>
    <item>
      <title>Problem using S32DS of debug and debug_ram</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757705#M2707</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;__attribute__ ((section(".text")))&lt;BR /&gt;int main(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;int counter = 0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;short int your = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have add a declaration of &amp;nbsp;"short int your = 0;" &amp;nbsp;in the example &amp;nbsp;"eTimer_MPC5744P" in S32DS.&lt;/P&gt;&lt;P&gt;I am using the newest S32DS 2017 R1 .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In debug model, it works well.&lt;/P&gt;&lt;P&gt;In debug_Ram model, it didn't work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Disassembly showed:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;236 short int your = 0;&lt;BR /&gt;40002d00: se_li r7,0&lt;BR /&gt;40002d02: se_sth r7,12(r31)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And it failed at se_sth every time,and it show &amp;nbsp;No source available kind of things.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I wonder why?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Mar 2018 06:18:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757705#M2707</guid>
      <dc:creator>jerrytomlee</dc:creator>
      <dc:date>2018-03-15T06:18:29Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using S32DS of debug and debug_ram</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757706#M2708</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Jerry,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the problem is hidden in startup code. When you run example from flash, local DMEM is initialized by startup code. In this part of memory is placed stack, which is used for local variable storing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But when you run example from RAM, this part of memory is not initialized because there is conditional compilation. When you try to write half word (short int) into uninitialized memory, ECC error is created.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please use the following part of startup, instead of original one:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;#ifdef START_FROM_FLASH&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;#***************************** Initialise SRAM ECC ***************************/&lt;BR /&gt;;# Store number of 128Byte (32GPRs) segments in Counter&lt;BR /&gt;&amp;nbsp;e_lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __SRAM_SIZE@h&amp;nbsp; # Initialize r5 to size of SRAM (Bytes)&lt;BR /&gt;&amp;nbsp;e_or2i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __SRAM_SIZE@l&lt;BR /&gt;&amp;nbsp;e_srwi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, r5, 0x7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Divide SRAM size by 128&lt;BR /&gt;&amp;nbsp;mtctr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5&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; # Move to counter for use with "bdnz"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;# Base Address of the internal SRAM&lt;BR /&gt;&amp;nbsp;e_lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __SRAM_BASE_ADDR@h&lt;BR /&gt;&amp;nbsp;e_or2i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __SRAM_BASE_ADDR@l&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;# Fill SRAM with writes of 32GPRs&lt;BR /&gt;sram_loop:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_stmw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,0(r5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Write all 32 registers to SRAM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_addi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5,r5,128&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Increment the RAM pointer to next 128bytes&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_bdnz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sram_loop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop for all of SRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#endif&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;#************************ Initialise Local Data SRAM ECC *********************/&lt;BR /&gt;;# Store number of 128Byte (32GPRs) segments in Counter&lt;BR /&gt;&amp;nbsp;e_lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __LOCAL_DMEM_SIZE@h&amp;nbsp; # Initialize r5 to size of SRAM (Bytes)&lt;BR /&gt;&amp;nbsp;e_or2i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __LOCAL_DMEM_SIZE@l&lt;BR /&gt;&amp;nbsp;e_srwi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, r5, 0x7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Divide SRAM size by 128&lt;BR /&gt;&amp;nbsp;mtctr&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5&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; # Move to counter for use with "bdnz"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;# Base Address of the Local SRAM&lt;BR /&gt;&amp;nbsp;e_lis&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, __LOCAL_DMEM_BASE_ADDR@h&lt;BR /&gt;&amp;nbsp;e_or2i&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5, &lt;A href="mailto:__LOCAL_DMEM_BASE_ADDR@l"&gt;__LOCAL_DMEM_BASE_ADDR@l&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;# Fill Local SRAM with writes of 32GPRs&lt;BR /&gt;ldmem_loop:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_stmw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r0,0(r5)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Write all 32 registers to SRAM&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_addi&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; r5,r5,128&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Increment the RAM pointer to next 128bytes&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; e_bdnz&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ldmem_loop&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; # Loop for all of SRAM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In original startup code, #endif is placed below ldmem_loop section.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Mar 2018 14:01:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757706#M2708</guid>
      <dc:creator>martin_kovar</dc:creator>
      <dc:date>2018-03-15T14:01:38Z</dc:date>
    </item>
    <item>
      <title>Re: Problem using S32DS of debug and debug_ram</title>
      <link>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757707#M2709</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot for your help!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 16 Mar 2018 01:56:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32-Design-Studio/Problem-using-S32DS-of-debug-and-debug-ram/m-p/757707#M2709</guid>
      <dc:creator>jerrytomlee</dc:creator>
      <dc:date>2018-03-16T01:56:47Z</dc:date>
    </item>
  </channel>
</rss>

