IAR_IDE_LM3S8962_Config_v3.doc

Similar documents
Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - Armjtag_문서1.doc

슬라이드 1

ISP and CodeVisionAVR C Compiler.hwp

DE1-SoC Board

PowerPoint 프레젠테이션

PI ZH-CN

<4D F736F F D20B0B3B9DFC8AFB0E65FB4D9BFEEB7CEB5E55FB5F0B9F6B1EBBCB3C1A42E646F63>

Product A4

Install stm32cubemx and st-link utility

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다.

MPLAB C18 C

슬라이드 1

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related

슬라이드 1

Copyrights and Trademarks Autodesk SketchBook Mobile (2.0.2) 2013 Autodesk, Inc. All Rights Reserved. Except as otherwise permitted by Autodesk, Inc.,

Interstage5 SOAP서비스 설정 가이드

untitled

¿ÀǼҽº°¡À̵å1 -new

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper

PowerPoint 프레젠테이션

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

ICAS CADWorx SPLM License 평가판설치가이드

Microsoft PowerPoint - ccs33_bios_PRD.ppt [호환 모드]

Oracle® DIVAnet - 보안 설명서

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

untitled

Microsoft Word ARM_ver2_0a.docx

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E.

K&R2 Reference Manual 번역본

PowerPoint 프레젠테이션

API 매뉴얼

Microsoft PowerPoint - Install Guide[ ].ppt [호환 모드]

ODS-FM1

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

목차 1. 개요 USB 드라이버 설치 (FTDI DRIVER) FTDI DRIVER 실행파일 USB 드라이버 확인방법 DEVICE-PROGRAMMER 설치 DEVICE-PROGRAMMER

PowerPoint 프레젠테이션

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202834C1D6C2F7207E2038C1D6C2F729>

*Revision History 날짜 내용 최초작성 Tel Fax [2] page

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation

Microsoft Word - Modelsim_QuartusII타이밍시뮬레이션.doc

Microsoft Word - windows server 2003 수동설치_non pro support_.doc

APOGEE Insight_KR_Base_3P11

KEY 디바이스 드라이버

PowerPoint 프레젠테이션

C++-¿Ïº®Çؼ³10Àå

PRO1_04E [읽기 전용]

Remote UI Guide

Mango-E-Toi Board Developer Manual

Microsoft PowerPoint - AME_InstallRoutine_ver8.ppt

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

DR-M140 사용 설명서

EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을

Microsoft PowerPoint - chap01-C언어개요.pptx

- 2 -

Microsoft PowerPoint - ccs33_bios_com1_semaphore.ppt [호환 모드]

Microsoft PowerPoint - ch07.ppt

PRO1_09E [읽기 전용]

T100MD+

Microsoft Word - CooCox

0125_ 워크샵 발표자료_완성.key

ATmega128

USER Manual

Microsoft PowerPoint - ARM 개발 환경.ppt

(SW3704) Gingerbread Source Build & Working Guide

chapter1,2.doc

Microsoft Word - Automap3

API 매뉴얼

<31332DB9E9C6AEB7A2C7D8C5B72D3131C0E528BACEB7CF292E687770>

슬라이드 1

Hardware Manual TSP100

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

슬라이드 제목 없음

Microsoft PowerPoint - es-arduino-lecture-03

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

CODESYS 런타임 설치과정

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot)

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

CD-RW_Advanced.PDF

PLC Robot Starter Quick Guide

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오.

Apache Ivy

(Microsoft PowerPoint - \270\266\300\314\305\251\267\316\304\250USB_Host_Device_\272\316\306\256\267\316\264\365\275\307\275\300_Philip.ppt)

Microsoft PowerPoint - polling.pptx

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,,,,,,,,,,,,,.,..., U.S. GOVERNMENT END USERS. Oracle programs, including any operat

UART.h #ifndef _UART_H_ #define _UART_H_ #define DIR_TXD #define DIR_RXD sbi(portd,4) cbi(portd,4) #define CPU_CLOCK_HZ UL UART PORT1 void UAR

vm-웨어-앞부속


untitled

PA for SWE2007

Microsoft PowerPoint - SY-A3PSK-V1.pptx

02 C h a p t e r Java

AD K

Microsoft Word - MV210_CPUSpec.doc

RealDSP UT 프로그램 메뉴얼

Transcription:

1. LM3S8962 Luminary Micro 社에서개발한임베디드컨트롤러이다. 칩크기는기존 8bit, 16bit 컨트롤러수준이지만 ARM Cortex-M3 core (Thumb 2만지원 ) 를사용하여 32bit급성능을낼수있는 LM3S8xxx 시리즈의칩구성은아래그림과같다. 2. S/W Support 빠르고편리한개발을위해 LM 社에서 S/W지원을지속적으로해준다. C언어환경에서편하게 H/W 레지스터에접근할수있도록 driverlib를배포한다. 현재 3740 build가나와있다. (2008/12/08) URL: http:www.luminarymicro.com/products/software_updates.html Full version을사용해도되지만용량이큰관계로 LM3S8962에관련된 SW-EK-LM3S8962-3740을다운받아사용한다.

3. mycortex-lm8962 우리가사용한타겟은 Withrobot 社에서개발한 mycortex-lm8962보드를사용하였다. (http:www.withrobot.com/entry/mycortex-lm8962) 같은회사에서발매하는 Stellaris J-TAG을이용해디버깅한다. Tool-chain은타겟보드개발사인 Withrobot 社에서는 Opensource 개발툴들을추천하고있으나설치방법및활용에도많은노력이필요한관계로상용IDE인 IAR 社의 Embedded Workbench for ARM ( 이하 EWARM) 5.20를사용한다. 실제개발에사용할때는구입하여사용하여야하지만간단한테스트에는 Evaluation version을이용해볼수있다. (http:www.iar.com/website1/1.0.1.0/68/1/index.php) 4. Installation How-to 개발환경설치준비물 : PC (Windows XP가설치되고 USB 1 port 남는것 ) mycortex-lm8962 Stellaris J-TAG EWARM 5.20 StellarisWare (driverlib) build 3740 (SW-EK-LM3S8962-3740) LM FTDI Driver 2.4.6.0 1. Target Board 설치 Stellaris J-TAG( 이하 JTAG) 과 mycortex-lm8962 보드를동봉된케이블로아래그림과같이연결한다. JTAG 을 USB 에연결한다. 윈도우가새로운장치를인식하고아래와비슷하게드라이버를요구하면고 급설정을선택한다.

아래와같이 LM FTDI Driver 가존재하는폴더 (ex:luminary_ftdi_driver-2_04_06) 를직접선택하고다음 으로진행한다. 파일복사가이루어지면서디지털사인이되지않은드라이버라고경고가뜨지만계속진행시키면 Stellaris Evaluation Board A 가설치되고위의과정을 2번더반복하면 Stellaris Evaluation Board B 와 Stellaris Virtual COM Port (COMx) 가추가로설치된다. 설치가정상적으로이루어지면장치관리자에아래와같이장치가인식되어있다.

타겟보드설치는완료되었고 COMx 는 UART 통신에사용하면된다. Stellaris J-TAG 은 EWARM 에서 LMI FTDI debugger 로인식이되기때문에 ( 후자가오리지널일듯..) 설치후편리하게 debugging 할수 있다. 2. EWARM 설치다운로드한 EWARM의설치파일을실행하여일반적인프로그램을설치하듯이설치한다..( 그림생략 ) 설치중간에라이센스키를입력하는데 Eval. 라이센스를받거나구입해서입력한다 ;; (ATOM 프로세서에 Vista가설치된시스템에선 Host ID를제대로못읽는문제가있는것같다.) 설치가완료되고 EWARM을실행하면다음그림과같이실행된다.

3. SW-EK-LM3S8962-3740 설치 Luminary Micro 社의홈페이지에서다운받은 SW-EK-LM3S8962-3740.exe 를아래와같이실행한다. 나머지는일반적인프로그램과동일하게..;; 완료되면아래와같이 \StellarisWare 에설치된다. 4. EWARM Configuration How-to 1. driverlib Rebuild ( 이부분은생략하고사용해도되나작성될프로젝트와같은컴파일러에서다시빌드하고자설명한다.) 기본 Workspace에 driverlib 프로젝트를추가한다.

driverlib.ewp 선택 프로젝트옵션을선택하여프로세서설정을 LM3Sx9xx 로바꾼다. ( 본인은 Library Builder 에서출력파일 이름을 driverlib_debug.a 로바꿨음 )

Make 를시도하면 Workspace 를저장할곳을묻는다. 대충정해주고빌드를완료한다. Make 버튼클릭!! driverlib 의빌드결과확인한다. Build O.K 라이브러리파일은 \StellarisWare\driverlib\ewarm\Exe 에 driverlib_debug.a 로생성된다. 2. Workspace & Project 생성및초기설정 EWARM을실행하면기본적으로 Workspace가준비되어있다. 여기에 driverlib를 Rebuild할때와같이기존프로젝트나새프로젝트를추가하고 Workspace 단위로관리하게된다. 하지만타겟에대한설정은프로젝트단위로이루어진다. 3. driverlib 를사용하여 C 언어프로젝트만들기 임베디드시스템에서 C 언어를사용할때는 H/W 인터럽트벡터에대한설정이들어가기때문에 Startup 에대한고려가항상필요하고 tool-chain 별로방법이다르기때문에사용자가직접 compiler 문서를보

고작성해야하는경우가많다. 하지만 StellarisWare는편리하게주요 Tool에대해서지원해주고있고 EWARM도기본적으로지원된다. (\StellarisWare\boards\ek-lm3s8962에있는예제들속에있음 ) *.icf LM3S8962용 memory 및 section 설정 # MCU에따라정의되는파일이기때문에예제들의 icf들은모두동일하다. 아무거나하나쓴다. startup_ewarm.c EWARM v5 용 startup 파일 # Interrupt vector 가정의된파일로 interrupt 를사용하려면수정해야하는파일이다. driverlib LM3Sxxxx 의 H/W 레지스터를편리하게사용할수있는 C 라이브러리 # driverlib 는라이브러리로사용해도되고소스가모두공개되어있기때문에프로젝트에필요한것만넣어메모리 를절약할수도있다. 다음은기본예제인 timers.c 를 driverlib 와함께사용하여 mycortex-lm8962 보드에서사용할수있도록 프로젝트를생성하는과정이다. 1. 프로젝트폴더 & Sub 폴더만들기 (ex: \StellarisWare\dr_robot\test1) 2. 기본제공 StellarisWare 복사하기 - icf, startup 복사 \StellarisWare\boards\ek-lm3s8962\timers\startup_ewarm.c Ł \StellarisWare\dr_robot\test1\startup_ewarm.c \StellarisWare\boards\ek-lm3s8962\timers\timers.icf Ł \StellarisWare\dr_robot\test1\LM3S8962.icf - driverlib 복사 \StellarisWare\driverlib\ewarm\Exe\driverlib_debug.a Ł \StellarisWare\dr_robot\test1\drvlib\driverlib_debug.a

- header 복사 (to: \StellarisWare\dr_robot\test1\include) \StellarisWare\driverlib\*.h Ł \StellarisWare\dr_robot\test1\include\driverlib\*.h \StellarisWare\inc\*.h Ł \StellarisWare\dr_robot\test1\include\inc\*.h \StellarisWare\*.h Ł \StellarisWare\dr_robot\test1\include\*.h

- 소스복사 \StellarisWare\boards\ek-lm3s8962\timers\timers.c Ł \StellarisWare\dr_robot\test1\timers.c 3. 프로젝트생성프로젝트를새로만들고 Empty project 를선택한후미리만들어놓은 test1 폴더에프로젝트저장 4. 프로젝트파일등록 ( 그룹은취향에맞게추가 ) - 라이브러리추가

- 소스추가 5. 프로젝트옵션설정 타겟설정

C 컴파일러설정 Linker memory 설정

Debugger 설정

6. 소스수정 - Interrupt vector 수정 (startup_ewarm.c)

- timers.c 소스수정 ( 원본 : StellarisWare, LED: mycortex-lm8962 예제참고 ) timers.c - Timers example. Copyright (c) 2005-2008 Luminary Micro, Inc. All rights reserved. Software License Agreement Luminary Micro, Inc. (LMI) is supplying this software for use solely and exclusively on LMI's microcontroller products. The software is owned by LMI and/or its suppliers, and is protected under applicable copyright laws. All rights are reserved. You may not combine this software with "viral" open-source software in order to form a larger program. Any use in violation of the foregoing restrictions may subject the user to criminal sanctions under applicable laws, as well as to civil liability for the breach of the terms and conditions of this license. THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. LMI SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. This is part of revision 3740 of the EK-LM3S8962 Firmware Package. #include "hw_ints.h" #include "hw_memmap.h" #include "hw_types.h" #include "driverlib/debug.h" #include "driverlib/interrupt.h" #include "driverlib/sysctl.h" #include "driverlib/timer.h" #include "driverlib/gpio.h" #include "inc/lm3s8962.h"

! \addtogroup example_list! <h1>timer (timers)</h1>!! This example application demonstrates the use of the timers to generate! periodic interrupts. One timer is set up to interrupt once per second and! the other to interrupt twice per second; each interrupt handler will toggle! its own indicator on the display. The error routine that is called if the driver library encounters an error. #ifdef DEBUG void error (char *pcfilename, unsigned long ulline) { } #endif The interrupt handler for the first timer interrupt. void Timer0IntHandler(void) { Clear the timer interrupt. TimerIntClear(TIMER0_BASE, TIMER_TIMA_TIMEOUT);

if (GPIOPinRead(GPIO_PORTG_BASE, GPIO_PIN_0)!= GPIO_PIN_0) GPIOPinWrite(GPIO_PORTG_BASE, GPIO_PIN_0, GPIO_PIN_0); else GPIOPinWrite(GPIO_PORTG_BASE, GPIO_PIN_0, 0); } This example application demonstrates the use of the timers to generate periodic interrupts. int main(void) { Set the clocking to run from the PLL. SysCtlClockSet(SYSCTL_SYSDIV_4 SYSCTL_USE_PLL SYSCTL_OSC_MAIN SYSCTL_XTAL_8MHZ); 50MHz Enable the peripherals used by this example. SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOG); Enable processor interrupts. IntMasterEnable(); Configure the two 32-bit periodic timers. TimerConfigure(TIMER0_BASE, TIMER_CFG_32_BIT_PER); TimerLoadSet(TIMER0_BASE, TIMER_A, SysCtlClockGet()); Setup the interrupts for the timer timeouts. IntEnable(INT_TIMER0A); TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); Enable the timers. TimerEnable(TIMER0_BASE, TIMER_A);

Setup LED GPIOPinTypeGPIOOutput(GPIO_PORTG_BASE, GPIO_PIN_0); Loop forever while the timers run. while(1) { } } 7. Make Make 처음 make 시도때는 Workspace 를저장

Download & Debug Download & Debug 정상적으로 J-TAG 이작동하면 main() 에서대기함. Go 를눌러주면실행됨. 끝!!!