<?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: Flexcan mailboxes</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587030#M34603</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I looked into this thread yesterday. But Earl was faster providing the correct answer.&lt;/P&gt;&lt;P&gt;Yes, the CAN module itself can provide "up-to" 1kB of RAM, which can be used for Message Buffers.&lt;/P&gt;&lt;P&gt;- But the real size of the RAM implemented can vary (for different devices). The max size should be specified in the Reference Manual.&lt;/P&gt;&lt;P&gt;- In most of the cases the RAM above size specified in RM is unexisting (unimplemented) - to save the space on the silicon.&lt;/P&gt;&lt;P&gt;But earlier, I met the cases, where complete 1kB RAM block has been implemented (so the RAM unused by CAN MB, can be used by user to for instance).&lt;/P&gt;&lt;P&gt;It can be tested very easily:&lt;/P&gt;&lt;P&gt;- for instance by writing a pattern (0xAA, 0x55) to the RAM location inside the CAN module MB memory range. If the area is writable, the RAM is implemented.&lt;/P&gt;&lt;P&gt;- Writing to this location from the SW code will result to the "bus-fault exception", when the RAM cell is not implemented on the specific location.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 10 Aug 2016 06:40:48 GMT</pubDate>
    <dc:creator>michael_galda</dc:creator>
    <dc:date>2016-08-10T06:40:48Z</dc:date>
    <item>
      <title>Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587026#M34599</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm getting confused by the FlexCAN documentation.&amp;nbsp; This is for a KE18F part.&amp;nbsp; The documentation says that there are 16 message buffers, but 64 mailboxes.&amp;nbsp; If I'm using the Rx FIFO, then message buffers 0-7 are not available.&amp;nbsp; The confusing part is that it seems to use the terms "Message Buffer", "Mailbox", and "MB" interchangeably.&amp;nbsp; What do mailboxes 17-64 represent then, and what are they used for?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2016 17:01:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587026#M34599</guid>
      <dc:creator>davidsherman</dc:creator>
      <dc:date>2016-08-09T17:01:31Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587027#M34600</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Those terms are indeed generally interchangeable.&amp;nbsp; I can't find any particular information on these KE1x parts, most specifically a Reference Manual.&amp;nbsp; BUT I assume said documentation will be like 'most others' for Kinetis, in which the 'FlexCAN peripheral' documentation section will be the 'full, possible capabilities' of the peripheral-module as designed (which includes address and configuration-space 'options' for 64 mailboxes/message-buffers), whereas there will be a paragraph in Chapter 3 (Chip Configuration) under a CAN configuration block saying how the peripheral was instantiated for this particular silicon.&amp;nbsp; You should find a heading something like Number of message buffers, and for the chips I have used that has been 16 total (so '8' for RX FIFO, 8 for TX MBs and/or additional ID filters).&amp;nbsp; From K22P80M120SF5V2RM:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;3.9.2.2 Number of message buffers&lt;/P&gt;&lt;P&gt;Each FlexCAN module contains 16 message buffers. Each message buffer is 16 bytes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So I think we can say 17-64 'do not exist' on your part, and all reference to them, or filter-functions that might use said memory-areas (as set from RFFN, for instance), are 'simply confusing at best'.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2016 19:17:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587027#M34600</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-08-09T19:17:49Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587028#M34601</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK, I'm looking at the reference manual you mentioned, but it is similar in that it says there are 16 message buffers, from 0x80 to 0x17F in the memory map.&amp;nbsp; But, if you look at the message buffer structure, it says the memory area from 0x80 to 0x47C is used by the Mailboxes.&amp;nbsp; So is the RAM from 0x180 to 0x470C in this case just empty RAM?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2016 19:41:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587028#M34601</guid>
      <dc:creator>davidsherman</dc:creator>
      <dc:date>2016-08-09T19:41:05Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587029#M34602</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;More likely 'non existent RAM' (and may even give a busfault if access is attempted).&amp;nbsp; Which is to say that when the macro-block parameters are brought into the silicon-compiler, it creates only enough RAM/space for the called-for 16 MBs.&amp;nbsp; Take this note for instance under RFFN:&lt;/P&gt;&lt;P&gt;(SETUP_MB - 6) × 4&lt;/P&gt;&lt;P&gt;where SETUP_MB is the least between NUMBER_OF_MB and MAXMB.&lt;/P&gt;&lt;P&gt;The number of remaining Mailboxes available will be:&lt;/P&gt;&lt;P&gt;(SETUP_MB - 8) - (RFFN × 2)&lt;/P&gt;&lt;P&gt;If the Number of Rx FIFO Filters programmed through RFFN exceeds the SETUP_MB value&lt;/P&gt;&lt;P&gt;(memory space available) the exceeding ones will not be functional.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The 'message buffer structure' diagram will call out the 'maximum possible' per the architecture design, with probably a 'footnote' about NUMBER_OF_MB, 16 in these cases.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 09 Aug 2016 20:12:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587029#M34602</guid>
      <dc:creator>egoodii</dc:creator>
      <dc:date>2016-08-09T20:12:44Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587030#M34603</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I looked into this thread yesterday. But Earl was faster providing the correct answer.&lt;/P&gt;&lt;P&gt;Yes, the CAN module itself can provide "up-to" 1kB of RAM, which can be used for Message Buffers.&lt;/P&gt;&lt;P&gt;- But the real size of the RAM implemented can vary (for different devices). The max size should be specified in the Reference Manual.&lt;/P&gt;&lt;P&gt;- In most of the cases the RAM above size specified in RM is unexisting (unimplemented) - to save the space on the silicon.&lt;/P&gt;&lt;P&gt;But earlier, I met the cases, where complete 1kB RAM block has been implemented (so the RAM unused by CAN MB, can be used by user to for instance).&lt;/P&gt;&lt;P&gt;It can be tested very easily:&lt;/P&gt;&lt;P&gt;- for instance by writing a pattern (0xAA, 0x55) to the RAM location inside the CAN module MB memory range. If the area is writable, the RAM is implemented.&lt;/P&gt;&lt;P&gt;- Writing to this location from the SW code will result to the "bus-fault exception", when the RAM cell is not implemented on the specific location.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Aug 2016 06:40:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587030#M34603</guid>
      <dc:creator>michael_galda</dc:creator>
      <dc:date>2016-08-10T06:40:48Z</dc:date>
    </item>
    <item>
      <title>Re: Flexcan mailboxes</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587031#M34604</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks, I think I understand now.&amp;nbsp; It was just a little confusing because the documentation implied it had up to 63 mailboxes, but only 16 message buffers.&amp;nbsp; Looks like once it gets past 16 the space is unreadable.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Aug 2016 12:20:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Flexcan-mailboxes/m-p/587031#M34604</guid>
      <dc:creator>davidsherman</dc:creator>
      <dc:date>2016-08-11T12:20:20Z</dc:date>
    </item>
  </channel>
</rss>

