태터데스크 관리자

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

태터데스크 메시지

저장하였습니다.

3. 프로젝트 구성하기

앞서 라이브러리 파일 생성을 목적으로 한 신규 프로젝트 생성까지 설명을 드렸습니다. 이제 생성된 프로젝트에 라이브러리 화 하고싶은 알고리즘을 추가해야 합니다. 저는 간단하게 아래와 같은 함수가 정의된 C 소스파일 1개와 그에 대한 헤더파일 1개를 추가했습니다.


 


32-Bit Floating Point 자료형 두 개를 곱하여 이를 반환하는 간단한 함수 입니다. 프로젝트 생성 당시 자동으로 생성되었던 'main.c' 파일의 내용을 수정하고 이름을 'Float32MPY'로 변경했습니다. 그리고 C 소스파일에 작성된 함수의 정의를 같은 이름의 헤더파일로 저장했습니다.


Output File(*.out)을 생성하는 경우, 코드 실행을 위해 각각의 성분들이 칩의 물리적인 메모리 주소 어느 번지에 배치되어야 하는지에 대한 정보가 필요합니다. 때문에 프로젝트에 링커 커맨드 파일(*.cmd)의 추가가 필수 입니다. 이 링커 커맨드 파일에는 링커(Linker)에게 코드 성분은 저 주소에... 상수들은 이 주소에 배치해라~ 하는 식의 각종 명령들이 포함되어 있습니다. 하지만, 라이브러리 파일은 그 자체로서의 실행을 목적으로 하지 않고, 단순히 여러 오브젝트들의 묶음 패키지와 같습니다. 때문에 필수적으로 링커 커맨드 파일을 필요로 하지 않습니다.


이제 라이브러리 파일 생성을 위한 프로젝트 구성이 완료되었습니다.



4. 프로젝트 빌드(Build)하기

이제 프로젝트를 빌드(Build)해서 'Float32MPY.lib' 파일을 만들어 보겠습니다. CCS 화면 상단 Project 메뉴에서 Build Project 항목을 클릭해주세요. 앞서의 과정들이 정상적으로 진행되었다면 아래와 같이 Console 창을 통해 Float32MPY.lib 파일이 잘 만들어졌다는 메시지를 확인할 수 있을 것 입니다.

>> Float32MPY.lib 파일경로 : C:\SyncWorks\CcsPractice\Float32MPY\Debug



 



5. 라이브러리 파일을 테스트용 예제에 추가하기

이제 앞서 만들어둔 라이브러리 파일을 다른 프로젝트에 추가해서 잘 동작하는지 확인해보겠습니다. TI가 ControlSUITE를 통해 기본 제공하는 칩-지원 예제들 중 하나를 가져와서 라이브러리 파일을 테스트 해보겠습니다. CCS 화면 상단 Project 메뉴에서 Import CCS Projects... 항목을 클릭하면 아래와 같은 창이 나타납니다.


 



'Select search-directory: ' 란 우측의 'Browse...' 버튼을 클릭하고,

탐색 창이 나타나면 아래의 경로를 선택해주세요.

>> 예제 탐색경로 : C:\ti\controlSUITE\device_support\F2837xD\v200\F2837xD_examples_Cpu1

 

 


그러면 'Discovered projects: ' 란에 TI가 기본 제공하는 칩-지원 예제들의 목록이 나타날 것 입니다. 여기서 blinky_cpu01 예제를 선택해주고, 그 하단에 'Copy projects into workspace' 옵션도 체크한 후 하단의 'Finish' 버튼을 클릭합니다.


 



blinky_cpu01 예제는 TMS320F28377D 칩의 GPIO31번 포트를 일정한 지연시간을 두고 반전(Toggle)시키는 간단한 예제 입니다. 이제 이 프로젝트에 앞서 만들어둔 'Float32MPY.lib' 라이브러리 파일을 추가해주세요. 윈도우즈 파일 탐색기를 통해 직접 해당 파일을 blinky_cpu01 예제 경로인 아래의 경로에 복사해줘도 되고, CCS 화면 상에서 해당 파일을 마우스 왼쪽버튼으로 선택하고 Ctrl + C 키로 복사한 후, 다시 마우스 왼쪽 버튼으로 blinky_cpu01 프로젝트를 선택하여 Ctrl + V 키로 복사해줘도 됩니다.

>> blinky_cpu01 예제경로 : C:\SyncWorks\CcsPractice\blinky_cpu01


 


 



테스트용 예제 프로젝트에 앞서 만들어둔 라이브러리 파일을 추가했으면 이제 해당 라이브러리 파일에 포함된 'Float32MPY( )' 함수를 사용하여 계산결과를 확인해볼 수 있습니다.


blinky_cpu01 예제 프로젝트의 메인 C 소스파일 상단에 적절히 함수와 변수들을 정의하여 Float32MPY( ) 함수를 호출해보세요.

 


 

 




6. 예제 실행 및 라이브러리 함수 실행결과 확인

이제 수정된 blinky_cpu01 예제 프로젝트를 빌드(build)한 후,

TMS320F28377x 칩에 담아서(Load) 실행(Run)해보세요.

result 변수에 정확한 결과 값이 저장되었나요?





어떤가요? 라이브러리 파일을 만들고 사용하는 것이 꽤 쉽죠?

다음 포스팅에서는 이번 주제의 마무리이자 하나의 활용 예로 TI가 제공하는 칩-지원 소스들을

라이브러리 파일 1개로 묶어보겠습니다.


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


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

댓글을 달아 주세요