무상 기술지원 범위 안내 / 비밀글은 답변 드리지 않습니다.

싱크웍스는 웹 기술문의 게시판이나 이메일, 유선 등을 통해 코드나 회로에 대한 직접적인 기술지원은 하고 있지 않습니다. 프로그램 코드와 회로는 지적자산 보호와 보안 검열 등의 문제와 연관되며, 처리에 상당한 인적/시간적 자원이 필요하므로 이점 양해를 부탁 드립니다. 아울러, 본 기술문의 게시판은 TMS320F28X 계열에 대한 다양한 문의 내용과 답변 내용들을 담고 있습니다. 비밀글로 질문을 하시게 되면, 싱크웍스 담당자와 질문을 올리신 당사자 분 외에는 해당내용을 보지 못하게 됩니다. 또한 싱크웍스 담당자 이외의 분이 답변을 하시지도 못하게 됩니다. 싱크웍스는 다양한 기술문의 내용들을 더 많을 분들이 이용하고, 참고하셨으면 하는 바램이 있습니다. 때문에, 공개된 기술문의에 대해 우선적으로 답변을 처리하고 있습니다. 이점 양해를 부탁 드립니다.

  기술문의 게시물 작성은 로그인 후 가능합니다.

게시판 성격에 맞지 않는 게시물이 등록되는 경우가 있어, 게시판의 글 작성은 회원분들만 가능하도록 수정했습니다. (글쓰기 버튼이 로그인 상태에서만 보입니다.) 이점 양해를 부탁 드립니다. 게시물 목록 및 내용의 확인(읽기)은 로그인을 하지 않아도 가능합니다. (회원 로그인 <-- 클릭)

  싱크웍스 카카오 채널+ 개설

휴대폰이나 PC에서 카카오톡을 실행하고 '싱크웍스'를 검색하시면 싱크웍스 채널+ 서비스를 추가하실 수 있습니다. 이를 통해 간단한 기술문의나 다양한 소식 및 정보를 받아보실 수 있습니다.

TMS320F28X 기술 문의

예제 오류 문의 - [F2838x / CPU1] 개발보드 LED 테스트 예제

정대현 (IP: 211.244.214.**) 2026.07.21 02:48:35 조회수 2,821

안녕하세요 제목의 예제를 다운로드 후 폴더에 접근하니 2개의 problem이 감지됩니다.


#148: declaration is incompatible with "volatile unsigned int IFR" (declared at line 72 of "D:/SyncWorks/TMS320F28X_EVM_V2_2838x/3_PWM_to_Analog_3Ch/device/device_support/headers/Include/f2838x_device.h")

#148: declaration is incompatible with "volatile unsigned int IER" (declared at line 73 of "D:/SyncWorks/TMS320F28X_EVM_V2_2838x/3_PWM_to_Analog_3Ch/device/device_support/headers/Include/f2838x_device.h")


Build를 해봐도 해당 부분에 의해서 에러가 발생합니다.


[0]"D:SyncWorksTMS320F28X_EVM_V2_2838x_PWM_to_Analog_3Chdevicedriverlibcpu.h", line 61: error #148: declaration is incompatible with "volatile unsigned int IFR" (declared at line 71 of "D:/SyncWorks/TMS320F28X_EVM_V2_2838x/3_PWM_to_Analog_3Ch/device/device_support/headers/Include/f2838x_device.h")

[1]"D:SyncWorksTMS320F28X_EVM_V2_2838x_PWM_to_Analog_3Chdevicedriverlibcpu.h", line 68: error #148: declaration is incompatible with "volatile unsigned int IER" (declared at line 72 of "D:/SyncWorks/TMS320F28X_EVM_V2_2838x/3_PWM_to_Analog_3Ch/device/device_support/headers/Include/f2838x_device.h")


GPT 활용하여 원인 분석 결과 Bit-Field와 Driverlib 방식으로 동시에 IFR/IER 선언하려는 과정에서 발생한 에러라고 하는데,

C 파일 열어보니 이 문제를 동시에 선언 가능하게 바꾸셨다고 메모해 두신 것 같습니다.


혹시 문제가 아직 해결되지 않은 건가요?

해당 예제에서 저와 같은 오류가 발생하는지 확인 부탁드립니다.


참고로, 저는 device_supportheadersInclude 경로의 f2838x_device.h에서

71~72 라인을 다음과 같이 수정하여 해결하였음을 공유드립니다.


#ifndef _DUAL_HEADERS   <-- 추가

extern __cregister volatile unsigned int IFR;

extern __cregister volatile unsigned int IER;

#endif      <-- 추가


해당 예제뿐만 아니라 

[F2838x / CPU1] 예제 시리즈에서 모두 동일한 에러가 확인되므로

전체적인 수정이 필요해 보입니다.

감사합니다.



---- 답변 ----


위의 문제는 이전 버전의 CCS(v12.x)와 컴파일러에서는 문제가 없습니다.

TI에서 EXT_EP-12834 문제를 해결하는 과정에서 C2000 컴파일러의 자료형 정의( _types.h) 중 uint16_t 의 정의가 바뀌었고,

이에 따라 발생되는 문제로 TI에 보고(EXT_EP-13044)되어 있으며,

문제가 해결된 C2000Ware 및 컴파일러 버전이 배포되어 있습니다.


항목컴파일러 버전 22.6.2 이하컴파일러 버전 22.6.3 / 25.11.0
__int16_tintshort
__uint16_tunsigned intunsigned short


예제에서 사용되고 있는 이전 버전의 C2000Ware 제공 칩-지원 헤더에서는 IFR과 IER을 각각 아래와 같이 정의하고 있습니다.


/* device_support/f2838x/headers/include/f2838x_device.h */

extern __cregister volatile unsigned int IFR; /* = unsigned int */


/* driverlib/f2838x/driverlib/cpu.h */

extern __cregister volatile uint16_t IFR; /* 22.6.3부터 = unsigned short */


C28X MCU에서는 int 나 short 모두 16비트 자료형으로 처리되므로 사실상 동작에 문제가 없지만, 컴파일러 파서는 별개 타입으로 보기 때문에 재-선언 불일치(error #148)가 됩니다. 예전 버전의 컴파일러에서는 f2838x_device.h 및 cpu.h 헤더 양쪽 모두 unsigned int로 귀결되어 문제가 없었던 부분 입니다.


cpu.h 헤더 파일에서 uint16_t 부분을 unsigned int로 수정하면 해당 오류는 제거할 수 있지만, 다른 부분에서 유사한 문제가 발생될 수 있으므로, 근본적으로는 아래의 문제 해결 방법을 적용하시는 편이 좋습니다.


[문제 해결 방법]

1. CCS v21.x 최신버전 다운로드 및 사용 (CCS v21.x 설치 시 포함되는 C2000 컴파일러 버전이 v25.11.1.LTS 이므로 문제가 발생하지 않습니다.)

2. C2000Ware v26.x 이상을 다운로드 및 설치한 후, 예제에 포함된 칩-지원 헤더 및 소스를 최신 버전으로 교체

3. (현재 사용 중인 CCS 버전에서) 프로젝트에 사용되는 컴파일러를 22.6.4.LTS 또는 25.11.1.LTS 이상으로 교체


[참조 1 - 관련 문답 및 버그 리포트]

1. https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1590089/tms320f280039-modifications-to-int16_t-and-uint16_t-type-in-c2000-cgt-v22-6-3

2. https://sir.ext.ti.com/jira/browse/EXT_EP-13044


[참조 2 - 새 컴파일러 버전 설치]

1. CCS 메뉴 Help → Check for Update... 실행 후, 새 버전의 컴파일러 설치

2. https://www.ti.com/tool/C2000-CGT 경로에서 원하는 컴파일러 버전 다운로드 및 독립 설치

(컴파일러 독립 설치 시, CCS가 자동으로 인식하도록 하려면, 아래와 같이 CCS 설치 폴더 하위 compiler 디렉터리에 설치해야 합니다.)

예): C:/ ti / ccs20xx / ccs / tools / compiler / ti-cgt-c2000_22.6.4.LTS



총 댓글 1
  • 싱크웍스

    본문에 답변을 추가해두었습니다. 2026-07-21 14:07:58

로그인을 하셔야 댓글을 등록하실 수 있습니다.
번호 제목 작성자 날짜
번호 제목 날짜 작성자 조회
5382 답변 FFT에 관하여 (1) 이미지첨부 있음 2013.07.25 싱크웍스 78
5381 Delfino EVM - 2채널, 비-인터럽트(Polling) 방식으로 ADC 하기 예제 2013.07.25 안영석 3
5380 답변 Delfino EVM - 2채널, 비-인터럽트(Polling) 방식으로 ADC 하기 예제 2013.07.25 싱크웍스 45
5379 Tms320F28335사용하는데요 CCS 설정중에서 (1) 2013.07.24 이남훈 35
5378 InitADC 실행중에 Illegal Operation Trap가 뜹니다. (1) 파일첨부 있음 2013.07.24 한태수 67
5377 Illegal Operation Trap 문제 해결 요청드립니다. (1) 파일첨부 있음 2013.07.24 한태수 63
5376 [긴급]TMS320F28027 flash write error문제 이미지첨부 있음 2013.07.19 케이디시스텍 80
5375 답변 [긴급]TMS320F28027 flash write error문제 2013.07.22 싱크웍스 91
5374 TI DSP용 double형 데이터를 x86 PC용 double형으로 변환하는 방법 또는 소스코드가 있나요? 2013.07.19 이혁진 16
5373 답변 TI DSP용 double형 데이터를 x86 PC용 double형으로 변환하는 방법 또는 소스코드가 있나요? 2013.07.19 싱크웍스 24
5372 답변 TI DSP용 double형 데이터를 x86 PC용 double형으로 변환하는 방법 또는 소스코드가 있나요? (1) 2013.07.19 이혁진 21
5371 SCI통신을 이용한 1:1 보드간 통신을 하려고 합니다. 2013.07.18 김동규 4
5370 답변 SCI통신을 이용한 1:1 보드간 통신을 하려고 합니다. 2013.07.19 싱크웍스 75
5369 watch window 변수 저장되나요? 2013.07.18 김준우 20
5368 답변 watch window 변수 저장되나요? (1) 2013.07.18 싱크웍스 41
5367 28069 및 piccolo 컨트롤러의 analog comparator 모듈 관련 질문입니다. (1) 2013.07.18 김종우 27
5366 28346에 sdram 컨트롤이 가능한지요? (1) 2013.07.17 박동진 51
5365 오전에 문의드린 로그파일관련 에러 문의입니다. 파일첨부 있음 2013.07.17 마성덕 6
5364 답변 오전에 문의드린 로그파일관련 에러 문의입니다. 2013.07.18 싱크웍스 8
5363 CCS v4.0 관련 문의 사항입니다. (1) 2013.07.17 정상훈 20
5362 SDS100i 컴퓨터 접속 관련 2013.07.17 안영석 41
5361 답변 SDS100i 컴퓨터 접속 관련 2013.07.17 싱크웍스 49
5360 Error connecting to the target 메시지가 뜨면서 ccs가 종료됩니다. 파일첨부 있음 이미지첨부 있음 2013.07.17 천진영 7
5359 답변 Error connecting to the target 메시지가 뜨면서 ccs가 종료됩니다. 2013.07.17 싱크웍스 43
5358 JTAG 접속이 안됩니다. 이미지첨부 있음 2013.07.17 이혁진 43
5357 답변 JTAG 접속이 안됩니다. 2013.07.17 싱크웍스 48
5356 외부램관련 2013.07.17 김한솔 3
5355 답변 외부램관련 2013.07.17 싱크웍스 51
5354 답변 외부램관련 (1) 2013.07.17 김한솔 4
5353 CCS 실행했을때 에러 발생하면서 실행이 안됩니다. 2013.07.17 마성덕 23

비밀번호 인증

비밀번호를 입력해 주세요.

닫기
 
 

비밀번호 인증

글 작성시 설정한 비밀번호를 입력해 주세요.

닫기