본문 바로가기
임베디드 개발/TMS320F2838x (C28x)

TMS320F28388D ] Hardware Access 매크로

by eteo 2023. 2. 1.

 

 

hw_type.h 파일에 레지스터에 접근에 데이터를 읽고 쓸 때 사용되는 매크로 함수들이 있다.

 

 

  • HWREG(x)                 (*((volatile uint32_t *)((uintptr_t)(x)))) // 32 bit Access 에 사용된다.
  • HWREG_BP(x)          __byte_peripheral_32((uint32_t *)(x)) // 32 bit Access 에 사용되는데 컴파일러 내장함수를 사용한다. 이 매크로함수는 CAN, USB 같은 byte Access의 특수 주소지정체계를 쓰는 페리페럴에 사용하기 위해 만들어졌다.
  • HWREGH(x)              (*((volatile uint16_t *)((uintptr_t)(x)))) // 16 bit Access 에 사용된다. 16 bit 레지스터나 32bit 레지스터의 상위 또는 하위 Word 에 Access 하는 데 사용되고 C28x 코어의 Word 가 16bit므로 가장 일반적으로 사용된다.
  • HWREGB(x)              __byte((int16_t *)(x),0) // 컴파일러 내장함수 __byte()를 사용하고 하드웨어에서 8bit Access가 필요한 경우에만 사용한다. 그렇지 않으면 HWREGH()를 사용하고 원치않는 비스크를 이동시킨다.

 

 

출처 : Programming TMS320x28xx and TMS320x28xxx Peripherals in C/C++