Microprocessor/Code Composer Studio TMS320F28x 의 C언어 특징
  • 728x90
    반응형

    목차

       

      소프트웨어 개발의 흐름

      모든 소프트웨어 개발은 흐름이 비슷하지만 마이컴의 경우에는 다음의 플로우 차트와 같이 개발이 진행된다.

       

       

       

       

      TMS320F28x C 컴파일러

      TMS32F28X C언어 특징

      • ANSI/ISO Standard
      • ISO Standard C(ISO/IEC 9899:1990)
      • Kernighan and Ritchie's "The C Programming Language"
      • 모든 라이브러리 함수들은 ISO C 라이브러리 표준에 따름

      Output File(COFF)

      • Common Object File Format
      • C코드와 데이터를 메모리 영역에 링크한 파일
      • 소스레벨 디버깅 지원

      인터페이스

      • Edit, Compile, Optimize, Assemble, Link 를 지원하는 통합 개발 환경
      • 개발환경 내에서 Assembly bly function과 C function을 구현가능

      유틸리티

      • Library build process
      • Hex conversion utility
      • MISRA-C:2004

       

       

      TMS320F28x C언어의 DATA TYPE

      PC에서는 32비트 CPU를 많이 사용하고 있기 때문에, 가장 많이 사용하는 int 타입이 32비트 즉 4byte이죠. 하지만 TMS320F28X의 경우에는 자료 저장의 효율성을 위해서 기본 word단위를 16비트로 사용하고 있다. 물론 TMS320F28X의 내부 버스도 16비트를 사용하고 있다. 다음의 표는 TMS320F27x의 Data Type을 표로 정리한 것 이다.

       

      Type  Size  Range 
       char, signed char 16bit  -32,768~32,767 
      unsigned char  16bit  0~65,535 
      short  16bit  -32,768~32,767 
      unsigned short   16bit 0~65,535 
       int, signed int 16bit  -32,768~32,767 
       unsigned int 16bit  0~65,535 
       long, signed long 32bit  -2,147,483,648~2,147,483,647
       long long, signed long long 64bit  -9,223,372,036,854,775,808~9,223,372,036,854,775,807 
      unsigned long long  64bit  0~18,446,774,073,709,551,615 
       enum 16bit  -32,768~32,767 
       float 32bit  (+/-)1.7,209,290e-38~(+/-)3.40,282,35e+38 
       double 32bit  (+/-)1.7,209,290e-38~(+/-)3.40,282,35e+38 
      long double 64bit  (+/-)2.22,507,385e-308~(+/-)1.79,769,313e+308 
       Pointers 16bit  0~0xFFFF (64K) 
       Far pointer 22bit  0~0x3FFFFF (8M) 

       

       

      특별한 KEYWORD

      키워드는 "C"언어에서 사용하는 예약 어라고 할 수 있다. C 컴파일러에 의해서 지정된 동작을 수행한다. (int, while, if, return, void, typedef 등)

      • const(ANSI/ISO 표준)
      • cregister Keyword
      • IER : Interrupt enable register
      • IFR : Interrupt flag register
      • interrupt
      • volatile
      • asm

       

      PRAGMA(프라그마)는 간단히 조금 특별한 지시사 정도로 받아 들이면 된다. "CODE_SECTION"은 특정 코드를 특정 메모리 영역에 할당하고자 할 때 사용되고, "DATA_SECTION"은 데이터를 특별한 메모리 영역에 할당 할 수 있다.

       

      "CODE_ALIGN"은 코드를 정렬(특정 번지 부터 시작하도록) 시킬 수 있고, 최근 CCS부터는 MISRA C규칙을 체크할 수 있다.

       

      프라그마 디렉티브는 컴파일러가 어떤 함수, 객체, 코드섹션을 어떻게 처리해야 하는지 알려주는 것

       

      • CODE_SECTION
      • DATA_SECTION
      • CODE_ALIGN
      • CHECK_MISRA
      • FAST_FUNC_CALL

       

       

       

       

       

       

       

      728x90
      반응형
    상단으로