AnsweredAssumed Answered

Flexcan IMASK1 register remains always 0x0.  MQX4.0, CW10.3, kwikstik

Question asked by stathis on Feb 4, 2013
Latest reply on Feb 21, 2013 by Monica Arvizu

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 ?


Outcomes