TI TMS320 입문 연재 입니다.
1. CCS, C2000Ware, sprc191 (sprc097) 설치, compile == https://bahk33.tistory.com/205
2. XDS100, XDS200 로 CCS Debug 하기 == https://bahk33.tistory.com/207
3. UniFlash 로 ( CCS 없이 ) FW Download 하기- == https://bahk33.tistory.com/208
4. C2000Ware Sample code 를 다른곳으로 가져 가기 == 본글 https://bahk33.tistory.com/209
==========================================
본글 목차 250312
1. 소스 가져 오기
2. ".project" 수정하기
3. 필요 파일( .c, .asm , .h, )들 복사 하기
4. Include Path 조정
5. 라이브러리 가져오기
6. Build ( Compile) 하기
================================
1. 소스 가져 오기
> 작업 디렉토리로
~\C2000Ware_5_04_00_00\device_support\f2806x\examples\c28\gpio_toggle\
의 것을 내가 원하는 곳으로 복사 합니다.
> 여기서는 "E:\Src\prjBahk\gpio_toggle" 로 합니다.
2. ".project" 수정하기
> ".project"를 열어 수정 합니다. 저는 편의상 Notepad++ 를 사용 합니다. ( https://notepad-plus-plus.org/ )
> 2가지를 합니다: "프로젝트명 수정 하기" 와 "파일 목록 지우기",
1) 프로젝트 명 수정 하기
> 프로젝트 이름을 Example_2806xGpioToggle 에서 Bahk_2806xGpioToggle 로 바끕니다.
> 파일 맨위에
<projectDescription>
<name>Example_2806xGpioToggle</name>
를
<projectDescription>
<name>Bahk_2806xGpioToggle</name>
와 같이 바꿉니다
> 바꿀 이름은 마음대로 하셔도 되는데, 바꾸지 않으면, 혹시 나중에 같은 프로젝트 어쩌구 저쩌구 할 수도 있읍니다. 일단 바꾸시고 , 낭중에 고수가 되시면 알아서 하시는 것이 좋을 거 입니다.
2) 파일 목록 지우기
> <linkedResources> 와 </linkedResources> 사이에 있는 모든 파일 목록을 지웁니다.
> CCS 에서는 작업 디렉토리 아래 있는 파일은 project 파일에 있든 없든 다 컴파일 하는 군요,
뭘 잠시 가져다 놓지 못하게 하는 군요 ?
이렇게 안되게 하는 방법이 있는지 모르지만, 어째든 일단 지우고,
다음 작업에서 필요 한것은 복사 할 것 입니다.
<linkedResources>
<link>
<name>28069_RAM_lnk.cmd</name>
<type>1</type>
<locationURI>INSTALLROOT_F2806x/common/cmd/28069_RAM_lnk.cmd</locationURI>
</link>
... ... ...
... ... ...
</linkedResources>
을
<linkedResources>
</linkedResources>
와 같이
( 사족이지만 )맨 아래
<variableList>
<variable>
<name>INSTALLROOT_F2806x</name>
<value>$%7BPARENT-3-PROJECT_LOC%7D</value>
</variable>
는 그냥 놔 두셔요
3) 수정 한 파일 저장 하셔요.
3. 필요 파일( .c, .asm , .h, )들 복사 하기
> 복사한 폴더를 CCS 에서 불러 Build(compile) 하면서 에러 잡으면 되는 일입니다. 그것을 설명 합니다.
두 디렉토리 폴더 ( 프로젝트 )
1) "~\C2000Ware_5_04_00_00\device_support\f2806x\examples\c28\gpio_toggle"
와
2) "E:\Src\prjBahk\gpio_toggle"
를 로드( > File > Import Project ) 합니다.( 복사 한 프로젝트 이름을 바꾸지 않았으면 궁시렁 뎁니다. )
3) 첫번째 프로젝트에만 있는 파일 중 일단 "28069_RAM_lnk.cmd" 에서 마우스 오른쪽 버튼
4) "Copy Path"
해서 NotePad 에 붙이면,
"E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\cmd\28069_RAM_lnk.cmd" 와 같이 됩니다.
마찬 가지로 첫번째 프로젝트에만 있는 모든 파일 을 보면 아래와 같읍니다.
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\cmd\28069_RAM_lnk.cmd
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\source\F2806x_CodeStartBranch.asm
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\source\F2806x_DefaultIsr.c
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\headers\source\F2806x_GlobalVariableDefs.c
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\headers\cmd\F2806x_Headers_nonBIOS.cmd
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\source\F2806x_PieCtrl.c
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\source\F2806x_SysCtrl.c
E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\source\F2806x_usDelay.asm
> 주로 common, headers 라는 폴더 아래 있는 것을 알 수 있읍니다.
5) 파일 하나씩 복사하는 거 보다 폴더를 복사 하고 지우도록 하겠읍니다.
> 디렉토리 E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\common\
을 E:\Src\prjBahk\gpio_toggle 아래 복사 하셔요
> 디렉토리 E:\_t\_d\_ti\c2000\C2000Ware_5_04_00_00\device_support\f2806x\headers\
을 E:\Src\prjBahk\gpio_toggle 아래 복사 하셔요
> 그럼 다음과 같이 디렉토리 E:\Src\prjBahk\gpio_toggle 가 보입니다.
6) ~\common\cmd 디렉토리
> 아래와 같이 "28069_RAM_lnk.cmd" 만 남기고 지웁니다.
7) ~\common\source 디렉토리
> 아래와 같이 있으면 안되는 파일들 지웁니다.
8) ~\headers\cmd 디렉토리
> 아래와 같이 있으면 안되는 파일들 지웁니다.
4. Include Path 조정
> "\common\include" 와 "\headers\include" 가 "E:\Src\prjBahk\gpio_toggle\" 에 있다고 설정 하는 작업 입니다.
> 작업 폴더 마우스로 선택뒤 > Project > Properties
> "C2000 Compiler" > 편집 ( 연필 같은거 ) > "\common\include" 와 "\headers\include" 앞에 있는
"INSTALLROOT_F2806x" 를 "PROJET_LOC" 로 바꾸고
> 체크 > [Save and Close]
> 그다음 보면, include path 가 변경 된것을 볼 수 있읍니다.
> 사족이지만, PROJECT_LOC 라는 변수 이름을 어찌 알 았냐 며는,
> General > Variables 에서 확인 가능 합니다.
> 얼추 다 되었는데, 아직도 빌드 하면 에러가 나네요.
> 라이브 러리 2개 없다는 군요.
5. 라이브러리 가져오기
1) 먼저 C2000 Linker 에서 Library 위치를 수정 합니다.
> Linker 를 보시면, 2개 의 라이브러리가 어디 있는지
("E:/libraries/math/IQmath/c28/lib", "E:/libraries/math/FPUfastRTS/c28/lib" )
알 수 있는데,
> 복사해 놓을 곳을 지정하기 위하여 "연필 같은 거" 누르시고 > "\common\lib" 앞에 있는
"INSTALLROOT_F2806x" 를 "PROJECT_LOC" 로 바꾸고
> 체크 > [Save and Close]
2) 사실 "E:\Src\prjBahk\gpio_toggle\common" 에 "lib" 라는 디렉토리 없으니 만드시고
3) lib 파일 2개 를 만든 "~common\lib" 로 복사 합니다
"~\C2000Ware_5_04_00_00\libraries\math\IQmath\c28\lib\IQmath_fpu32.lib"
"~\C2000Ware_5_04_00_00\libraries\math\FPUfastRTS\c28\lib\rts2800_fpu32_fast_supplement.lib"
를 디렉토리 "E:\Src\prjBahk\gpio_toggle\common\lib" 로 복사 합니다.
6. Build ( Compile) 하기
> Project > Build Projet 하면, 아직도 경고(Warning) 이 나오네요... "~_coff.lib" 가 없다고
> 2개 lib 추가로 복사 해주고, (자세한 설명 안해도 되겠지요 ? ㅎ)
> 빌드 하시면, 원래 있던 프로젝트와 같이 잘 되는것을 확인 할 수 있읍니다.
자 이제 들고 뛸수 있는 프로젝트로 만들었읍니다. 만든 집 파일첨부 합니다.
============================
수고 하셨읍니다.
도움이 되셨으면, 댓글 부탁합니다. 댓글 하나에 힘이 됩니다.
고맙읍니다.
'개발 > embed' 카테고리의 다른 글
CCS v20 Project 만들기 (작업중) (0) | 2025.03.13 |
---|---|
UniFlash 로 (CCS 없이) FW Download 하기(Driver 설치) : TI TMS320 입문 (0) | 2025.03.12 |
XDS100, XDS200 로 CCSv20 Debug 하기:TI TMS320 입문 (0) | 2025.03.11 |
TI CCS v20: 다른 ( 옛날 ) Compiler (CGT) 버전 설치 (0) | 2025.03.11 |
CCS, C2000Ware, sprc191 (sprc097) Portable 설치, compile: TI TMS320 입문 (0) | 2025.03.07 |