#pragma pack(1)
typedef struct TEST_STRUCTURE {
   /* Byte 0 */
     UINT8 uiSEQ;
   /* Byte 1 */
     BIT1 biCharDir :1;
     UINT32 uiReserved1 :7;
   /* Byte 2 */
     UINT8 uiPulseCount_Ch1;
   /* Byte 3 */
     UINT8 uiPulseCount_Ch2;
   /* Byte 4~7 */
     UINT32 uiPulseCount_Access;
   /* Byte 8 */
     UINT32 uiSwVer :6;
     UINT32 uiStatus :2;
   /* Byte 9~11 */
     UINT16 uiSizeIndex;
     UINT8 uiReserved2;
   /* Byte 12~15 */
     UINT32 uiC;
};

위와 같이 #pragma pack 지시문이 포함되어 있는 코드의 경우, Controller Tester에서의 구조체의 사이즈가 원본 프로그램과는 다르게 표시될 수 있습니다.
위 지시문은 구조체 메모리 정렬 옵션인데, 컴파일러 별로 pack 지원 여부 및 동작 방식이 다를 수 있기 때문입니다.
따라서, Controller Tester에서 변환 툴체인을 사용하는 경우 원본 프로그램 빌드할 때 사용한 컴파일러와 pack 동작 방식이 일치하는 visual studio 컴파일러 혹은 gcc 컴파일러를 선택하여 수행하면 위 문제를 해결할 수 있습니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.