<?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: Message ram location in CAN controller(s) on LPC54608 in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739136#M29817</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for confirming the issue. We’ll await your findings.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 29 Nov 2017 06:24:47 GMT</pubDate>
    <dc:creator>nthove</dc:creator>
    <dc:date>2017-11-29T06:24:47Z</dc:date>
    <item>
      <title>Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739132#M29813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Does someone have experience with setting up the CAN controller on the LPC54608?&lt;/P&gt;&lt;P&gt;I have troubles initializing the message ram. When I declare the variable (Keil MDK):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint8_t can_msg_ram_base[128] __attribute__((at (0x20010000)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...and provide the message ram to the CAN controller like this:&lt;/P&gt;&lt;P&gt;MCAN_SetMsgRAMBase(CAN0, (uint32_t)&lt;SPAN&gt;can_msg_ram_base&lt;/SPAN&gt;);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;...messages are sent on the CAN bus (see the screenshot, message ID 111h).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, if I declare the &lt;SPAN&gt;can_msg_ram_base&amp;nbsp;&lt;/SPAN&gt;variable on any other address, messages are sent with all zeroes (see first line in screenshot).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Are there any restrictions on the message ram location? The user manual does not specify such restrictions, other than it must be located in internal SRAM. I don't see why I can't put the message ram on an arbitrary location. I also tried&amp;nbsp; to align this arbitrary location on a&amp;nbsp;4/8/16-byte boundary, but that does not help. Can someone provide me with more information on the the restrictions for the message ram of the CAN controller(s)?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="can_messages.jpg"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/36576iF07ED49B6095534C/image-size/large?v=v2&amp;amp;px=999" role="button" title="can_messages.jpg" alt="can_messages.jpg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2017 15:33:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739132#M29813</guid>
      <dc:creator>nthove</dc:creator>
      <dc:date>2017-11-27T15:33:59Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739133#M29814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;In addition to PDRUNCFG0 that make sure all the RAMs are powered up,&amp;nbsp;check the clocks to SRAM1/2/3 are enabled in AHBCLKCTRLx register in SYSCON offset at 0x200.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2017 18:49:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739133#M29814</guid>
      <dc:creator>Dezheng_Tang</dc:creator>
      <dc:date>2017-11-27T18:49:46Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739134#M29815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Norbert,&lt;/P&gt;&lt;P&gt;I see the exact same behavior here (own hardware, LPC54606) !&lt;/P&gt;&lt;P&gt;If I use 0x20010000 as the base address it works, if I declare my own buffer for this it fails. Have you measure on the physical can bus with a scope ? I did also receive all 0's in my PCAN-View but when looking at the bus there were only some sync data sent so I think that PCAN does not quite understand this and shows it as a frame with all 0 in it.&lt;/P&gt;&lt;P&gt;When changing address to the same as the example in the SDK it magically works for me!&lt;/P&gt;&lt;P&gt;(and yes, all my SRAM blocks are powered up and enabled)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edit, list of the tests I have made (some of the "Not ok" will allow one to send messages, but messages received will be received as all "0"):&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20010000))); // OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20018000))); // NOT OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20020000))); // OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20021000))); // NOT OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20022000))); // NOT OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04000000))); // OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04001000))); // NOT OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04002000))); // NOT OK&lt;/SPAN&gt;
&lt;SPAN class="comment token"&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04003000))); // NOT OK&lt;/SPAN&gt;
‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My init code for CAN (for now its just mostly a copy of the sample...)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Set MCAN clock */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;CLOCK_SetClkDiv&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_DivCan0Clk&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; true&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_GetDefaultConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;mcanConfig&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; mcanConfig&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;baudRateA&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;125000&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_Init&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;mcanConfig&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;CLOCK_GetFreq&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;kCLOCK_MCAN0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Create MCAN handle structure and set call back function. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_TransferCreateHandle&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;mcanHandle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; mcan_callback&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; NULL&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Set Message RAM base address and clear to avoid BEU/BEC error. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_SetMsgRAMBase&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;MCAN_Memory&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;p&lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;uint32_t &lt;SPAN class="operator token"&gt;*&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;MCAN_Memory&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;memset&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;p&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; TX_BUFFER_OFS &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x10U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* STD filter config. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;address &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; STD_FILTER_OFS&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;idFormat &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_FrameIDStandard&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;listSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;nmFrame &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_reject0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;remFrame &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_rejectFrame&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_SetFilterConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;rxFilter&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; stdFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sfec &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_storeinFifo0&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Classic filter mode, only filter matching ID. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; stdFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sft &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_classic&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; stdFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sfid1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; rxIdentifier&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; stdFilter&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;sfid2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0x7FFU&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_SetSTDFilterElement&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;rxFilter&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;stdFilter&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* RX fifo0 config. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFifo0&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;address &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; RX_FIFO0_OFS&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFifo0&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;elementSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFifo0&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;watermark &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFifo0&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;opmode &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_FifoBlocking&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; rxFifo0&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;datafieldSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_8ByteDatafield&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_SetRxFifo0Config&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;rxFifo0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* TX buffer config. */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txBuffer&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;address &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; TX_BUFFER_OFS&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txBuffer&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;dedicatedSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1U&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txBuffer&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;fqSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; txBuffer&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;datafieldSize &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; kMCAN_8ByteDatafield&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_SetTxBufferConfig&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;&amp;amp;&lt;/SPAN&gt;txBuffer&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;

&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;/* Finish software initialization and enter normal mode, synchronizes to
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN bus, ready for communication */&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="token function"&gt;MCAN_EnterNormalMode&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;CAN0&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 28 Nov 2017 11:54:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739134#M29815</guid>
      <dc:creator>carstengroen</dc:creator>
      <dc:date>2017-11-28T11:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739135#M29816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks a lot! Confirmed your finding, have reported to the design team to look into that.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2017 00:01:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739135#M29816</guid>
      <dc:creator>Dezheng_Tang</dc:creator>
      <dc:date>2017-11-29T00:01:48Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739136#M29817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for confirming the issue. We’ll await your findings.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 29 Nov 2017 06:24:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739136#M29817</guid>
      <dc:creator>nthove</dc:creator>
      <dc:date>2017-11-29T06:24:47Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739137#M29818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Any news on this ?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Jan 2018 05:31:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739137#M29818</guid>
      <dc:creator>carstengroen</dc:creator>
      <dc:date>2018-01-24T05:31:58Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739138#M29819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Casten,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sorry that I am not able to get back you sooner on this. The design&amp;nbsp;engineer was not available in the last few days, and&amp;nbsp;today,&amp;nbsp;we start debugging this together. Here is my finding and I am still waiting for design to get back to me on this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; You should be able to use&amp;nbsp;all these memory region below for MCAN data communication:&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20010000))); // OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20018000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20020000))); // OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20021000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x20022000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04000000))); // OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04001000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04002000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;//uint8_t MCAN_Memory[2048] __attribute__((at (0x04003000))); // NOT OK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;However, if you use 0x2001x000, the base address in MRBA register needs to be 0x20010000.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if you use 0x2002x000, the base address in MRBA register needs to be 0x20020000.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;if you use 0x0400x000, the base address in MRBA register needs to be 0x04000000.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;"x"&lt;SPAN&gt; above could be any value.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The base address need to be at the 0x10000 boundary or MCAN message receive won't work.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So, inside SDK, change&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define CAN_MRBA_BA_MASK&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0xFFFFFFFFU)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;to&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;#define CAN_MRBA_BA_MASK&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0xFFFF0000U)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Please try it again and post your results here.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Once it's confirmed by the H/W design team,&amp;nbsp;we will update the&amp;nbsp;Users Manual as well as SDK software&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 26 Jan 2018 23:55:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739138#M29819</guid>
      <dc:creator>Dezheng_Tang</dc:creator>
      <dc:date>2018-01-26T23:55:19Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739139#M29820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found that it is working on all memory areas, when you consider the following:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- the&amp;nbsp;low 16 bit of MRBA must be zero&lt;BR /&gt;- you may use any memory range not going over a 64k block&lt;BR /&gt;- the lower 16 bit of the original pointer must be added to the offets of the other register.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;see the follwing code fragment (which is working in my project):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;this-&amp;gt;StdFilterOfs = 0;&lt;BR /&gt; this-&amp;gt;RxFifo0Ofs = this-&amp;gt;StdFilterOfs + 0x10;&lt;BR /&gt; this-&amp;gt;TxBufferOfs = this-&amp;gt;RxFifo0Ofs + this-&amp;gt;rxFifoSize*0x10;&lt;BR /&gt; this-&amp;gt;MRBASize = this-&amp;gt;TxBufferOfs + 2*0x10;&lt;BR /&gt; this-&amp;gt;MRBA = (uint8_t*) MallocSRAMX(this-&amp;gt;MRBASize);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;uint32_t addofs = ((uint32_t) this-&amp;gt;MRBA) &amp;amp; 0xFFFF;&lt;BR /&gt; this-&amp;gt;StdFilterOfs += addofs;&lt;BR /&gt; this-&amp;gt;RxFifo0Ofs += addofs;&lt;BR /&gt; this-&amp;gt;TxBufferOfs += addofs;&lt;BR /&gt; this-&amp;gt;MRBA = (uint8_t*)(((uint32_t) this-&amp;gt;MRBA) &amp;amp; 0xFFFF0000);&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Jul 2018 17:24:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/739139#M29820</guid>
      <dc:creator>michaelrauch</dc:creator>
      <dc:date>2018-07-10T17:24:55Z</dc:date>
    </item>
    <item>
      <title>Re: Message ram location in CAN controller(s) on LPC54608</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/1996019#M57260</link>
      <description>I used the memory addresses mentioned above, but at high load rates (when using canfd) there would still be all-0 packets</description>
      <pubDate>Mon, 18 Nov 2024 06:16:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Message-ram-location-in-CAN-controller-s-on-LPC54608/m-p/1996019#M57260</guid>
      <dc:creator>Cherrin</dc:creator>
      <dc:date>2024-11-18T06:16:59Z</dc:date>
    </item>
  </channel>
</rss>

