<?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>Kinetis MicrocontrollersのトピックRe: Flexbus write cycle</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767042#M46663</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;when I perform 16 bit write on 120 MHz CPU frequency:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile short *flex = SRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; while(1) {&lt;BR /&gt;flex[0] = 5;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can see 4 flexbus clock cycles&amp;nbsp;between every FB_TS assertion on my scope so I guess I can confirm that 16 bit write cycle takes 4 flexbus cycles.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Flexbus registers after initialization:&lt;/P&gt;&lt;P&gt;CSAR0 = 0x18000000&lt;/P&gt;&lt;P&gt;CSMR0 = 0x00070001&lt;/P&gt;&lt;P&gt;CSCR0 = 0x00000380&lt;/P&gt;&lt;P&gt;CSPMCR = 0x20000000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 23 May 2018 13:16:47 GMT</pubDate>
    <dc:creator>martindusek</dc:creator>
    <dc:date>2018-05-23T13:16:47Z</dc:date>
    <item>
      <title>Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767038#M46659</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;I have 16-bit SRAM connected to K22 via Flexbus. Port size of Flexbus is set to 16-bit. No delays are introduced in write/read cycles (I mean WS/ASET/RDAH/WRAH re all set to 0). This is my configuration:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FB-&amp;gt;CS[0].CSCR = FB_CSCR_PS(2)&lt;BR /&gt; | FB_CSCR_BLS_MASK&lt;BR /&gt; | FB_CSCR_ASET(0x0)&lt;BR /&gt; | FB_CSCR_RDAH(0x0)&lt;BR /&gt; | FB_CSCR_WRAH(0x0)&lt;BR /&gt; | FB_CSCR_AA_MASK&lt;BR /&gt; | FB_CSCR_WS(0x0)&lt;BR /&gt; ;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I write 32 bit integer into my memory:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile int *sram;&lt;BR /&gt;sram = SRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;sram[0] = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can see that writing first part of my 32 bit integer takes only 3 flexbus clock cycles. (in the picture you can see three 32 bit integer writes to the 16 bit memory)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="3c.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/51146i7D7B441534D68F4C/image-size/large?v=v2&amp;amp;px=999" role="button" title="3c.jpg" alt="3c.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In all documents I read flexbus read/write cycles take 4 clock cycles min.&amp;nbsp;Can you please help me in understanding this 3 clock cycle write?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 May 2018 18:11:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767038#M46659</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2018-05-17T18:11:07Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767039#M46660</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;From the scope picture, the write operation with 3 Flexbus cycles.&lt;/P&gt;&lt;P&gt;Could you provide the more detailed Flexbus setting?&lt;/P&gt;&lt;P&gt;What's the SRAM_START_ADDRESS value?&lt;/P&gt;&lt;P&gt;What's the Flexbus clock frequency?&lt;/P&gt;&lt;P&gt;If possible, could you provide Flexbus initialization code?&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Mike&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 May 2018 06:40:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767039#M46660</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-05-21T06:40:09Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767040#M46661</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;my initialization code (I do not post pin function initialization):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define RAM_START_ADDRESS 0x18000000&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void FlexBusInit() {&lt;BR /&gt; SIM-&amp;gt;SCGC7 |= SIM_SCGC7_FLEXBUS_MASK;&lt;BR /&gt; FB-&amp;gt;CSPMCR = FB_CSPMCR_GROUP1(2);&lt;/P&gt;&lt;P&gt;FB-&amp;gt;CS[0].CSAR = RAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;FB-&amp;gt;CS[0].CSCR = FB_CSCR_PS(2)&lt;BR /&gt; | FB_CSCR_BLS_MASK&lt;BR /&gt; | FB_CSCR_ASET(0x0)&lt;BR /&gt; | FB_CSCR_RDAH(0x0)&lt;BR /&gt; | FB_CSCR_WRAH(0x0)&lt;BR /&gt; | FB_CSCR_AA_MASK&lt;BR /&gt; | FB_CSCR_WS(0x0);&lt;/P&gt;&lt;P&gt;FB-&amp;gt;CS[0].CSMR = FB_CSMR_BAM(0x7) | FB_CSMR_V_MASK;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Flexbus clock is 30 MHz, can bee seen on the scope printscreen.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 May 2018 16:38:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767040#M46661</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2018-05-21T16:38:07Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767041#M46662</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;From the Flexbus initialization code, there without any issue.&lt;/P&gt;&lt;P&gt;Could you post the Flebux registers value after initialization?&lt;/P&gt;&lt;P&gt;Please make sure there doesn't enable the burst write.&lt;/P&gt;&lt;P&gt;When you do a 16-bit operation, the Flexbus write operation will be 4 cycles?&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;best regards,&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 May 2018 05:12:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767041#M46662</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-05-22T05:12:22Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767042#M46663</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;when I perform 16 bit write on 120 MHz CPU frequency:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile short *flex = SRAM_START_ADDRESS;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt; while(1) {&lt;BR /&gt;flex[0] = 5;&lt;BR /&gt; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can see 4 flexbus clock cycles&amp;nbsp;between every FB_TS assertion on my scope so I guess I can confirm that 16 bit write cycle takes 4 flexbus cycles.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Flexbus registers after initialization:&lt;/P&gt;&lt;P&gt;CSAR0 = 0x18000000&lt;/P&gt;&lt;P&gt;CSMR0 = 0x00070001&lt;/P&gt;&lt;P&gt;CSCR0 = 0x00000380&lt;/P&gt;&lt;P&gt;CSPMCR = 0x20000000&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 May 2018 13:16:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767042#M46663</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2018-05-23T13:16:47Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767043#M46664</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;Thank you for the test.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I need to check with Kinetis product team about why the 32-bit write to 16-bit port, the first write operation with only 3 Flexbus clock cycles.&lt;/P&gt;&lt;P&gt;I will let you know when there with any feedback.&lt;/P&gt;&lt;P&gt;Thank you for the patience.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Mike&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2018 07:23:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767043#M46664</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-05-24T07:23:57Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767044#M46665</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mike,&lt;/P&gt;&lt;P&gt;great, thank you very much. waiting for your reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Martin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 May 2018 07:25:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767044#M46665</guid>
      <dc:creator>martindusek</dc:creator>
      <dc:date>2018-05-24T07:25:15Z</dc:date>
    </item>
    <item>
      <title>Re: Flexbus write cycle</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767045#M46666</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Martin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I got the feedback from Kinetis product team with below feedback:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;In this case, a 32-bit access is launched on a 16-bit port, that means there would definitely be two continuous accesses here.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;In fact, S3 is used to terminate the transfer, so in this case, it is reasonable that the 1st access skipped S3 and goes to S0 directly, so it only take 3 clocks here.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #0000ff;"&gt;But in the second access(it is writing here),&amp;nbsp; S3 is a must to terminate the transfer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have a Flexbus timing about read from 8-bit port size device and write to 16-bit port device with 32-bit access (WS/ASET/RDAH/WRAH re all set to 0).&lt;/P&gt;&lt;P&gt;Please check attached picture for detailed info.&lt;/P&gt;&lt;P&gt;I zoom in the 32-bit write to 16-bit port device and get there take 7 Flexbus clock cycles, the first 16-bit write take 3 Flexbus clock cycles:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/8533i09A89DC702F4CBA8/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Wish it helps.&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Mike&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 29 May 2018 09:10:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexbus-write-cycle/m-p/767045#M46666</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2018-05-29T09:10:36Z</dc:date>
    </item>
  </channel>
</rss>

