태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

"프로젝트를 정해진 절차대로 하면 실행파일이 만들어지기는 하는데 그 과정을 분명하게 그릴 수 없네?", "char, int 데이터 형은 몇 비트일까?", "PC와 마이컴은 다르기 때문에 C 컴파일러도 다를 텐데 PC의 컴파일러가 지원하는 기본 함수를 사용할 수 있을까?", "나는 C언어도 모르는데 어떤 책으로 시작해야 하나?"

어쩌면 이런 질문은 TI, TMS320F28x 고성능 마이컴 계열(32bit,300MHz)을 사용할 때 뿐만 아니라 다른 마이컴을 사용해도 가질 수 있는 의문일 수 있습니다. 그렇기 때문에 각 마이컴 제조사들은 마이컴 개발을 위해 사용하는 컴파일러에 대한 매뉴얼을 제공하여 그 것에 대한 답변을 하고 있습니다. TI도 그런 문서가 있는데 " SPRU514 " 문서가 그 것입니다.

"TMS320C28x Optimizing C/C++ Compiler v6.0 User's Guide"(SPRU514)" 에서는 TI의 통합 개발환경인 코드컴포져스튜디오( CCS )에 녹아 들어가 있는 여러 가지 기능, 옵션, 흐름, 제약 사항 등 컴파일러 대한 전반에 대해서 설명하고 있습니다. 개발자들은 개발을 진행하기 전에 내가 사용해야 할 컴파일러의 특징과 제약 점을 파악해 두는 것이 좋습니다.


1.1 소프트웨어 개발의 흐름

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


1.2 TMS320F28x C 컴파일러

- TMS320F28X 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 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비트를 사용하고 있습니다. 다음의 표는 TMS320F28x의 Data Type을 표로 정리해 보았습니다. 별로 중요하지 않다고 생각하는 분도 많으시겠지만 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 744 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)

 

다음의 링크를 확인하시면 자세한 내용을 확인할 수 있습니다.

TMS320F28x FPU : http://www.ti.com/lit/an/spraan9a/spraan9a.pdf

 

- 런타임 서포트 라이브러리

  • rts2800.lib: C/C++ run-time object library
  • rts2800_ml.lib: C/C++ large memory model run-time object library
  • rts2800_eh.lib: C/C++ run-time object library with exception handling support
  • rts2800_ml_eh.lib: C/C++ large memory model run-time object library with exception handling support
  • rts2800_fpu32.lib: C/C++ run-time object library for FPU targets
  • rts2800_fpu32_eh.lib: C/C++ run-time object library for FPU targets with exception handling support

 

오늘은 TMS320F28x의 C언어 특징에 대해서 여기까지 알아보고요. 궁금하신 점이 있으시면 댓글로 남겨 주세요.

[광 고]

싱크웍스는 TI, TMS320F28x를 시작하시는 데 도움이 되는 체계적인 교육프로그램을 준비하고 있습니다.

 

펌웨어 설계 강좌(3일, 72만원)-부가세별도

강의 내용

· TMS320F28x 개요 및 개발환경 이해

· CPU 구조

· 링크

· MMR과 칩 초기화

· 리셋 및 부트

· 인터럽트

· 프로젝트 이해와 작성법

· 플래시 부트 및 플래시메모리에서 속도 최적화

 

시스템 설계 강좌(3일, 72만원)-부가세별도

강의 내용

· ePWM/eCAP/eQEP

. ADC

· DMA

· 통신 (SPI/I2C/SCI/CAN)

. H/W 설계

. FlASH API


모터제어 강좌(1일, 24만원)-부가세별도

강의 내용

.TMS320F28X 소개

.TMS320F28X의 모터제어용 주변회로

.BLDCM 제어기법과 TI 모터컨트롤 라이브러리

.PMSM 벡터제어 전략과 기타 제어 기법들

Posted by vosami

댓글을 달아 주세요

티스토리 툴바