AC6 peripheral register structural access issues


I have trouble accessing registers with structures which work with AC5.

Below is the structure definition.

/* ADC Filter Configuration Register
* Address: 0x40030018, Reset: 0x00000007, Name: ADCFLT
typedef struct {
unsigned int SF_6_0 :7;
unsigned int NOTCH2_7 :1;
unsigned int AF_13_8 :6;
unsigned int RAVG2_14 :1;
unsigned int CHOP_15 :1;
unsigned int SINC4_EN_16 :1;
unsigned int RSVD_17_31 :15;

#define ADCFLT_A 0x40030018

The result compiled by compiler 5.06 is attached below. The register is set correctly with value 0x961F.

And this is the result by compiler 6.15. The register value is incorrect.


Here is the generated AC6 asm code. 

Did anyone experience this issue?



More questions in this forum