일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 중국경제
- 스크리닝
- 기업분석
- 유상증자
- 코로나19
- 넬로넴다즈
- 국제유가
- Python
- 금리인상
- 마법공식
- WTI유
- 머신러닝
- 엘론 머스크
- 제다큐어
- 테슬라
- 미국금리
- DSP
- 주가분석
- 뇌졸중
- 경제위기
- 지엔티파마
- 주식투자
- WTI
- 퀀트
- 아모레퍼시픽
- 반려견치매
- 뉴지스탁
- prometheus
- FOMC
- 중국증시
- Today
- Total
Data Analysis for Investment & Control
DSP 개발환경 꾸미기 본문
어느덧 공학자의 길을 선택한지 10년이 넘어가고 있습니다. 특히나 로봇 공학을 선택하게 되면서 다른 학문에 비해 다양한 분야의 지식을 다루어야 하는 점 때문에, 모르던 것도 이것저것 찾아서 하게 되는 습관이 조금은 들여진 것 같습니다. 어떤 일이든 마찬가지 겠지만, 로봇 분야도 처음 시작이 어렵습니다. 어디서 부터 어떻게 시작해야 할지 감이 잡히지 않아 시행착오도 많이 겪게되고, 그로 인해 쉽게 포기하는 일도 생기게 되는 것 같습니다.
여기서 설명하게 될 DSP 개발환경을 꾸미는 일 또한 그렇죠. TI의 DSP 시리즈는 꽤나 강력한 프로세서지만, 한국에는 아직 제대로된 개발 서적도 없고, 사용하는 법도 쉽지 않습니다. 따라서, ATmega 128과 같은 8비트 MCU는 쉽게 시작할 수 있지만, DSP는 상대적으로 시간과 노력이 필요로 합니다. 저도 학부 4학년때 살짝 건드려보고는 이후로 만질 일이 없다가, 올해 들어서 다시 시작하게 되었는데, 개발환경 설정하는 것부터 시간을 많이 잡아먹어서 고생이라면 고생 좀 했습니다.
여기서는 TI에서 제공하는 패키지를 활용해서 쉽게 개발환경을 설정하는 법을 설명하도록 하겠습니다.
먼저, TI DSP의 펌웨어를 개발하기 위해서는 TI의 Code Composer Studio IDE(이하 CCS)라고 하는 개발 툴이 필요합니다. CCS는 TI 홈페이지(ti.com)에서 평가판을 받아서 사용해셔도 되고, 파일 공유 사이트에서 크랙판을 구하실 수도 있습니다. 이런건 개인의 자유에 맡기기로 하고, 그럼 CCS를 설치해 보도록 하죠.
CCS 3.3버전 설치 초기 화면입니다. 개발 툴 설치하는 과정이야 뻔하니 계속 다음 다음 다음을 클릭 하세요..^^;
설치 타입을 뭍는 창이 나타나는데 첫 번째, 'Typical install'을 선택하시면 됩니다. 그러면, 설치 디렉토리 경로와 요구하는 디스크 사이즈가 나오고 설치할 수 있다는 메시지가 뜹니다.
설치를 진행합니다.
이런 메시지가 나오면 센스있게 그냥 궁금증을 갖지 말고 확인을 누르세요.^^
설치가 완료 되었습니다.
바탕화면에 위와 같은 아이콘이 생긴 것을 볼 수 있을 겁니다. 이제 'Setup CCStudio v3.3' 아이콘을 더블클릭하여 셋업 화면으로 들어갑니다.
아마도 처음 CCS를 설치하시는 분들은 위의 그림과 같은 리스트가 없을 것입니다. 왜 그럴까요? TI DSP가 가지고 있는 장점 중에 하느는 JTAG 에뮬레이터를 통한 실시간 디버깅이 가능하다는 점입니다. 이것을 가능하게 해주는 JTAG 에뮬레이터라는 하드웨어 장비가 있어야 하는데, 이것을 PC에 연결시키고 CCS에서 에뮬레이터를 사용할 수 있도록 드라이버를 설치해 주어야만 하죠. 그래야지만, 위의 그림처럼 자신이 사용하고자 하는 에뮬레이터 리스트를 볼 수 있습니다.
저의 경우에는 디바이스 마트(devicemart.co.kr)에서 파는 DSP나라의 에뮬레이터를 사용하였습니다. 그래도 구할 수 있는 에뮬레이터 중에는 가장 저렴하지 않을까 여겨집니다. 물론 TI에서 인증하는 정식 에뮬레이터는 아닙니다. 공식적으로 지원하는 고가의 에뮬레이터를 구입하고자 하시는 분들은 TI 홈페이지나 국내 DSP 전문 교육기관인 싱크웍스(tms320.co.kr)에서 구입이 가능합니다.
F28335 SYXDS510USB Emulator를 선택하였습니다. 이름에서 알 수 있듯이 TMS320F28335 버전의 DSP 칩을 기반으로 개발을 진행하겠다는 뜻입니다. 제가 만든 DSP 보드를 테스트 하기 위해서 이와 같은 설정을 진행하고자 합니다. 저의 TMS320F28335 제어용 DSP 보드의 제작과정이 궁금하신 분들은 아래의 링크를 참고하시기 바랍니다.
http://nerve.tistory.com/entry/아슈람의-DSP-제어보드-만들기1-개요
http://nerve.tistory.com/entry/아슈람의-DSP-제어보드-만들기2-회로도
http://nerve.tistory.com/entry/아슈람의-DSP-제어보드-만들기3-PCB-아트웍
http://nerve.tistory.com/entry/아슈람의-DSP-제어보드-만들기44-조립-및-테스트
JTAG 에뮬레이터의 설치 방법은 에뮬레이터를 어떤 것을 선택하느냐에 따라 달라지기 때문에, 스킵하도록 하겠습니다. 에뮬레이터 설치를 마치고 CCS Setup 과정을 마치면 CCS를 실행할 수 있습니다.
아직 에뮬레이터에 연결이 되지 않은 상태입니다. 만약 JTAG 에뮬레이터가 PC에 연결되어 있고, DSP 보드가 JTAG 에뮬레이터에 연결되어 있으면, Alt + C를 누르면 연결이 될 것입니다.
이제 기본적인 CCS 개발툴 설치가 끝났습니다. 이제부터 뭘 할까요? 프로그램을 개발해야겠죠? CCS에도 비주얼 스튜디오에서 프로젝트 위자드 기능을 이용해 쉽게 기본적인 프로그램을 만들 수 있도록 하는 편리함이 있으면 좋겠지만, 아쉽게도 그런 기능은 없습니다. 그래서 TI에서는 DSP의 주요 기능들을 따라 해볼 수 있도록 다양한 예제 프로그램들과 이를 서포트하기 위한 헤더 및 소스 파일들을 만들어 놓았습니다. 이제는 프로그램을 쉽게 개발할 수있는 환경을 만들어 보도록 하겠습니다.
TI 웹사이트에서 다음 링크(http://focus.ti.com/docs/toolsw/folders/print/sprc530.html)를 클릭하여 SPRC530이라는 패키지를 다운 받습니다. 압축을 풀고 프로그램을 설치합니다.
설치를 하게 되면, C:\tidcs 디렉토리가 생성되고 이 폴더 안에 28xx 버전의 DSP와 관련된 헤더 파일 및 예제 소스들이 존재하게 됩니다.
CCS에서 예제 파일을 열어보도록 하겠습니다.
CCS 메뉴에서 Project > Open을 선택하면, 파일을 열기위한 대화창이 뜨게되고, C:\tidcs\c28\DSP2833x\v120\DSP2833x_examples 디렉토리를 찾아들어가면, 주요 DSP 기능들을 테스트 해보기 위한 예제들이 들어 있는 것을 볼 수가 있습니다.
예제 프로젝트들 중 하나를 열면, 위의 그림과 같이 헤더파일과 소스파일, 그리고 커맨드 파일이 프로젝트에 포함되어 있는 것을 볼 수가 있습니다.
프로그램을 개발해 본 분이라면 알겠지만, 우리가 우리의 프로그램을 개발할 때에도 위의 예제 프로젝트처럼 원하는 DSP 기능과 관련된 헤더 파일 및 소스 파일들을 포함시켜야 합니다. SPRC530 패키지를 설치한 디렉토리에는 몇 개의 서브 디렉토리가 있는데, 각각의 폴더에 존재하는 다양한 파일들에 대한 설명은 SPRC530 패키지에 포함되어 있는 기술문서(DSP2833x_HeaderFiles_QuickStart_Readme.pdf)에 설명되어 있습니다.
이제 우리는 SPRC530 패키지의 활용하여 우리가 개발하고자하는 DSP 프로그램을 기능에 맞게 관련 함수를 불러다 쓸수도 있고, 관련 레지스터로 설정할 수가 있게 되었습니다. 이제 C언어로 프로그램을 코딩하여 필요할 때마다 컴파일을 통해 프로그램에 에러를 체크하면서 개발하시면 되겠습니다.
PS) DSP 개발을 처음 시작할 때 어려운 부분 중에 하나는 빌드 옵션(Build Options..)을 설정해 주는 것입니다. 오늘은 밤이 늦은 관계로 이 내용은 다음에 추가하도록 하겠습니다.^^
'Robotics > Hardware' 카테고리의 다른 글
[DSP 성능 향상] 플래시 모드 성능 높히기 - 인터럽트 벡터 램에 복사하기 (0) | 2010.10.06 |
---|---|
IEEE 754-2008 Decimal Floating Point Format (1) (0) | 2009.08.30 |
CPU 아키텍처 설계 - 파이프라인(Pipeline)의 이해 (2) | 2009.07.02 |
DSP를 이용한 CAN 통신 (0) | 2009.06.17 |
BLDC 모터의 원리 (12) | 2009.06.15 |