[TMS320F28069M] TI 개발환경, C2000 개발환경, TI DSP 개발환경-3

728x90
반응형

https://vuzwa.tistory.com/entry/TMS320F28069M-TI-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-C2000-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-TI-DSP-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-2

 

[TMS320F28069M] TI 개발환경, C2000 개발환경, TI DSP 개발환경-2

https://vuzwa.tistory.com/entry/TMS320F28069M-TI-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-C2000-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD-TI-DSP-%EA%B0%9C%EB%B0%9C%ED%99%98%EA%B2%BD?category=1034782 [TMS320F..

vuzwa.tistory.com

 

이전 포스팅에서 gpio_setup 예제를 그대로 옮겨보려 했는데 생각해보니.. 동작을 확인해볼 수 없어 예제가 적절하지 않은 것 같다. 그래서 타이머로 바꿨다! 방법은 동일하다. 타이머 예제를 열어서 컴파일하고 보드에 다운로드까지 해보자. 이전에 열었던 예제를 닫아주고 동일한 방법으로 타이머 예제를 가져와보자.

 

 

난 이미 가져왔었기 때문에 아래처럼 보이지만, 처음 가져오면 아무것도 안 보인다. 

"폴더 선택"을 눌러서 추가하고 다시 ccs로 돌아온다.

Example_2806xCpuTimer.c를 열면 코드가 보인다. 이전 예제와 동일하게 Debug를 눌러 컴파일하고 다운로드를 실행한다. 

 

 

위 화면 처럼 보이면 성공.

 

F8을 눌러 실행해보자. 그냥.. 멍................. 하다 ㅋㅋㅋㅋㅋㅋ 타이머 변수가 증가하는 걸 확인해보자. 우측 상단에 Expressions가 보인다. 여기에 변수를 추가해주면 된다.

 

코드 중간쯤에 CpiTimer0~2까지 변수로 cpi timer를 설정하는 부분이 나온다. 이 변수들을 Expressions 창에 똑같이 입력해준다. 

 

입력하고 펼쳐보자.

구조체에 포함된 멤버가 보인다. 근데 변화가 없다. 

 

CCS는 조금 특이한(?) 방법으로 Live watch를 제공한다. 아래 그림처럼 시계 모양 버튼을 누른다. 

시계 모양을 누르고 Expression 창 오른쪽 상단에 Continuous Flash 버튼을 누르면 타이머 변수값이 실시간으로 변하는 걸 확인할 수 있다. 

 

 

그럼 내가 만든 Project에서도 똑같이 동작시켜보자!

 

 

Test Project를 열고 헤더 파일 먼저 추가해보자. 

 

 

이렇게 추가하고 빌드하면 에러가 발생한다. DSP28x_Project.h 의 경로를 추가해줘야 한다. 

 

Test Project를 선택하고 마우스 우클릭 -> Properties를 클릭해 설정으로 들어가서 Include Option에서 헤더 파일 경로를 추가해준다. 

여기까지 하고 빌드를 누르면 정상적으로 빌드가 되는 걸 확인할 수 있다.

 

나는 보통 이런 작업을 할 때 코드를 분석할 겸 옮겨가면서 빌드를 하고 에러가 발생하면 에러를 해결하고 넘어간다. 이걸 누가 보겠냐만... 이건 그냥 내 개인적인 방식이니 참고만 하길 바란다. 

 

 

main 함수에 가장 첫 번째 줄에 나오는 함수를 불러온다.

InitSysCtrl() 함수는 F2806x_SysCtrl.c 파일에 있다. 예제에 있는. c 파일과 .asm 파일을 모두 Test Project에 이 파일을 추가해주자. c2000 폴더에서 파일을 찾아서 Test Project로 복사하는 방법도 있지만 나중에 프로젝트가 커지면 파일관리가 힘들어지기 때문에 c2000 폴더에 있는 .c 파일을 그대로 가져오겠다.

 

 

 

파일의 구분을 위해서 아래처럼 폴더를 추가해서 나눠주자. 

라이브러리 .c 파일은 c2000_Lib 폴더에 추가하고 내가 만든 건 TJ폴더에 추가하도록 하겠다. Test Project를 선택하고 마우스 우클릭 -> New -> Folder를 선택해 폴더를 추가하고, 추가한 폴더를 선택하고 마우스 우클릭을 해 Import -> Import를 선택한다. 

 

 

 

그럼 아래와 같은 창이 보이는데, 여기서 General -> File System을 선택하고 Next 클릭

 

아래 창에서 Browse... 클릭해서  F2806x 라이브러리 파일이 모여있는 폴더를 선택한다. 

 

 

폴더를 선택하는 것이기 때문에 폴더 안에 내용은 보이지 않는다. C2000 라이브러리가 설치된 폴더로 이동해보면 .c 파일이 보인다. 폴더 선택 클릭!

 

폴더에 들어있는 .c 파일과 .asm 파일이 모두 보인다. 여기서 예제와 동일한 .c 파일을 찾아서 선택하고 FInish를 누른다.

F2806x_GlobalVariableDefs.c 파일은 header/source 폴더에 있다.

 

여기까지 추가하고 빌드하면 빌드는... 성공인데. 경고가 나온다.

 

 

F2806x_Headers_nonBIOS.cmd 파일도 추가해줘야 한다. 동일한 방법으로 추가해주면 되는데 F2806x_Headers_nonBIOS.cmd 파일은 C:\ti\c2000\C2000Ware_4_01_00_00\device_support\f2806x\headers\cmd\

이 경로에 있다.

 

컴파일을 하면 Advice 

Advice가 나오는데 컴파일 옵션에 관련된 내용이다. 이 부분은 나중에 알아보기로 하고, 우선 컴파일이 됐으니 다음 코드들도 옮겨보자! 

 

빌드하고 디버깅 고!

 

 

정상적으로 동작한다. 

 

여기까지 알아보면 SDK 활용과 개발환경 구성, 개발 방법 등을 모두 숙지했다고 할 수 있다. DSP로 어디까지 할 수 있는지 지금부터 확인해보자!

 

- 끝 -

728x90
반응형