<?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>S12 / MagniV Microcontrollers中的主题 Re: Hi,   I am implementing a CAN controller on the HCS12X us...</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Hi-I-am-implementing-a-CAN-controller-on-the-HCS12X-us/m-p/183524#M6833</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;It depends a bit on the S12X that you are using but have a look at &lt;A href="http://www.freescale.com/files/microcontrollers/doc/app_note/AN3555.pdf" rel="nofollow" target="_blank"&gt;AN3555&lt;/A&gt; for some help on how to track down errors.&lt;/DIV&gt;&lt;DIV&gt;I would guess that you are probably trying to do a misaligned access when reading the variable&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 04 Sep 2008 17:45:30 GMT</pubDate>
    <dc:creator>Steve</dc:creator>
    <dc:date>2008-09-04T17:45:30Z</dc:date>
    <item>
      <title>Hi,   I am implementing a CAN controller on the HCS12X us...</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Hi-I-am-implementing-a-CAN-controller-on-the-HCS12X-us/m-p/183523#M6832</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hi,&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I am implementing a CAN controller on the HCS12X using the x-gate based on AN2726, I have got the X-Gate to interrupt and handle an Rx CAN message no problem and create an event in the core micro once completed using the sif() instruction.&amp;nbsp; The issue that I am have is that when I try to update a variable that has been passed to the x-gate Rx Can handler I get a XGateError Interrupt raised.&amp;nbsp; As far as I can tell I have followed the application note but stil get this error, I have no problem reading the CAN registers in the Xgate interrupt handler, I am using the COSMIC compiler.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Example code below any help would be appreciated.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;XGCANstruct XGCAN0 = {&amp;amp;CAN0&lt;BR /&gt;&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; ,ID_Table_CAN0&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&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; ,MsgData_CAN0&lt;BR /&gt;&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; ,MsgLen_CAN0&lt;BR /&gt;&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; ,MsgStatus&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ,MsgIndex_CAN0};&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;@interrupt void Xgate_CAN_Receive(XGCANstruct channel)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;tU08 box;&lt;BR /&gt;&amp;nbsp;tU08 rxid;&lt;BR /&gt;&amp;nbsp;if(_ssem(CANSEMXG))&lt;BR /&gt;&amp;nbsp;{&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;_csem(CANSEMXG);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;//This line causes the error&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;*(tU16*)(channel.pBuffer[0]&amp;nbsp;&amp;nbsp;&amp;nbsp; ) = *(tU16*)(channel.pCAN-&amp;gt;rxbuf.dsr&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2008 16:59:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Hi-I-am-implementing-a-CAN-controller-on-the-HCS12X-us/m-p/183523#M6832</guid>
      <dc:creator>IanM</dc:creator>
      <dc:date>2008-09-04T16:59:13Z</dc:date>
    </item>
    <item>
      <title>Re: Hi,   I am implementing a CAN controller on the HCS12X us...</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Hi-I-am-implementing-a-CAN-controller-on-the-HCS12X-us/m-p/183524#M6833</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;It depends a bit on the S12X that you are using but have a look at &lt;A href="http://www.freescale.com/files/microcontrollers/doc/app_note/AN3555.pdf" rel="nofollow" target="_blank"&gt;AN3555&lt;/A&gt; for some help on how to track down errors.&lt;/DIV&gt;&lt;DIV&gt;I would guess that you are probably trying to do a misaligned access when reading the variable&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2008 17:45:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Hi-I-am-implementing-a-CAN-controller-on-the-HCS12X-us/m-p/183524#M6833</guid>
      <dc:creator>Steve</dc:creator>
      <dc:date>2008-09-04T17:45:30Z</dc:date>
    </item>
  </channel>
</rss>

