<?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>S32KのトピックRe: How can I define variable in S32K146 RAM_U</title>
    <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1156928#M8240</link>
    <description>&lt;P&gt;Hi Willian,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At first, I would like to mention that SRAM_U has a size of 60 KB. That is why you have had difficulties with placing two 32 KB arrays into the m_data_2 section.&lt;/P&gt;
&lt;P&gt;You can refer to RM rev 12.1&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dianabatrlova_0-1600778998878.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/125843iC06CBAC78FD140B7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="dianabatrlova_0-1600778998878.png" alt="dianabatrlova_0-1600778998878.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;There are two regions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SRAM_L from 1FFF_0000h to 1FFF_FFFFh&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;SRAM_U from 2000_0000h to 2000_EFFFh&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;There is an important note:&lt;/P&gt;
&lt;P&gt;"Misaligned accesses across the 2000_0000h boundary are not&lt;BR /&gt;supported in the Arm Cortex-M4F architecture"&lt;/P&gt;
&lt;P&gt;So, that is why it is easier to have two RAM segments in the linker file.&lt;/P&gt;
&lt;P&gt;Also, I suggest you to look at the linker file of the project to see what else is placed in the m_data/ m_data_2 sections (heap, stack).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Diana&lt;/P&gt;</description>
    <pubDate>Tue, 22 Sep 2020 13:05:36 GMT</pubDate>
    <dc:creator>dianabatrlova</dc:creator>
    <dc:date>2020-09-22T13:05:36Z</dc:date>
    <item>
      <title>How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1155178#M8190</link>
      <description>&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;Hi everyone,&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;when i define a array more than 64KB (or two with 32KB),&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;the compiler said m_data_2 overflowed.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN class="skip"&gt;but In S32K146 ,there are RAM_L(64KB) and RAM_U(64KB) , totally 128KB&amp;nbsp; ,&amp;nbsp; so&amp;nbsp; How can I define variable in S32K146 RAM_U?&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;SPAN class="skip"&gt;thanks a lot&lt;/SPAN&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 18 Sep 2020 02:47:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1155178#M8190</guid>
      <dc:creator>Willian_Wu</dc:creator>
      <dc:date>2020-09-18T02:47:45Z</dc:date>
    </item>
    <item>
      <title>Re: How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1156928#M8240</link>
      <description>&lt;P&gt;Hi Willian,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At first, I would like to mention that SRAM_U has a size of 60 KB. That is why you have had difficulties with placing two 32 KB arrays into the m_data_2 section.&lt;/P&gt;
&lt;P&gt;You can refer to RM rev 12.1&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dianabatrlova_0-1600778998878.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/125843iC06CBAC78FD140B7/image-size/medium?v=v2&amp;amp;px=400" role="button" title="dianabatrlova_0-1600778998878.png" alt="dianabatrlova_0-1600778998878.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;There are two regions:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;SRAM_L from 1FFF_0000h to 1FFF_FFFFh&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;SRAM_U from 2000_0000h to 2000_EFFFh&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;There is an important note:&lt;/P&gt;
&lt;P&gt;"Misaligned accesses across the 2000_0000h boundary are not&lt;BR /&gt;supported in the Arm Cortex-M4F architecture"&lt;/P&gt;
&lt;P&gt;So, that is why it is easier to have two RAM segments in the linker file.&lt;/P&gt;
&lt;P&gt;Also, I suggest you to look at the linker file of the project to see what else is placed in the m_data/ m_data_2 sections (heap, stack).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Diana&lt;/P&gt;</description>
      <pubDate>Tue, 22 Sep 2020 13:05:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1156928#M8240</guid>
      <dc:creator>dianabatrlova</dc:creator>
      <dc:date>2020-09-22T13:05:36Z</dc:date>
    </item>
    <item>
      <title>Re: How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157538#M8249</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/100539"&gt;@dianabatrlova&lt;/a&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what is benefit of 2 segment in SRAM and specially SRAM_L ?&lt;/P&gt;</description>
      <pubDate>Wed, 23 Sep 2020 07:31:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157538#M8249</guid>
      <dc:creator>Ahmad_bozorgi</dc:creator>
      <dc:date>2020-09-23T07:31:35Z</dc:date>
    </item>
    <item>
      <title>Re: How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157675#M8253</link>
      <description>&lt;P&gt;Hi Ahmad,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;At first, I would like to suggest looking at RM rev 12.1 section 33.2.1. Each region uses a different bus:&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="dianabatrlova_0-1600856506524.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/125964iBA382E67C01D2D10/image-size/medium?v=v2&amp;amp;px=400" role="button" title="dianabatrlova_0-1600856506524.png" alt="dianabatrlova_0-1600856506524.png" /&gt;&lt;/span&gt;&lt;/P&gt;
&lt;P&gt;When you look at the linker file of some project, you can see that SRAM_L (m_data) includes the&amp;nbsp;&lt;SPAN&gt;&lt;EM&gt;code_ram&lt;/EM&gt; section,&amp;nbsp;&lt;/SPAN&gt;global variables, vector table. SRAM_U (m_data_2) contains stack and heap.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The benefit of this approach is described in the AN below in the section "3.1 SRAM accesses"&lt;/P&gt;
&lt;P&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN4745.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN4745.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;"The dual SRAM blocks allow the SRAM controller to handle simultaneous accesses to the SRAMs as long as&lt;BR /&gt;those accesses are not to the same SRAM block. Allowable simultaneous accesses to the SRAM are:&lt;BR /&gt;• Core CODE (SRAM_L) and core system (SRAM_U) accesses&lt;BR /&gt;• Core CODE (SRAM_L) and non-core master to SRAM_U&lt;BR /&gt;• Core system (SRAM_U) and non-core master to SRAM_L&lt;/P&gt;
&lt;P&gt;Strategic placement of code and data into each of the SRAM blocks can help to increase parallelism and overall performance.&lt;BR /&gt;For a typical application, placing critical code in the SRAM_L block and placing data and the stack into the SRAM_U block&lt;BR /&gt;will yield the best performance."&lt;/P&gt;
&lt;P&gt;Best regards,&lt;/P&gt;
&lt;P&gt;Diana&lt;/P&gt;</description>
      <pubDate>Wed, 23 Sep 2020 10:41:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157675#M8253</guid>
      <dc:creator>dianabatrlova</dc:creator>
      <dc:date>2020-09-23T10:41:02Z</dc:date>
    </item>
    <item>
      <title>Re: How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157713#M8254</link>
      <description>&lt;P&gt;thanks for your kind reply.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;what is main difference between CODE BUS &amp;amp; SYSTEM BUS? (both of them come from CPU?)&lt;/P&gt;&lt;P&gt;and what can be "&lt;SPAN&gt;critical code" ?&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 23 Sep 2020 12:06:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1157713#M8254</guid>
      <dc:creator>Ahmad_bozorgi</dc:creator>
      <dc:date>2020-09-23T12:06:52Z</dc:date>
    </item>
    <item>
      <title>Re: How can I define variable in S32K146 RAM_U</title>
      <link>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1161783#M8369</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I assume that your question is already answered here:&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/why-SRAM-segmented-to-two-banks/m-p/1154758/highlight/true" target="_blank" rel="noopener"&gt;https://community.nxp.com/t5/S32K/why-SRAM-segmented-to-two-banks/m-p/1154758/highlight/true&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However,&lt;/SPAN&gt;&lt;SPAN&gt; it is discussed in more details here:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://community.nxp.com/t5/Kinetis-Microcontrollers/Why-is-SRAM-split-and-what-does-it-mean/m-p/656876?commentID=844720" target="_blank" rel="noopener"&gt;https://community.nxp.com/t5/Kinetis-Microcontrollers/Why-is-SRAM-split-and-what-does-it-mean/m-p/656876?commentID=844720&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Also, "Bus interfaces" in Cortex-M4 Technical Reference Manual&lt;/P&gt;&lt;P&gt;&lt;A href="https://developer.arm.com/documentation/ddi0439/b/Functional-Description/Interfaces/Bus-interfaces" target="_blank" rel="noopener"&gt;https://developer.arm.com/documentation/ddi0439/b/Functional-Description/Interfaces/Bus-interfaces&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Diana&lt;/P&gt;</description>
      <pubDate>Thu, 01 Oct 2020 11:42:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/How-can-I-define-variable-in-S32K146-RAM-U/m-p/1161783#M8369</guid>
      <dc:creator>dianabatrlova</dc:creator>
      <dc:date>2020-10-01T11:42:16Z</dc:date>
    </item>
  </channel>
</rss>

