myCortex-LM8962 #2 LM3S8962의 개발환경 구축 BARAM 2010–2-3 바람 16기 이우석 dldntjr407@gmail.com BARAM SOCIETY FOR THE STUDY ROBOTICS 2010–2-3
강사 소개 이우석 광운대 제어계측과 석사 2학기 재학중 관심 분야 : 임베디드 토탈 솔루션 개발 바람 편집부장 역임(2008년) 메일 : dldntjr407@gmail.com 블로그 : http://frys.tistory.com 1/20
목차 전 세미나 요약 EWARM 5.4 설치 EWARM 컴파일 EWARM + Stellaris-JTAG 연동 디버깅 Timer 예제 분석 질의 응답 2/20
전 세미나 요약 ARM Architecture(ARMv7, 코텍스) 인간의 대뇌 피질을 의미(시스템에서 대뇌에 해당하는 지능적인 장치가 되길 바라는 마음에서…?) Luminary Micro But!! 최근 DSP로 유명한 TI에서 인수 기본 주변회로 API 제공 디버깅 용이(JTAG) 무료 개발 툴(컴파일러, IDE) 제조사에서 제공하는 유용한 예제 부트로더 제공 Stellaris 8000 계열 블록다이어그램 3/20
들어가기 전에…. 세미나의 특성상… 본 세미나는 Stellaris-JTAG 이용을 전제로 합니다. 구입은… http://withrobot.com/entry/Stellaris-JTAG 에서.. 참고!!!!!!!!! 강사는 Withrobot과 아무런 관계가 없습니다… 4/20
EWARM 5.4 설치 Step 1. Stellaris-JTAG 설치 다운받은 Stellaris-JTAG 드라이버의 압축을 임시 폴더에 해제한다.(예 : C:\stJtag\) Stellaris-JTAG을 컴퓨터에 연결한다. 연결하면 XP 기준으로 다음 화면이 나온다. 새 하드웨어 검색 마법사가 실행되면 “아니오, 지금 연결 안함을(T)”을 선택한다 5/20
EWARM 5.4 설치 Step 1. Stellaris-JTAG 설치(Cont’d) 설치가 완료되면 Stellaris Evaluation Board B와 USB Serial Port도 같은 방법으로 드라이버를 설치한다. 설치가 완료되면 장치관리자를 실행시켜 설치를 확인한다. 6/20
EWARM 5.4 설치 Step 1. Stellaris-JTAG 설치(Cont’d) 드라이버 설치중.. 만약 호환성 확인 문제가 나오면 계속을 누른다. 설치가 완료되면 Stellaris Evaluation Board B와 USB Serial Port도 같은 방법으로 드라이버를 설치한다. 설치가 완료되면 장치관리자를 실행시켜 설치를 확인한다. 6/20
EWARM 5.4 설치 Step 1. Stellaris-JTAG 설치(Cont’d) JTAG과 LM8962 보드를 연결. 사진은 LM808 보드.. 8핀 :JTAG, 4핀 :UART(전원 공급 가능, LM8962보드의 J2 점퍼의 위치의 선택에 따라 전원을 J1, J6(15번핀) 둘중 선택) 본 세미나에서는 J1의 UART전원을 이용하기 위해 VDD5V를 선택하시기 바랍니다. 개발 환경 구성에서 JTAG 구성이 완료 컴파일러 설치는 Stellaris(API모음)를 설치하고 CodeSourcery++ LITE(무료) 또는 IAR중 선택할 수 있다. 본 강좌에서는 IAR을 사용하기로 한다. CodeSourcery++ LITE를 이용한 개발은 Stellaris-Jtag 설명서를 참고(링크) Iar 사용하는 이유는 강력한 기능과 IAR만 설치하면 환경 구성이 끝나기 때문…. IAR은 바람 FTP에서 구할 수 있다. 7/20
EWARM 5.4 설치 Step 2. EWARM 설치 EWARM 5.4 어둠의 버젼을 받는다.(링크) ISO 파일을 로드하고 cr@ck 폴더로 들어간다. (크랙 폴더의 위치는 C:에 있어야 된다. C:\ewarm-full-iso\) ISO파일의 위치와 cr@ck의 위치는 C:\ewarm-full-iso\ 에 위치한다. C:\ewarm-full-iso\cr@ck\iarid.exe를 실행한다. 실행 후 나오는 Host-ID: 0x218CE를 대소문자를 구분하여 적어둔다.(0x218CE, PC마다 다름…) Win + R 또는 윈도우 버튼을 누르고 실행을 누르고 cmd를 입력하고 순차적으로 입력한다. (압축을 푼 위치에 주의) cd c:\ewarm-full-iso\cr@ck Iarkg.exe 0x218ce > lic.txt (0x218CE는 본인의 내용을 입력한다.) exit 바람 FTP에 올릴 예정… 8/20
EWARM 5.4 설치 Step 2. EWARM 설치(Cont’d) 탐색기를 이용하여 C:\ewarm-full-iso\cr@ck\ 폴더로 이동하면 lic.txt 파일이 생성되어있다. Lic.txt 파일을 메모장으로 열고, 메뉴-서식-자동 줄바꿈 을 선택한다. 메뉴-편집-찾기(ctrl+f)를 선택하고, EWARM 을 찾는다. 이제 Install 시리얼과 Key를 얻었다. Key를 입력할때는 위와 같이 전체 줄을 복사해서 붙여넣기 해야된다 바람 FTP에 올릴 예정… 9/20
EWARM 5.4 설치 Step 2. EWARM 설치(Cont’d) Iso파일을 가상 CD로 입력하면 자동 실행이 된다. 그리고 나서 “Install IAR~”를 클릭 (만약 안되면 가상 CD 드라이브로 가서 autorun.exe를 실행한다. ) 일반 설치 과정은 생략, InstallSerial은 License#에, Key 는 LicenseKey에 복사한다. 바람 FTP에 올릴 예정… 10/20
EWARM 5.4 설치 Step 2. EWARM 설치(Cont’d) 설치가 완료되면 다음과 같은 항목이 시작에 생성된다. 이제 IAR Embedded Workbench를 실행하면 된다. 바람 FTP에 올릴 예정… 11/20
EWARM 컴파일 Step 1. EWARM 예제 파일 컴파일 이제 간단한 Timer 예제 파일을 컴파일 해보자 IAR 을 실행 후 메뉴-File-Open-Workspace 를 선택한다. LM3S8962 예제 파일은 EWARM을 기본 폴더에 설치하였을 경우 C:\Program Files\IAR Systems\Embedded Workbench 5.4\arm\examples\TexasInstruments\Stellaris\boards\ek-lm3s8962 에 위치한다. 12/20
EWARM 컴파일 Step 1. EWARM 예제 파일 컴파일(Cont’d) Timer 예제 파일은 Timers 폴더에 있습니다. 워크 스페이스를 열면 다음과 같습니다. Timers 안에 Timers와 Driverlib이 있습니다. Timers와 Driverlib은 서로 다른 프로젝트 입니다. 먼저 Driverlib을 마우스 오른쪽 클릭 후 Make를 클릭하여 빌드를 한다. Workspace 프로그램의 코드, 라이브러리 그리고 헤더 파일을 관리 합니다. 해더파일은 자동으로 추가됩니다. Code Window 코드의 내용을 표시합니다. Message Window JTAG상태, 빌드의 내용을 표시합니다. 13/20
EWARM 컴파일 Step 1. EWARM 예제 파일 컴파일(Cont’d) 그 다음 timers을 마우스 오른쪽 클릭 후 Make를 클릭하여 빌드를 한다. 이제 컴파일이 완료 되었습니다. 메뉴-Download and Debug(Ctrl+D)를 선택하여 다운로 드해봅니다. 다운로드가 완료되면 창이 변경되면서 프로그램 다운로드가 완료 됩니다. 컴파일 끝! 14/20
EWARM + Stellaris-JTAG 디버깅 Step 1. 디버깅 창 설명 DisASM Window 코드를 어셈으로 변경된 내용을 표시합니다. 연두색 처리는 현재 진행중인 코드의 위치 15/20
EWARM + Stellaris-JTAG 디버깅 Step 1. 디버깅(Cont’d) 변수 모니터링 16/20
Timer 예제 분석 17/20
요약! Cortex-M3 & JTAG is Good!! 18/20
물어보세요~? 19/20
끝
광운대학교 바람 메뉴 기능 단축키 아이콘 GO 멈춰있는 프로그램을 시작한다. Go 일때 비 활성화 F5 Break Reset 프로그램을 소프트 리셋하여 처음부터 다시 시작한다 Stop Debugging 디버깅을 종료한다 Ct+Sh+D Step Over Program C코드 기준으로 한줄 씩 진행한다. 함수 내부로 들어가지 않음 F10 Step Into Program C코드 기준으로 함수 내부로 들어간다. F11 Step Out Step Into로 들어간 코드 내부에서 탈출한다. Sh+F11 Next Statement …? Run to Cursor 현재 열려 있는 코드의 커서까지 실행한다. AutoStep 오토 스탭으로 Step over를 정해주는 시간으로 Set Next Statement Memory 메모리의 내용을 파일로 저장할 수 있음 Refresh 변경된 내용을 다시 불러옴 Macro 매크로를 만들어 사용할 수도 있음 Logging 디버그 진행 정보를 로그로 남길 수 있음 광운대학교 바람