How to use CAN_LDD with interrupt service ?

cancel
Showing results for 
Search instead for 
Did you mean: 

How to use CAN_LDD with interrupt service ?

Jump to solution
1,107 Views
hanchengyang
Contributor II

I have used KE06Z, and with MQX Lite, while I used CAN_LDD with interrupt service active there are several errors as below:

error.PNG.png

and I verified structure CAN1_TDeviceData, and there is no member called 'SavedBusOffISRSettings', and I have tried deleted these lines and compile passed, but cannot go into ISR.

error1.PNG.png

these codes are in 'LDD_TDeviceData* CAN1_Init(LDD_TUserData *UserDataPtr)'

0 Kudos
1 Solution
497 Views
marek_neuzil
NXP Employee
NXP Employee

Hello,

I have checked our database of issues and this is known issue of CAN_LDD component driver. We have fixed the issue and there is available a hot fix for KDS 2.0.0 and CW MCU 10.6.x. See attached hot fix packages.


Best Regards,

Marek Neuzil

View solution in original post

0 Kudos
6 Replies
497 Views
marek_neuzil
NXP Employee
NXP Employee

Hello,

I have tried to reproduce the error in CW MCU 10.6.3 and KDS 2.0.0 but the generated code can be compiled without any error. I have also checked that the CAN_LDD driver contain the same code you have mentioned:

  /* Allocate interrupt vectors */

  /* {MQXLite RTOS Adapter} Save old and set new interrupt vector (function handler and ISR parameter) */

  /* Note: Exception handler for interrupt is not saved, because it is not modified */

  DeviceDataPrv->SavedBusOffISRSettings.isrData = _int_get_isr_data(LDD_ivIndex_INT_MSCAN_TX);

. . .

But this code can be compiled without errors.

Could you send me the project or the Processor Expert project configuration (Exported Component Settings - .peb file)  for analysis, please?

Please, send me also the version of the Processor Expert product you are using (e.g. CW MCU 10.6.3, KDS 2.0.0).

Best Regards,

Marek Neuzil

0 Kudos
497 Views
hanchengyang
Contributor II

Hello

Thanks for your intention, but i have already solve the problem, by adding

two elements into LDD CAN structure in can.h.

https://github.com/HanchengYANG/ProcessorExpertCAN_LDD_BUG_FIX/blob/master/Readme.txt

Le lundi 13 avril 2015, Marek Neuzil <admin@community.freescale.com> a

écrit :

<https://community.freescale.com/>

How to use CAN_LDD with interrupt service ?

reply from Marek Neuzil

<https://community.freescale.com/people/marek_neuzil?et=watches.email.thread>

in Processor Expert Software - View the full discussion

<https://community.freescale.com/message/504316?et=watches.email.thread#504316>

0 Kudos
498 Views
marek_neuzil
NXP Employee
NXP Employee

Hello,

I have checked our database of issues and this is known issue of CAN_LDD component driver. We have fixed the issue and there is available a hot fix for KDS 2.0.0 and CW MCU 10.6.x. See attached hot fix packages.


Best Regards,

Marek Neuzil

0 Kudos
497 Views
carloshass
Contributor II

MArek,

On KDS 3.0, this issue was solved or need to fix manually too?

REgards,

CH

0 Kudos
497 Views
marek_neuzil
NXP Employee
NXP Employee

Hello Carlos,

The issue has been fixed in the KDS 3.0.0 (PEx for Kinetis 3.0.0). You can see the issue PEXMCU-1276 in the Revision History of the KDS_3.0.0\eclipse\ProcessorExpert\PEx_for_Kinetis_3.0.0_Release_Notes.pdf:

PEXMCU-1276 - Fixed defect: The CAN_LDD component code doesn’t build when using with MQX-Lite. The structure <Name>_TDeviceData in the CAN_LDD header file is missing members, like SavedBusOffISRSettings.

Best Regards,

Marek Neuzil

0 Kudos
497 Views
hanchengyang
Contributor II

Thanks a lot it's now working correctly!

0 Kudos