태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.


우리는 TI의 TMS320F28X 계열이나 MSP430, C5000, C6000, ARM 등 여러 가지 프로세서 혹은 컨트롤러를 기반으로 한 펌웨어를 개발할 때 Code Composer Studio(이하 CCS) 라는 통합 S/W 개발환경을 이용하게 됩니다. 이것을 통해 원하는 소스 및 헤더들을 모아 프로젝트를 구성하고 컴파일하여 결과파일(Output File / *.out)을 생성하고 칩에 그것을 넣고 실행시켜 결과를 관찰하고 디버깅도 하곤 합니다. TI 칩을 다룸에 있어 필수적인 개발 툴이 CCS 인데요. 이 CCS가 가진 한 기능을 소개하고자 합니다.


TI 칩을 다루면서 CCS를 이용해보신 분이라면 CCS에서 프로젝트를 구성하고 여기에 여러 가지 소스파일(*.c / *.asm)들과 그것들이 필요로 하는 헤더파일(*.h), 라이브러리 파일(*.lib)들을 추가하여 컴파일하면 하나의 결과파일(Output File / *.out)이 생성된다는 것을 알고 계실 것 입니다. 이 결과파일은 칩에 다운로드되어 실행되어 칩이 사용자가 원하는 동작을 하도록 해줍니다.


미리 구성된 프로젝트를 통째로 가지고 있다면, 거기에 포함된 소스파일, 헤더파일들의 내용을 모두 열람할 수 있고, 수정도 가능합니다. 하지만, 라이브러리 파일은 어떨까요?


라이브러리 파일은 그 안의 코드를 볼 수 없습니다. 단, 사용자가 라이브러리 파일안에 포함된 함수 및 코드들을 이용할 수는 있습니다. 이런 특징이 어떨때 유용할까요?


가령 A와 B가 공동으로 어떤 프로젝트 펌웨어를 개발한다고 가정해보겠습니다. A와 B는 각자 맡은 부분이 서로 다르고 해당 부분에 대한 펌웨어 개발을 담당하고 있습니다. 하지만 전체 시스템의 테스트를 진행하려면 각각의 알고리즘들이 서로 유기적으로 협업해야 하므로 각자가 짠 펌웨어를 서로 통합해야 합니다.


여기서 문제가 있는데요. A와 B는 서로의 알고리즘이 상대에게 공개되는 것을 싫어합니다. 하지만, 상대가 내 알고리즘을 실행하여 전체적인 시스템의 동작을 테스트할 수는 있게 해줘야 합니다. 어떻게 해야 할까요?


상대에게 내 알고리즘 코드가 포함된 함수를 라이브러리 파일로 제공하면 됩니다. 라이브러리 파일화 하여 제공할 경우 상대는 내 알고리즘을 실행시킬 수 있지만 그 안의 코드 구성을 볼 수는 없습니다.


물론, 라이브러리 파일과 함께 라이브러리 화 된 코드들이 필요로 하는 헤더파일들은 함께 제공해야겠지요. 라이브러리 파일과 그에 대한 헤더파일을 넘겨받은 사람은 헤더파일에 기술된 함수 정의를 통해 함수 이름, 반환형, 인자 등을 파악하고 그것을 자신의 프로젝트에서 호출하여 사용할 수 있습니다. 어떤가요? 완벽하죠~?!


그럼 이제 CCS v6.x 에서 라이브러리 파일을 생성하려면 어떻게 해야 하는지 살펴보겠습니다.

제가 사용한 개발환경은 아래와 같습니다.


CCS 버전 : 6.2.0.00050

C2000 컴파일러 버전 : TI v15.12.3.LTS

프로세서 : TMS320F28377D



1. CCS 실행하기

단축아이콘이나 프로그램 메뉴를 통해 PC에 설치된 CCS를 실행합니다. CCS를 실행하면 가장 먼저 작업경로(Workspace)를 어디로 지정할 것인지 묻는 창이 나타나는데요. 적당한 디렉터리 경로를 지정해줍니다. 전 다음과 같은 경로를 지정했습니다.

>> 작업경로(Workspace) --> C:\SyncWorks\CcsPractice


 


OK 버튼을 클릭하면 해당 작업경로를 기반으로 CCS가 실행됩니다.



2. 새로운 프로젝트 생성하기

정적 라이브러리(Static Library) 파일 생성을 위한 신규 프로젝트를 하나 만들어 줍니다. CCS 화면 상단 Project 메뉴의 'New CCS Project...' 항목을 클릭하면 아래와 같은 새 프로젝트 생성 창이 나타납니다.


 

 

 


제일 위쪽의 'Target: ' 항목은 내가 사용할 프로세서를 지정하는 부분 입니다. 저는 TMS320F28377D를 사용하겠습니다.


'Project name: ' 란은 새로 생성할 프로젝트의 이름을 지정하는 부분 입니다. 후에 생성될 라이브러리 파일의 이름도 이 프로젝트 이름을 사용합니다. 저는 'Float32MPY' 라는 이름으로 프로젝트를 생성하겠습니다.


'Compiler version: ' 란은 딱 봐도 아시겠죠? ^^; 사용할 컴파일러 버전을 여기서 지정할 수 있습니다.


그 다음이 중요한데요. 'Advanced settings' 그룹 좌측의 조그만 삼각형 아이콘을 클릭해서 하위 구성들을 펼쳐주세요. 그럼 그룹명 아래쪽에 'Output type: ' 이란 항목을 보실 수 있을 것 입니다. 기본값은 Executable 인데요. 이 옵션 그대로 프로젝트를 생성하게 되면 컴파일의 결과로 1개의 Output File(*.out)을 생성하게 됩니다. 우리는 라이브러리 파일을 만들 것이니 이 옵션을 변경해줘야 합니다. 드롭다운 메뉴를 열어보면 다음과 같은 옵션들이 있음을 볼 수 있습니다.


Executable

Static Library

Other...

 


 

 


'Static Library' 옵션을 선택해주세요.


그리고 맨 하단의 'Project templates and examples' 그룹에서 'Empty Project (with main.c)' 옵션을 선택해줍니다.


'Finish' 버튼을 클릭하면 위에서 지정한 옵션을 기반으로 한 새 프로젝트가 생성됩니다.







이어지는 포스트에서 그 뒤의 과정들을 알아보겠습니다. (^^)/"




CodeComposerStudio,CCS,라이브러리,StaticLibrary,Library,TMS320F28377,Project,프로젝트,TIP,팁


 

저작자 표시
신고
Posted by 남상일

댓글을 달아 주세요

티스토리 툴바