AnsweredAssumed Answered

I probably found a bug in the Simulink code generation

Question asked by Markus Ransberger on Aug 28, 2017
Latest reply on Sep 11, 2017 by dumitru-daniel.popa

Hi again,

 

after trying to get an external interrupt working with the eTimer building blocks (inside Simulink), I probably found a bug in the code generation.

 

Inside the intc_init.c file, where the ISR priorities get set, lines get mixed up a bit which results in wrongly set priorities. In my case I tested the eTimer 0 channel 4 with an Input High Edge interrupt by a secondary source which does work fine when coded in S32 IDE. The priority for the 4th channel gets set to 0x00, but that should be 0x0F. Also the comment next to it refers to channel 5, but the vector number does belong to channel 4. (The vector number for channel 5 is missing completely.)

 

After setting the right priorities manually in S32 IDE (with an imported Simulink project), it works btw.

 

You may look at the screenshots I added to this message.

 

Can anybody please confirm that?

 

EDIT:

I think I found another thing:

The eTimer Mux table is probably also not completely right. Module 0 seems to have the right values, but module 1 and 2 are probably wrong, since the IMCR values are all "-1". Please look at the corresponding .png file.

 

 

Kind regards,

Markus R.

Outcomes