-
Enhancement
-
Resolution: Won't Implement
-
Not Prioritized
-
Code Generation Tools
-
CODEGEN-12564
-
C2000_22.6.1.LTS
-
default
-
This capability is not supported by C28 hw/compiler.
This code is simplified view of how structures are created in C2000Ware header files for some HW registers.
typedef unsigned long bp_32 __attribute__((byte_peripheral)); struct tag_name { bp_32 reg1; bp_32 reg2; }; extern volatile struct tag_name HWRegs;
The customer requests the ability to create a pointer to a member of such a structure.
void fxn() { volatile bp_32 *ptr = &HWRegs.reg2; /* ignore diagnostic about ptr never referenced */ }
Currently, this code gets these diagnostics ...
% cl2000 file.c "file.c", line 13: warning: variable "ptr" was declared but never referenced error #99923: "file.c", line 13: Illegal use of intrinsic: __byte_peripheral_32 >> Compilation failure