<?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 Re: External SRAM and non-multiplexed Flexbus in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411092#M23213</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kev,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It might be easier to do 4 8-bit writes to SRAM addresses 0, 1, 2, and 3.&amp;nbsp; And then do a 32-bit read from SRAM address 0.&amp;nbsp; And I am not sure if it reads normal whether that proves one or the other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 10 Aug 2015 06:46:34 GMT</pubDate>
    <dc:creator>michaelhuslig</dc:creator>
    <dc:date>2015-08-10T06:46:34Z</dc:date>
    <item>
      <title>External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411086#M23207</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I am still confused.&amp;nbsp; Please compare the discussion in &lt;A href="https://community.nxp.com/message/538046"&gt;K22 Flexbus&lt;/A&gt; and &lt;A href="https://community.nxp.com/message/540827"&gt;External SRAM and Flexbus - Help Needed&lt;/A&gt; .&amp;nbsp; The two discussions differ on the use of A0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have attached my schematic which hasn't gone to prototype yet.&amp;nbsp; Can someone verify that is correct as far as the hardware is concerned?&amp;nbsp; And if it is correct, can Freescale please add it to their appnote?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike Huslig&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 19:24:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411086#M23207</guid>
      <dc:creator>michaelhuslig</dc:creator>
      <dc:date>2015-08-04T19:24:24Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411087#M23208</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Michael,&lt;/P&gt;&lt;P&gt;The AN4393 is using the FlexBus in a method to use 8-bit Data interface from Kinetis to a 16-bit interface on the MRAM.&amp;nbsp; Therefore they are not using the A0 for normal SRAM interface implementation and also not using Byte Strobes (FB_BEn).&lt;/P&gt;&lt;P&gt;For the second FlexBus interface in the AN4393 to an LCD, they are not using the A0 because they will always pass 16-bit information to the LCD and not bytes or misaligned longwords.&lt;/P&gt;&lt;P&gt;EDITed/Updated:&lt;/P&gt;&lt;P&gt;For your SRAM FlexBus interface you want to use FB_AD1 to the SRAM A0.&lt;/P&gt;&lt;P&gt;This is becasue the Cypress SRAM is a 16-bit/word addressable memory and the FB_AD0 is not needed.&amp;nbsp; The FB_BEn signals will let the SRAM know which byte lane to write or read for byte access and both will be enabled for word access.&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;David&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 04 Aug 2015 22:46:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411087#M23208</guid>
      <dc:creator>DavidS</dc:creator>
      <dc:date>2015-08-04T22:46:33Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411088#M23209</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Michael,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think your Flexbus connection is correct.&lt;/P&gt;&lt;P&gt;Please check your Flexbus configuration, the FB_CSCR0[PS] bits should select the 16-bit port size.&lt;/P&gt;&lt;P&gt;For Kinetis Flexbus original from ColdFire Flexbus module, I attached ColdFire Flexbus connection for your reference:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="FlexBUS.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/54831i80F3383DE75B3367/image-size/large?v=v2&amp;amp;px=999" role="button" title="FlexBUS.png" alt="FlexBUS.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;Ma Hui&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>Wed, 05 Aug 2015 03:29:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411088#M23209</guid>
      <dc:creator>Hui_Ma</dc:creator>
      <dc:date>2015-08-05T03:29:48Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411089#M23210</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;&lt;/P&gt;&lt;P&gt;To add my two pence, my version using A0 to FB_AD0 now works absolutely fine once I'd sorted my FB_BExx signals out. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I was more than confused when trying to figure out whether my pin mapping was correct. To be fair, I still am.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At least I now have working SRAM and LCD on the same flexbus.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Kevin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 05 Aug 2015 22:38:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411089#M23210</guid>
      <dc:creator>weblar</dc:creator>
      <dc:date>2015-08-05T22:38:19Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411090#M23211</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kevin,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you scoped out what is happening on FB_AD0?&amp;nbsp; If those who are saying do not use FB_AD0 are correct, you may have access to only half of your SRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 21:00:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411090#M23211</guid>
      <dc:creator>michaelhuslig</dc:creator>
      <dc:date>2015-08-06T21:00:06Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411091#M23212</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;&lt;/P&gt;&lt;P&gt;I've only done a basic verify - wrote 10000 random words, read them back and compared. Not done a full range test though. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm definitely open to the fact that I've used AD0 incorrectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'll do more testing tomorrow and next week then will report back my findings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards,&lt;/P&gt;&lt;P&gt;Kev&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Aug 2015 21:57:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411091#M23212</guid>
      <dc:creator>weblar</dc:creator>
      <dc:date>2015-08-06T21:57:30Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411092#M23213</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Kev,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It might be easier to do 4 8-bit writes to SRAM addresses 0, 1, 2, and 3.&amp;nbsp; And then do a 32-bit read from SRAM address 0.&amp;nbsp; And I am not sure if it reads normal whether that proves one or the other.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mike&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2015 06:46:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411092#M23213</guid>
      <dc:creator>michaelhuslig</dc:creator>
      <dc:date>2015-08-10T06:46:34Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411093#M23214</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;&lt;/P&gt;&lt;P&gt;It does indeed look as if my SRAM is hooked up incorrectly.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following your advice and doing 4 8-bit writes, every other address does not get written. Consider the following code:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Do some byte writes to the SRAM&lt;/P&gt;&lt;P&gt;for (uint32_t i = 0; i &amp;lt; 400; i += 4) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; uint8_t *p = (uint8_t *)&amp;amp;SRAM_START_ADDRESS + i;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p[0] = 0xAA;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p[1] = 0xBB;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p[2] = 0xCC;&lt;/P&gt;&lt;P&gt;&amp;nbsp; p[3] = 0xDD;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Indices [1] and [3] are not being written, whereas [0] and [2] are.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would this indicate incorrect usage of AD[0]? It would certainly mean that I can only access half of the SRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Kev&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 13:55:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411093#M23214</guid>
      <dc:creator>weblar</dc:creator>
      <dc:date>2015-08-12T13:55:11Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411094#M23215</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hang on a second, I think I'm confusing myself again.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've re-written the test code, checking byte read/writes, word read/writes and dword read/writes. One thing I don't seem to be able to do is to byte-write/read to odd addresses - even addresses only seem to work. However, with 16 and 32-bit writes/reads there doesn't seem to be a problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code is now thus:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint32_t i = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint8_t wr8 = 0x88;&lt;/P&gt;&lt;P&gt;uint16_t wr16 = 0x99AA;&lt;/P&gt;&lt;P&gt;uint32_t wr32 = 0xBBCCDDEE;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint8_t rd8 = 0x00;&lt;/P&gt;&lt;P&gt;uint16_t rd16 = 0x0000;&lt;/P&gt;&lt;P&gt;uint32_t rd32 = 0x000000000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// Test some 8-bit write and reads&lt;/P&gt;&lt;P&gt;for (i = 0x00; i &amp;lt; 0x0F; i++) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Write a byte&lt;/P&gt;&lt;P&gt;&amp;nbsp; *(volatile uint8_t *)(&amp;amp;SRAM_START_ADDRESS + i) = wr8;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Read a byte&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd8 = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd8 = (*(volatile uint8_t *)(&amp;amp;SRAM_START_ADDRESS + i));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Addr: 0x%08X, Write: 0x%02X, Read: 0x%02X\r\n", &amp;amp;SRAM_START_ADDRESS + i, wr8, rd8);&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;/P&gt;&lt;P&gt;// Test some 16-bit write and reads&lt;/P&gt;&lt;P&gt;for (i = 0x10; i &amp;lt; 0x1F; i+=2) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Write a word&lt;/P&gt;&lt;P&gt;&amp;nbsp; *(volatile uint16_t *)(&amp;amp;SRAM_START_ADDRESS + i) = wr16;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Read a word&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd16 = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd16 = (*(volatile uint16_t *)(&amp;amp;SRAM_START_ADDRESS + i));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Addr: 0x%08X, Write: 0x%04X, Read: 0x%04X\r\n", &amp;amp;SRAM_START_ADDRESS + i, wr16, rd16);&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;/P&gt;&lt;P&gt;// Test some 32-bit write and reads&lt;/P&gt;&lt;P&gt;for (i = 0x20; i &amp;lt; 0x2F; i+=4) {&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Write a dword&lt;/P&gt;&lt;P&gt;&amp;nbsp; *(volatile uint32_t *)(&amp;amp;SRAM_START_ADDRESS + i) = wr32;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; // Read a dword&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd32 = 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; rd32 = (*(volatile uint32_t *)(&amp;amp;SRAM_START_ADDRESS + i));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; printf("Addr: 0x%08X, Write: 0x%08X, Read: 0x%08X\r\n", &amp;amp;SRAM_START_ADDRESS + i, wr32, rd32);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My output from IAR Terminal is:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Addr: 0x60000000, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000001, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000002, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000003, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000004, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000005, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000006, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000007, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000008, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000009, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x6000000A, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x6000000B, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x6000000C, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x6000000D, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x6000000E, Write: 0x88, Read: 0x88&lt;/P&gt;&lt;P&gt;Addr: 0x60000010, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x60000012, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x60000014, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x60000016, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x60000018, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x6000001A, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x6000001C, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x6000001E, Write: 0x99AA, Read: 0x99AA&lt;/P&gt;&lt;P&gt;Addr: 0x60000020, Write: 0xBBCCDDEE, Read: 0xBBCCDDEE&lt;/P&gt;&lt;P&gt;Addr: 0x60000024, Write: 0xBBCCDDEE, Read: 0xBBCCDDEE&lt;/P&gt;&lt;P&gt;Addr: 0x60000028, Write: 0xBBCCDDEE, Read: 0xBBCCDDEE&lt;/P&gt;&lt;P&gt;Addr: 0x6000002C, Write: 0xBBCCDDEE, Read: 0xBBCCDDEE&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 14:30:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411094#M23215</guid>
      <dc:creator>weblar</dc:creator>
      <dc:date>2015-08-12T14:30:32Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411095#M23216</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think using FB_AD0 is definitely the problem.&amp;nbsp; Aligned 16 and 32 bit writes and reads appear ok because FB_AD0 will be 0.&amp;nbsp; To see the problem with 8-bit writes, you have to write different data to each byte.&amp;nbsp; I am suspecting that if you configure the FB_AD0 pin to be a GP output, your byte writes will begin working at odd addresses, but you will only be using half of your SRAM.&amp;nbsp; Rewiring the AD0 pin of the SRAM to the next highest unused FB_ADn pin should give you full access to the SRAM.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 20:53:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411095#M23216</guid>
      <dc:creator>michaelhuslig</dc:creator>
      <dc:date>2015-08-12T20:53:59Z</dc:date>
    </item>
    <item>
      <title>Re: External SRAM and non-multiplexed Flexbus</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411096#M23217</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Maybe I can be a little clearer.&amp;nbsp; Consider the following declared at the start of the SRAM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint8_t array[4];&lt;/P&gt;&lt;P&gt;uint32_t dword;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;array[0]='A';&amp;nbsp;&amp;nbsp;&amp;nbsp; //stores in the lower byte of SRAM word 0;&lt;/P&gt;&lt;P&gt;array[1]='B';&amp;nbsp;&amp;nbsp;&amp;nbsp; //stores in upper byte of SRAM word 1;&lt;/P&gt;&lt;P&gt;array[2]='C';&amp;nbsp;&amp;nbsp;&amp;nbsp; //stores in lower byte of SRAM word 2;&lt;/P&gt;&lt;P&gt;array[3]='D';&amp;nbsp;&amp;nbsp;&amp;nbsp; //stores in upper byte of SRAM word 3;&lt;/P&gt;&lt;P&gt;dword=0x01234567;&amp;nbsp;&amp;nbsp; //stores 16 bits in SRAM word 4 and 16 bits in SRAM word 6;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You are only using half the SRAM.&amp;nbsp; However if you don't need the full space of the SRAM, you can leave it as is.&amp;nbsp; Any writes you do to SRAM, you will still be able to read.&amp;nbsp; The only problem would be if you do something like:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;union&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;uint8_t array[4];&lt;/P&gt;&lt;P&gt;uint32_t dword;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 13 Aug 2015 19:07:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/External-SRAM-and-non-multiplexed-Flexbus/m-p/411096#M23217</guid>
      <dc:creator>michaelhuslig</dc:creator>
      <dc:date>2015-08-13T19:07:26Z</dc:date>
    </item>
  </channel>
</rss>

