Dear community,
I am using MQX4.0 on Codewarrior 10.3 with kwikstik version 5.0.
I'm following the foll. steps :
1. On a new workspace drug and drop kwikstikk40x256.wsd
2. Create a new MQX4.0 empty project.
3. On main.c and main.h, copy code from ... mqx/examples/can/flexcan test.c and test.h
4. Build and debug in int_flash mode.
Now the problem :
1. In " Tx_Task -> FLEXCAN_Initialize_mailbox ->FLEXCAN_Int_enable" there is a line of code :
(can_reg_ptr->IMASK1) |= (0x1 << mailbox_number);
execution of this line ( mailbox_number = 1) leaves the IMASK1 register untouched with value 0.
2. I decided to ignore it and continue up to "FLEXCAN_Tx_message" of Tx_Task, in order to get just one shot of the CAN frame.
An oscilloscope was connected on CAN_TX test point of the board, a series of pulses produced but these are definitely not a CAN frame.
More strangely a CAN ISR produced but inspection of IFLAG1 and ESR1 registers in "MY_FLEXCAN_ISR" shows them to have 0 values.
I tested the same with MQX3.8 the results were the same.
After 3 days of various tests it is still impossible to use the CAN on this board.
Is it a hardware errata of the uPC (40X256 mask 2N30D) ?
Is it a bug of CW10.3 ?
Any other ideas ?
Please help.
We have a CodeWarrior community that can better help answer your question. Here is the link:
https://community.freescale.com/community/codewarrior/cw-mcu