11/15/2010 Luminary Micro 사의개발보드와호환되는 USB JTAG Luminary Micro 사에서출시하는 LM3S 시리즈의 Cortex 프로세서와연결하여플래시메모리에프로그램을기록하고, 소스레벨디버깅이가능한 USB JTAG 장치입니다. 추가로 USB2UART 기능을제공하여개발하는보드와 PC 사이의 UART 통신을추가장치없이손쉽게구현할수있습니다.
Stellaris-JTAG 제품소개 제품특징 PC 가아닌임베디드마이크로프로세서를이용해프로그램을작성할때가장불편한부분은디버깅입니다. PC 처럼소스의해당부분에브레이크포인트를배치하고원하는변수값이나레지스터값을확인할수있으면매우편리합니다. Stellaris-JTAG 은 Luminary Micro 사에서출시한 Cortex 제품군들과연결하여내부플래시퓨징뿐만아니라소스레벨의디버깅기능을제공하는 USB JTAG 장치입니다. 또한추가로 USB2UART 기능을추가로배치하여개발시빈번히이뤄지는시리얼통신실험도하나의장비에서가능하도록구현하였습니다. 특징요약 Luminary Micro 사의개발보드와호환되는 JTAG OpenOCD 를이용한플래시퓨징, 소스레벨디버깅지원 무료이클립스통합개발환경에서소스레벨디버깅가능 각종레지스터값및메모리값참조가능 원하는개수만큼브레이크포인트생성 USB 전원공급 (750mA 이상의전류소비시자동전원차단기능 ) 추가 USB2UART 포트제공 ( 별도의시리얼포트불필요 ) USB 포트하나로 JTAG 기능과 USB2SERIAL 기능을사용할수있음 응용분야 Luminary Micro 사의 ARM Cortex-M3 프로세서개발 임베디드보드와 PC 의시리얼통신 임베디드보드에 5V 전원공급 지원 OS Windows 98/XP/Vista www.withrobot.com Page 1
구성품 Stellaris-JTAG 보드 1 장 JTAG 연결용 8 핀케이블 1 개 USB 케이블 외형치수및커넥터설명 외형치수 그림 1 Stellaris-JTAG 외형치수 인터페이스커넥터 J1 그림 2 J1 커넥터위치 J1 은개발하는보드와 UART 통신을지원하는포트입니다. 1 번핀에서는 5V 전원공급을할수있어 400mA 이하의저전력보드일경우별도의전원필요없이 Stellaris-JTAG 의 J1 과연결하는것만으로보드를동작시킬수있습니다. 과전류로인해 Stellaris-JTAG 및 PC 가파손되는것을막기위해 750mA 이상전류를소비하면자동으로전원을차단하는퓨즈 (fuse) 가내장되어있습니다. 퓨즈는수분이지난후자동으로복귀되는재사 www.withrobot.com Page 2
용가능한퓨즈을사용하였으므로문제가발생한경우는해당보드와의결선을제거하 고, 수분후에다시 PC 와 Stellaris-JTAG 을연결해보시기바랍니다. 퓨즈로 PC 를기본 적으로보호할수는있습니다만, 가능한동작이검증된보드와연결해서사용하시기바 랍니다. 또한 PC 의제조사에따라 USB 버스파워가 500mA 까지공급하지못하는경우 도종종있습니다. 이경우는외부에별도전원을가지는 USB 허브를이용하시면해결하 실수있습니다. 전원오삽및기타다른이유로인해과전류로인한시스템파손에대해 제조사는책임지지않습니다. J1 커넥터에연결되는 female 커넥터모델번호는 molex 사의 51004-04 입니다. J1 신호이름 용도 1 5V USB 버스파워출력 2 RXD UART 의 RXD(I) 3 TXD UART 의 TXD(O) 4 GND 접지신호 전원공급커넥터 J2 그림 3 J2 커넥터위치 Stellaris-JTAG 내부에서 3.3V 를필요로하기때문에 LM1117 전압레귤레이터를통해 3.3V 를생성합니다. Stellaris-JTAG 내부에서는수십 ma 수준의전류만소비하기때문 에외부에서 3.3V 가필요한경우 J2 를통해전원을공급받을수있습니다. 전원소스는 USB 버스파워이므로전체소비전력은 2.5W 를넘어설수없습니다. 소비전류가 100mA ~ 200MA 내외의보드라면 J2 를통해 3.3V 공급을사용하실수있습니다. J2 커 넥터에연결되는 female 커넥터모델번호는 molex 사의 5264-04 입니다. J2 신호이름 용도 1 3.3V OUT 3.3V 전원공급 2 GND 접지신호 www.withrobot.com Page 3
표준 JTAG 커넥터 J3 표준 JTAG 은 20 핀 100mil 피치의 2 열헤더핀을사용합니다. Stellaris-JTAG 에서는케이블의오삽입을막기위해헤더박스로커넥터를구성하였습니다. 플랫케이블로타겟보드와연결합니다. 그림 4 J3 커넥터위치 J3 신호이름 용도 J3 신호 용도 1 JTAG Power 타겟보드에서 JTAG 통신에사용할전압레벨을알려주는핀 2 JTAG Power 타겟보드에서 JTAG 통신에사용할전압레벨을알려주는핀 3 ntrst 출력 4 GND 접지 신호. 5 TDI JTAG 신호. 출력. 6 GND 플랫케이블에서 각 7 TMS JTAG 신호. 출력. 8 GND 신호선 사이에 9 TCK JTAG 클록. 출력. 10 GND GND 가배치되어 11-12 GND 노이즈에영향을덜 13 TDO JTAG 신호. 입력. 14 GND 받도록하기위해 15 RST 출력 16 GND 짝수번호핀에는 17 DB_REQ 출력 18 GND 모두 GND 신호를 19 DB_ACK 입력 20 GND 배치. www.withrobot.com Page 4
간략화된 JTAG 커넥터 J4 그림 5 J4 커넥터위치 표준 JTAG 커넥터는신호의안전한전달을위해신호선사이에 GND 신호를배치하는바람에상대적으로큰공간을차지합니다. 최근프로세서보드들은가능한작게만드는것이추세인데, JTAG 커넥터가워낙많은공간을차지해서전체보드에서커넥터가차지하는공간이상당히부담스러워집니다. 이러한단점을해결하고자 JTAG 신호선중에서사용하는신호선만 2mm 피치의커넥터로모아둔커넥터가 J4 입니다. 위드로봇에서제작하는 mycortex 시리즈보드에서는 Stellaris-JTAG J4 와 1:1 대응되는커넥터를배치하여간략화된 JTAG 커넥터를지원합니다. Stellaris-JTAG 을구매하실때들어있는 8 핀케이블을이용하여손쉽게 JTAG 기능을사용하실수있습니다. LED 표시 Stellaris-JTAG 보드에는총 4 개의 LED 가장착되어있습니다. 그림 6 Stellaris-JTAG 보드에서 LED 위치 www.withrobot.com Page 5
D1 : Stellaris-JTAG 보드가 USB 포트와연결이되면 LED 에불이들어옵니다. 이 LED 로 USB 전원연결및연결상태를파악할수있습니다. D2 : RX 신호가있는경우깜박입니다. D3 : TX 신호가있는경우깜박입니다. D4: JTAG 이연결될경우 LED 에불이들어옵니다. JTAG 을연결했을때이 LED 에불이들어오지않으면타겟보드의전원또는 JTAG 케이블의 1 번핀상태를확인해보시기바랍니다. 관련자료 withrobot Lab. 의홈페이지에서는 Stellaris 제품군에대한다양한응용예를데모로보여 드리고있습니다. 자주접속하셔서다양한예제를참고하시기바랍니다. 디바이스드라이버설치및설치확인방법 드라이버설치 Stellaris-JTAG 은 JTAG 기능과함께 USB2UART 기능을추가로제공합니다. 따라서 JTAG 관련하여디바이스드라이버를한번설치하고, USB2UART 와관련하여디바이스드라이버를두번 ( 한번은 USB 드라이버, 한번은가상컴포트드라이버 ) 설치해야합니다. 1 http://www.withrobot.com/entry/stellaris-jtag 에서압축된디바이스드라이버를내려받습니다. www.withrobot.com Page 6
그림 7 Stellaris-JTAG 디바이스드라이버내려받기 2 내려받은드라이버파일압축을풀고 Stellaris-JTAG 을 PC 와 USB 케이블로연결하 면다음과같이장치를인식합니다. 그림 8 windows 에서 Stellaris-JTAG 장치인식 3 다음부터는전형적인디바이스드라이버설치과정이진행됩니다. 이해를돕기위해 각단계별로스크린을캡쳐하여제시합니다. www.withrobot.com Page 7
그림 9 디바이스드라이버가있는위치를직접지정하도록선택합니다. 그림 10 압축을풀어놓은폴더를지정합니다. 그림 11 첫번째단계에서설치된장치는 JTAG 입니다. 장치관리자에서는 Stellaris Evaluation Board A 로표시됩니다. 그림 12 바로다음장치가설치됩니다. 장치이름은 Stellaris Evaluation Board B 이며가상컴포트를생성합니다. www.withrobot.com Page 8
그림 13 앞서선택한동일한폴더에해당디바이스드라이버가있습니다. 그림 14 USB 드라이버설치완료 4 계속해서한번더디바이스드라이버가설치됩니다. 이는가상컴포트를생성하기 위한드라이버를요구하는것으로이역시압축을푼같은폴더에필요한파일이들 어있습니다. 그림 15 USB Serial Port 설치 www.withrobot.com Page 9
그림 16 드라이버가있는폴더는동일합니다. 그림 17 드디어설치완료 5 설치확인을위해장치관리자를열어서설치된하드웨어를확인합니다. 시작버튼의 제어판을선택하면아래그림과같은다이얼로그창이뜹니다. 이곳에서 성능및유 지관리 를선택한후다시시스템을선택합니다. 그림 18 제어판 -> 성능및유지관리선택 -> 시스템선택 www.withrobot.com Page 10
시스템등록정보에서 [ 장치관리자 ] 를선택하면현재설치된장치들의목록을볼수있 습니다. 그림 19 시스템등록정보 그림 20 Stellaris-JTAG 장치가설치된모습 www.withrobot.com Page 11
JTAG 기능은 Stellaris Evaluation Board A 를통해구현되고추가로제공되는 USB2Serial 기능은 Stellaris Evaluation Board B 를통해구현됩니다. Stellaris-JTAG 을연결했을때 생성된장치들의목록을잘기억해두시기바랍니다. COM 포트번호변경 기존마더보드에장착되어있는하드웨어 COM 포트와는달리 Stellaris-JTAG 의가상컴포트는포트번호를사용자가원하는번호로변경할수있습니다. 1 장치관리자의 USB Serial Port 항목에서마우스오른쪽버튼을클릭하여보조메뉴중에서 [ 속성 ] 을선택합니다. 그림 21 장치관리자에서해당항목에서오른쪽마우스버튼을클릭후 [ 속성 ] 선택 2 아래그림과같은 Stellaris Virtual Com Port 다이얼로그창이뜹니다. Port Settings 탭을클릭한후 [Advanced...] 버튼을클릭합니다. www.withrobot.com Page 12
그림 22 Port Settings 탭에있는 [Advanced ] 버튼 3 설치한가상포트에대해좀더자세한설정을할수있는고급설정다이얼로그창이뜹니다. 이중상단에있는 COM Port Number 콤보박스를열면변경할수있는 COM 포트번호가출력됩니다. 원하는번호를선택하시면됩니다. 설명서에서는 COM 7 로변경해보겠습니다. www.withrobot.com Page 13
그림 23 포트번호변경 4 변경한후장치관리자를다시열어확인해보면, COM4 가 COM7 로바뀐것을확 인할수있습니다. 이기능을이용하면사용자가원하는 COM 포트로변경후사용하 실수있습니다. 그림 24 변경된 COM 포트 마이크로컨트롤러와연결 mycortex-lm808 모델과의연결예 Stellaris-JTAG 에있는 J2 를이용하여 mycortex-lm808 의 J1 에아래그림처럼 4 핀케이블로연결하면별도의전원공급필요없이 USB 버스전원으로보드에전원을공급함과동시에시리얼통신을실험할수있습니다. JTAG 기능은 Stellaris-JTAG 의 J4 와 mycortex-lm808 의 J4 를아래그림처럼 8 핀케이블로연결하면됩니다. 아래의구성으로 PC 에서작성한프로그램을 Cortex 프로세서내부플래시에기록할수있으며, 소스레벨의디버깅도수행할수있습니다. 또한시리얼통신기능도지원하므로다양한 UART 통신실험도별도의장비필요없이수행할수있습니다. www.withrobot.com Page 14
그림 25 mycortex-lm808 과 Stellaris-JTAG 연결모습 8 핀케이블이 JTAG 연결선이며, 4 핀케이블은전원공급및시리얼통신연결선 개발환경설치 Stellaris-JTAG 을사용하여펌웨어를프로그래밍하거나소스레벨디버깅을할때에는 eclipse 와 OpenOCD, GDB 조합을추천합니다. Eclipse 는소스프로그램편집기의역할을담당하고, OpenOCD 는 JTAG 인터페이스역할을담당합니다. GDB 는디버거로서모두오픈소스로별도의지불없이다운받아사용할수있습니다. 이장에서는각각의소프트웨어툴을설치하는방법에대해살펴봅니다. 오픈소스툴을이용하여개발환경을설치할때가장큰어려움은문제가생겼을때어느누구에게도도움을청할수없다는점입니다. 본설명서에서는이러한문제점을조금이나마해결해보고자가능한상세히설명하였습니다. 차분히본설명서의순서대로진행하시면개발환경을구축하실수있을겁니다. GDB 설치 GDB 는별도로설치하지않고, GCC 를설치하면같이설치되게됩니다. GCC 는여러플랫폼에맞는다양한버전이있으며, withrobot lab 에서는 Code Sourcery 에서배포하는 CodeSourcery G++ lite 를추천합니다. 아래주소에서 GCC 설치파일을다운로드해서설치할수있습니다. http://www.codesourcery.com/gnu_toolchains/arm/download.html www.withrobot.com Page 15
그림 26 CodeSourcery G++ Lite : EABI 그림 27 CodeSourcery G++ Lite : Windows Installer 위화면과같이다운로드할바이너리를선택해서파일을내려받습니다. 용량은대략 70MB 안팎입니다. www.withrobot.com Page 16
내려받은파일을더블클릭하여실행시키면 CodeSourcery G++ Lite 설치가시작됩니 다. 여러선택사항이있습니다만, 기본설정값을유지하며설치하는과정은아래와같습 니다. 아래이미지중좌측하단단계의 PATH 환경변수등록만기본설정이아닙니다. 그림 28 CodeSourcery G++ 설치과정 CodeSourcery G++ lite 의설치가끝나면환경변수 PATH 에설치한폴더가자동으로추 가됩니다. 컴파일과정에서는이 PATH 환경변수의값을통하여컴파일러와링커를찾아 가게되므로환경변수값이제대로등록되는것이중요합니다. www.withrobot.com Page 17
이클립스 (Eclipse) 설치이클립스는이곳 (http://www.eclipse.org/downloads/) 에서내려받을수있습니다. Eclipse IDE for C/C++ Developers Windows 를선택하여다운로드합니다. 사용하는이클립스는헬리오스 (Helios) 버전입니다. 버전이다른경우프로젝트파일설정이호환되지않으므로주의하시기바랍니다. 만일이클립스의새로운버전이발표되어위링크에서헬리오스버전을다운로드받을수없는경우다음링크에서다운로드받으실수있습니다. http://wiki.eclipse.org/older_versions_of_eclipse 그림 29 이클립스를내려받는곳 이클립스는설치할필요없이원하는폴더에압축을풀어두기만하면됩니다. 본설명서에서는 C:\Program Files\eclipse 폴더에압축을풀어놓은경우를가정합니다. 압축을푼다음에는해당폴더에서 eclipse.exe 를실행하면이클립스가시작됩니다. 이클립스는자바환경에서동작하므로해당컴퓨터에자바런타임라이브러리가설치되어있어야합니다. 만일설치가되어있지않다면다음과같은윈도우창이뜨고이클립스는실행되지않습니다. www.withrobot.com Page 18
그림 30 JRE 또는 JDK 가설치안되었을경우이클립스를실행시키면뜨는윈도우 자바런타임라이브러리는 http://www.java.com/getjava 에서내려받을수있습니다. 자 바런타임라이브러리를설치하신후이클립스를다시실행시켜보시기바랍니다. 자바 설치과정은설명서뒷부분에부록에첨부해두었습니다. 그림 31 JRE 내려받기 이클립스는자주사용하게될것이므로시작메뉴나바탕화면, 작업관리자등에단축아 이콘을만들어두면편하게사용할수있습니다. JRE 를설치한후이클립스초기실행 화면모습은다음과같습니다. www.withrobot.com Page 19
그림 32 이클립스설치후최초실행화면 위그림 32 은이클립스에서 workspace 로사용할폴더를설정하기위해보여지는화면입니다. 이클립스는 workspace 라는개념으로프로젝트파일들을관리합니다. 이클립스에서는프로젝트단위로소스를관리할수있으며, 여러개의프로젝트가모여하나의 workspace 를이룹니다. workspace 는디스크상의폴더와동일하게취급됩니다. 위그림에서 workspace 로사용할폴더를입력할것을요구하고있으며, 각자취향에따라소스들을관리할폴더를지정해주면됩니다. workspace 는원하는만큼여러개를만들어사용할수있고, 쉽게전환가능합니다. 참고로 withrobot lab 에서는 mycortex-lmnnnn 시리즈프로세서보드에사용할수있는예제들을제공하고있으며, 이예제들은모두하나의 workspace 로구성되어있습니다. 예를들어 mycortex-lm808 용예제가 C:\StellarisWare\examples\myCortex- LM808 폴더에설치되어있다면그림 32 에서 workspace 위치에 C:\StellarisWare\examples\myCortex-LM808 를입력하거나 Browse 버튼을클릭하여해당폴더를지정해주면됩니다. 본매뉴얼에서는위드로봇에서제안한형태로 PC 에개발환경및예제코드가설치되어있다는가정하여설명합니다. 예제코드설치방법은 mycortex-lmx08 홈페이지나 mycortex-lm8962 홈페이지에있는사용설명서를참고하시기바랍니다. www.withrobot.com Page 20
그림 33 이클립스실행초기모습 빈 workspace 이클립스가정상적으로기동된다면이제 JTAG H/W 디버깅을위한이클립스플러그인 을설치해야합니다. 메뉴에서 'Help' -> 'Check for Updates' 를선택하면다음그림과같 이 Software Updates 윈도가나타납니다. 이단계에서는 eclipse 의업데이트된버전이있는지확인하고있다면다운로드하여업데이트받을수있도록합니다. 이작업은네트워크상태에따라많은시간이걸릴수도있습니다. Check for Updates 가끝난후에다시메인메뉴에서 Help -> Install New Software 를선택하면아래와같은윈도가나타납니다. www.withrobot.com Page 21
위그림에서붉게표시한 Available Software Sites 를클릭합니다. 위와같이표시되는윈도에서 http://download.eclipse.org/tools/cdt/release/helios 라고 표시된줄을선택한후우측의 Enable 버튼을클릭하고 Ok 버튼을클릭해창을닫습니 다. www.withrobot.com Page 22
상단의콤보박스에방금전에 Enable 시켰던 http://download.eclipse.org/tools/cdt/ release/helios 가추가되었습니다. 이를선택하면약간의시간이지난후아래에선택가능한소프트웨어목록이표시됩니다. 항목이표시되기까지는네트워크연결상태와서버상태에따라수초에서수분의시간이걸릴수있으며이동안에는 Pending 이라는문구가표시됩니다. www.withrobot.com Page 23
CDT Optional Features 항목좌측의 + 를클릭하여확장시켜위그림과같이 Eclipse C/C++ GDB Hardware Debugging 항목좌측의선택상자를체크한다음 Next 버튼을 클릭합니다. Next 버튼을클릭한후표시되는우측화면에서 Elipse Fundation Software User Aggrement 를선택해서출력되는라이선스에동의하고 Finish 를클릭하면설치가마무 리됩니다. 이제이클립스를다시시작하면됩니다. Cygwin 설치 Cygwin 은아래주소에서인스톨러를다운로드받을수있습니다. Cygwin 의인스톨러는설치에필요한파일을모두가지고있는대신사용자가선택한옵션에따라필요한파일들만인터넷에서실시간으로가져와서설치하는방법을사용하고있기때문에인스톨러자체는수백킬로바이트정도의크기입니다. http://www.cygwin.com/setup.exe 위주소의파일을다운로드받아실행하면아래그림과같이진행하면서설치하게됩니다. www.withrobot.com Page 24
그림 34 Cygwin 설치 설치과정중 Choose Download Site 단계에서는나열된사이트중어느곳이나선택할 수있습니다. 단, 국내의서버를선택하면다운로드와설치가빨리진행되는이점이있습 니다. 위의그림에서는 ftp://ftp.kaist.ac.kr 을선택하였습니다. www.withrobot.com Page 25
그림 35 Cygwin 설치 - 패키지선택 Select Packages 단계에서화면우측상단의 View 버튼을한번클릭하면 View 버튼옆의 Category 문구가 Full 로변경됩니다. 이때화면중앙리스트의 Package 항목에서 make: The GNU version of the make utility 를찾아 New 항목의 Skip 을마우스로클릭하면 Skip 이 3.81-2 와같은버전이름으로바뀌게됩니다. 이버전은 make 유틸리티의버전이며, 바뀔수있습니다. 마찬가지방법으로 Package 중 perl: Larry Wall s Practical Extracting and Report Language 를찾아 New 항목의 Skip 을마우스로한번클릭하면 5.8.8-4 와같은문자로바뀌게됩니다. 이제다음단계로진행하면됩니다. 그림 36 Cygwin 설치 - 마지막단계 www.withrobot.com Page 26
Cygwin 설치가끝나면환경변수에 cygwin 설치경로를등록해야합니다. 바탕화면의 내컴퓨터 아이콘에마우스오른쪽버튼을클릭하여 속성 윈도를열고고급탭에서 환경변수 버튼을클릭합니다. 그림 37 Cygwin 을위한환경변수등록 www.withrobot.com Page 27
환경변수 설정윈도에서아래쪽의 시스템변수 내에있는 Path 를선택한후 편집 버튼을클릭하고, 변수값 항목의가장앞에 cygwin 이설치된경로를추가합니다. 이때 cygwin 이 C:\Cygwin 에설치되었다면 C:\Cygwin\bin 과같이 \bin 을덧붙여서추가해야합니다. 동작테스트 mycortex-lm308 예제펌웨어프로그래밍 mycortex-lm308 용예제중 timer 예제를빌드하고, 플래시프로그래밍하는방법을살펴보겠습니다. mycortex-lm308 이아닌다른보드의경우에도동일한방법으로테스트할수있습니다. 편의상 C:\StellarisWare 폴더에 Stellaris Ware 가설치되어있고, C:\StellarisWare\examples\myCortex-LM308 폴더에예제가있다고가정하겠습니다. 동작테스트용예제를설치하는방법은해당프로세서보드의사용자설명서에설명되어있습니다. 이를참조해주시기바랍니다. 본설명서에서는제안한방식대로개발환경및예제가설치되어있다는가정하에설명하고있습니다. 폴더구조나설치과정중에차이점이있다면다른부분에대한적용은사용자가적절히설정해주셔야합니다. 우선필요한소프트웨어들이제대로설치되었는지확인하기위해 cmd 창에서확인해보도록하겠습니다. [ 윈도키 + R] 을눌러 실행 화면을띄우고, 여기에 cmd" 를입력하여 cmd 창을띄웁니다. cmd 창에서 timer 예제폴더로이동하여 make clean, make 명령을차례대로실행합니 다. 아래화면과같이출력되면소프트웨어들이정상적으로설치되었고, 예제가성공적 으로컴파일된것입니다. www.withrobot.com Page 28
그림 38 cmd 창에서 timer 예제빌드 동봉된 8 핀케이블을이용하여 Stellaris-JTAG 을 mycortex-lm308 프로세서보드와연결하고, USB 케이블을이용하여 PC 와 Stellaris-JTAG 을연결합니다. 이제 cmd 창에서 make flash 를수행하면 timer 예제펌웨어바이너리를 mycortex-lm308 플래시메모리에프로그래밍하게됩니다. www.withrobot.com Page 29
그림 39 cmd 창에서플래시프로그래밍 다운로드가끝난후 mycortex-lm308 보드의리셋버튼 (SW1) 을한번누르면보드상의 LED 가 1 초주기로깜박이는것을확인할수있습니다. www.withrobot.com Page 30
mycortex-lm308 예제펌웨어소스디버깅소스레벨디버깅을하기위해서는이클립스를이용해야만합니다. 우선 eclipse 에서 C:\StellarisWare\examples\myCortex-LM308 폴더로 workspace 를전환합니다. workspace 는 File 메뉴에서 Switch Workspace -> Other 를선택하면원하는폴더로전환할수있습니다. 그림 40 workspace 전환 그림 41 mycortex-lm308 workspace www.withrobot.com Page 31
화면좌측의 Project Explorer 에서 timer 프로젝트트리를확장합니다. 이상태에서메뉴 의 Project->Build Project 를클릭하면프로젝트를빌드합니다. 이미빌드가된상태라면 아래화면과같이메시지가출력될것입니다. 그림 42 이클립스에서 timer 프로젝트빌드 그림 43 Invalid project path 경고 www.withrobot.com Page 32
컴퓨터환경에따라그림 43 과같이 Invalid project path 경고가발생할수있습니다. 이 런경우에는화면좌측의 Project Explorer 에서각프로젝트를선택한후마우스오른쪽 버튼을클릭하여 Properties 를선택합니다. 그림 44 Project properties 윈도 Properties 윈도에서 C/C++ General 항목중 Paths and symbols 를선택하면 Includes 탭에서그림 44 과같이나타날것입니다. 이리스트중경고메시지에서지시하고있는경로들때문에 Invalid project path 경고가발생하고있습니다. 따라서이항목들을 Delete 버튼을이용하여지워주면됩니다. 이때 Assembly/GNU C/GNU C++ 3 가지 Language 에대해모두지워줘야합니다. 성공적으로빌드되었다면메인메뉴에서 Run->External Tools-> External Tools Configurations 를선택합니다. www.withrobot.com Page 33
그림 45 External Tools Dialog mycortex-lmnnnn 시리즈예제들은모두 eclipse 를위한프로젝트설정과디버깅설정이완료된상태로배포됩니다. 그림 45 에서보시는것처럼 OpenOCD Programmer 와 OpenOCD Server 두가지항목이있습니다. OpenOCD Programmer 는플래시프로그래밍명령입니다. 앞절의 cmd 창에서 make flash 명령을이용하여플래시프로그래밍하는것과동일한효과입니다. 지금은소스레벨디버깅을하기위해 OpenOCD Server 를선택한후 Run 버튼을클릭합니다. www.withrobot.com Page 34
그림 46 OpenOCD Server 실행위그림처럼 Console 화면이표시된다면 OpenOCD 가제대로실행중인것입니다. 이제메인메뉴에서 Window->Open Perspective->Debug 를선택하면화면이아래와같이전환됩니다. 그림 47 Debug perspective 전환 www.withrobot.com Page 35
메인메뉴에서 Run->Open Debug Dialog 를선택하면아래그림과같이 Debug Dialog 를볼수있습니다. 그림 48 Debug Dialog mycortex-lmnnnn 시리즈용예제들은모두이클립스를위한설정과함께배포되므로 GDB Hardware Debugging 아래에각예제프로젝트별디버그명령들이설정되어있습니다. 이들중 timer Default 를선택하고 Debug 버튼을클릭하면소스레벨디버깅이진행됩니다. www.withrobot.com Page 36
그림 49 소스레벨디버깅 timer 예제의 main 함수시작부분에서멈춰있는상태로시작하게됩니다. 이제부터 Step, Step-In, Step-Out 과같은명령이나 breakpoint 설정, 메모리 / 레지스터관찰등의일반적인디버깅기능들을사용할수있습니다. 디버깅을마치고자할때에는화면좌측상단의 Debug 윈도에서마우스오른쪽버튼을클릭한후 Terminate All 을선택하면됩니다. 소스레벨디버깅을할때에는 OpenOCD Server 를먼저실행한후 Debug 를실행하였습니다. 이 OpenOCD Server 는별도로수행되는프로그램이며, 이프로그램이수행중일때에는 Stellaris-JTAG 이사용중입니다. 즉 OpenOCD Server 가수행중에는플래시프로그래밍을할수없습니다. 플래시프로그래밍을하고자할때에는 Server 가 terminate 되어있음을확인하시기바랍니다. www.withrobot.com Page 37
사용시주의사항 Stellaris-JTAG 은 JTAG 의동작전압을타겟보드로부터전달받습니다. 타겟보드에서올바른전원레벨이인가되지않으면 JTAG 은동작하지않습니다. 타겟보드와 Stellaris-JTAG 을연결할때는전원이단락되지않도록주의하시기바랍니다. 전원단락으로인한보드파손및타보드의파손에대해제조사에서는책임지지않습니다. www.withrobot.com Page 38
부록 시리얼통신프로그램 COMPORTMASTER 기능상특징 PC 의 COM 포트를이용한통신프로그램 ASCII/HEX 선택적으로데이터송수신가능 SLIP 및위드로봇에서제안하는확장 SLIP 인코딩, 디코딩기능선택적사용가능 명령어 2 바이트데이터길이 1 바이트로구성된 WRPu 패킷자동생성기능지원 수신데이터에 CR/LF 자동추가기능 패킷반복전송가능및데이터패킷간지연시간설정가능 흐름제어신호들의모니터링및값설정가능 비상업적인용도로무료로이용가능 (http://www.withrobot.com/entry/comportmaster) 응용분야 임베디드보드와 PC 의시리얼통신테스트 각종패킷통신실험지원 OS Windows 98/XP/Vista www.withrobot.com Page 39
부록 JRE 설치과정 내려받기 (http://java.sun.com/javase/downloads/index.jsp) 그림 50 JRE 내려받기 주 ) JRE 버전은다를수있습니다. 설치하기 내려받은파일을더블클릭하면설치가시작됩니다. 설치과정은아래화면과같습니다. www.withrobot.com Page 40
Designed by withrobot Lab.(http://withrobot.com) Release Information The following changes have been made in this document. Change history Date Issue 변동사항 2008.6 A The first draft 2008.8 B Changes for Eclipse ganymede 2008.11 C StellarisWare 변경사항적용 2009.10 D Update with latest tools 2010.11 E Update with latest tools Copyright(c) 2003-2010 withrobot Lab. All right reserved. www.withrobot.com www.withrobot.com Page 41