67
ARM Firmware Application - EWARM, Philips LPC210x Quick Start - 최종 저장일 : 2004 5 10 File : PAT_APP_D103_ARM Firmware Application_Philips_10.hwp 문서번호 : PAT-APP-D103 번호 담당 V1.0 2004.03.30 를 이용하여 자료 작성 Philips Kick Start Board ARM Firmware PM V1.1 2004. 5. 2 를 활용하기 위한 빠른 이해 ARM Board Document PM 읽어두기 본 설명서는 마이크로프로세서 에 관련된 기술 특히 필립스에서 생산되고 있는 1. 32Bit RISC ARM , LPC2100 시리즈를 개발 환경과 함께 익힐 수 있도록 제작된 설명서입니다. 같은 는 고급 언어를 기계어로 변경 할 수 있는 컴파일러가 있어야 개발 효율을 높일 2. RISC Microprocessor 수 있는데 여기서는 스웨덴에 본사를 두고 있는 사의 컴파일러 을 사용 했습니다 IAR (Compiler) EWARM . 마이크로프로세서를 이용하여 을 만드는 엔지니어는 초기 환경을 익히는데 절대적인 학 3. Application Compiler 습 시간이 필요한 것이 현실입니다. 은 여러 회사에서 만들어지고 있으며 다양한 회사가 영국 사로부터 직 간접적으로 구입한 4. ARM IC ARM / IP 통하여 를 가미하여 양산하고 있는 실정입니다 여기서는 Embedded, Application, SoC . Philips LPC210x 리즈를 이용하여 비트에서 비트로 기술을 할 수 있도록 가능한 쉬운 매뉴얼을 작 8 32 Up Grade Quick Start 성 했습니다. 설명의 기본은 필립스사에서 제공되는 를 사용했습니다 이 상자에는 5. Kick Start Card(ARM7 EV Board) . CD 평가 컴파일러도 지원됩니다 컴파일러의 버전은 입니다 . EWARM 3.40C . 컴파일러를 포함한 통합 개발 환경에 대해 설명하고 언어 할 수 있도록 했으며 6. C (Source Level) Debug 특히 환경을 이용하여 빠르게 개발 환경을 이해 할 수 있도록 효율을 높였습니다 JTAG ARM . 에 관련된 기술 사항을 보다 효율적으로 이용하기 위해 작성된 예제는 를 통한 실험을 통 7. Firmware Hardware 해서 이루어졌으며 기술적 검증은 사내 사외 엔지니어와 함께 했습니다 / . 전자 출판 출시를 위해 파일로 만들어 졌고 원본은 로 쓰였습니다 8. PDF HWP 2002 . 원고는 개발 업무에 잘 사용하시고 자료에 대한 문의사항이나 기술지원 컴파일러는 다음의 메일 전화를 이용 9. / / 해 주시기를 바랍니다. 다음 회사의 도움으로 본 원고는 완성되었습니다 10. . 컴파일러 문의 마이크로비젼 IAR : http://www.microvision.co.kr : 02-3283-0101 컴파일러 기술지원 IAR : [email protected] [email protected]

PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

ARM Firmware Application- EWARM, Philips LPC210x Quick Start -

최종 저장일 : 년 월 일2004 5 10

File : PAT_APP_D103_ARM Firmware Application_Philips_10.hwp

문서번호 : PAT-APP-D103

번 호 갱 신 내 용 담 당

V1.0 2004.03.30 를 이용하여 자료 작성Philips Kick Start Board ARM Firmware PM

V1.1 2004. 5. 2 를 활용하기 위한 빠른 이해ARM Board Document PM

읽어두기

본 설명서는 마이크로프로세서 에 관련된 기술 특히 필립스에서 생산되고 있는1. 32Bit RISC ARM , LPC2100

시리즈를 개발 환경과 함께 익힐 수 있도록 제작된 설명서입니다.

같은 는 고급 언어를 기계어로 변경 할 수 있는 컴파일러가 있어야 개발 효율을 높일2. RISC Microprocessor

수 있는데 여기서는 스웨덴에 본사를 두고 있는 사의 컴파일러 을 사용 했습니다IAR (Compiler) EWARM .

마이크로프로세서를 이용하여 을 만드는 엔지니어는 초기 환경을 익히는데 절 적인 학3. Application Compiler

습 시간이 필요한 것이 현실입니다.

은 여러 회사에서 만들어지고 있으며 다양한 회사가 영국 사로부터 직 간접적으로 구입한 를4. ARM IC ARM / IP

통하여 를 가미하여 양산하고 있는 실정입니다 여기서는 시Embedded, Application, SoC . Philips LPC210x

리즈를 이용하여 비트에서 비트로 기술을 할 수 있도록 가능한 쉬운 매뉴얼을 작8 32 Up Grade Quick Start

성 했습니다.

설명의 기본은 필립스사에서 제공되는 를 사용했습니다 이 상자에는 로5. Kick Start Card(ARM7 EV Board) . CD

평가 컴파일러도 지원됩니다 컴파일러의 버전은 입니다. EWARM 3.40C .

컴파일러를 포함한 통합 개발 환경에 해 설명하고 언어 로 할 수 있도록 했으며6. C (Source Level) Debug

특히 환경을 이용하여 빠르게 개발 환경을 이해 할 수 있도록 효율을 높였습니다JTAG ARM .

에 관련된 기술 사항을 보다 효율적으로 이용하기 위해 작성된 예제는 를 통한 실험을 통7. Firmware Hardware

해서 이루어졌으며 기술적 검증은 사내 사외 엔지니어와 함께 했습니다/ .

전자 출판 출시를 위해 파일로 만들어 졌고 원본은 로 쓰였습니다8. PDF HWP 2002 .

원고는 개발 업무에 잘 사용하시고 자료에 한 문의사항이나 기술지원 컴파일러는 다음의 메일 전화를 이용9. / /

해 주시기를 바랍니다.

다음 회사의 도움으로 본 원고는 완성되었습니다10. .

컴파일러 문의 마이크로비젼IAR : http://www.microvision.co.kr ☎: 02-3283-0101

컴파일러 기술지원IAR : [email protected] [email protected]

Page 2: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

개발 환경ARM LPC210x Quick Start

차 례

개요1. ··································································································3

설치2. EWARM Compiler ·······························································9

3. Quick Start ···················································································15

3.1. J-link Quick ·······································································19

3.2. Monitor Quick ····································································30

3.3. Stand Alone Quick ···························································37

3.4. Flash Utility Quick ····························································39

4. C-SPY ···························································································41

4.1. File ························································································44

4.2. Edit ·······················································································45

4.3. View ······················································································49

4.4. Debug ··················································································56

4.5. Simulator/J-link ·································································60

5. Appendix ·······················································································62

5.1. Header File ·········································································62

관련 교육 정보5.2. ···································································63

찾아보기6. ························································································64

Page 3: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:
Page 4: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 4

1. 개요

은 년 의 디자인 팀에서 처음으로 설계되어 초기에는 시뮬레이션에 의해 검증되다가ARM 1985 Acorn

이 으로 세상에 나온 뒤로 전 세계 반도체 회사에서 를 사로부터 구입 여러ARM7 Chip IP ARM ,

에서 사용되고 있다Application .

영국에 본사를 두고 있는 사는 를 설계한 뒤 반도체를 직접 만들지 않고 를 판매하는 구ARM Core IP

조로 되어 있으며 컴파일러와 관련 장비도 사에서 집적 판매되어 전 세계 리점 운영을 한다ARM .

은 비교적 저렴하면서도 가격 성능비가 우수하며 저 전력 이라는 장점이 있어 앞으로 많은 엔ARM

지니어에게 인기가 있을 것이라 예상된다 국내 반도체 업계에서도 삼성 하이닉스 등이. LG, , ARM

코어를 사용한 칩을 생산하고 있으며 에서도 을 사용하고 점점 더 늘어나는 추세이다SoC ARM .

하지만 마이크로프로세서를 비트의 로 시작한 국내의 회로 설계도 하고 코딩도 하는8 CISC Firmware

엔지니어들은 비트로의 진입 장벽이 여간 어려운 것이 아닐 수 없다 은 많은 레지스터와 특32 . ARM

이한 인터럽트 구조 그리고 비트 버스로 되어 있어 다소 당황스럽게 느껴진다 그래서 비트32 . 8/16

엔지니어들이 비트 을 익히는데 완충으로 부담을 줄이고 보다 손쉽게 익힐 수 있도록 주로32 ARM

통합 개발 환경을 를 통해 설명했다Document .

비트 비트 로 시작한 엔지니어나 학생들이 비트 를 익히기에 적절한 것이8 16 MPU 32 ARM Firmware

있다면 바로 필립스의 라 생각한다 은 의 기본'ARM Kickstart Kit for LPC210x' . LPC2106 ARM7

핵심 코어가 들어 있고 가 로 비교적 중요한 핀으로만 구성되어 있으며TDMI Package LQFP48 I/O

내부에 와 이 들어 있는 구조로 되어 있는데 칩과 보드는 필립스사에서 만Flash RAM ARM LPC2106

들고 사에서는 와 응용 를 만드는데 이 두개의 회사가 으로 파격적인IAR ARM Compiler S/W Co-Work

가격으로 을 익힐 수 있도록 만든 것이 이기 때문이다 구성물로는 이 실장 되ARM Kickstart Kit . ARM

어 있는 한 평가보드와 소스코드로 한 명령어씩 실행 하면서 를 익힐 수 있도록Compact RISC USB

와 컴파일러 제작 언어로 개발 할 수 있JTAG Emulator 32K Byte Code Size , Platform S/W, UML

는 유틸리티 응용 프로그램 등이 함께 들어 있다S/W, .

는 유럽에서 많이 사용되는 용어인데 우리나라의 정서에 맞게 이하 라고 부르Kick Start Quick Start

겠다.

그림 1 익히기에서 사용된 교재의 안내. ARM Board

는 용지의 절반 크기의 박스이고 필립스 본사 또는 컴파일러 한국 리점에서 구입Kick Start A4 IAR

이 가능하며 내용물은 다음과 같다.

는 손바닥 보다 작은 크기로 기판PCB : PCB 4F

Page 5: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 5

컴파일러 두개의 버전 일 사용 코드 한계 프로그램 필립스CD : EWARM (30 , 32K Byte ), LPC2000 (

제작 생성기 상태도 작성으로), Sample Code, MakeApp(IAR Compiler Platform ), VisualState(

코드 생성기)

장비 용 장비: USB JTAG Debug , J-link

기타 개 스티커 그러나 전원이 들어 있지 않다 사진의 펜은 크기를 비교하기 위해: Jumper3 , , . PCB

강이 올려놓고 촬영했다.

그림 2 내용물. ARM Kick Start Kit

알나간 알고 나면 간단( ) 사의IAR 시리즈EW(Embedded Workbench)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

컴퓨터를 이용하여 을 개발하는 과정에서 에디터 컴파일러 어셈블러Microprocessor Application , , ,

링크 디버그 등의 각각의 단계가 모두 하나의 프로그램 안에 통합되어 있는 것을 나타낸다 단어의, .

의미로는 작업 를 나타내므로 에 여러 가지 공구들을 올려놓고 작업한다는 의미로 컴파일러Table

회사가 붙인 이름이라고 판단된다 프로그램을 에디터로 작성하고 바로 컴파일러를 호출하여 컴파일.

과 링크를 거친 뒤 실행까지 시켜 볼 수 있다 무엇보다 기존의 에디터를 빠져 나와 컴파일을 하고.

디버깅 뒤에 다시 에디터를 호출하는 불필요한 반복적인 작업을 하지 않아 개발 기간을 단축시킬 수

있다 이런 소프트웨어를. 라고 하며IDE(Integrated Development Environment) 통합 개발 환경이라

고 번역하여 부른다.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

컴파일러의 국내 판매 종류는 제품에 따라 그리고 내용물의 구성 에 따라 여러 가지 버IAR Package

전이 있으므로 구입을 희망한다면 본사나 한국 리점 담당자에게 메일 또는 유선상으로 문의하IAR

길 바란다.

마이크로비젼 :㈜ www.microvision.co.kr 구로 단지: IT : 02-3283-0101 : [email protected]

Page 6: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 6

본사IAR : www.iar.com 스웨덴: : 46-1816-7800 : [email protected]

본 설명서를 읽고 실행해 보면 어느 정도 컴파일러 개발 환경에 해 익히고 개발해야 하겠다ARM

는 용기가 생기지만 그것만으로 디자인 하고 마이크로프로세서가 탑재되어있는 하드웨어에 포팅이

되는 것이 아님을 잘 알고 있을 것이다 기술자가 되기 위해서는 아직도 넘어야 되는 산이 많이 있.

다 본 원고는 의 내부나 레지스터에 해 주로 학습하는 것이 아니며 지면을. Microprocessor Core

통하여 복잡한 통합 개발 환경 에 해 알 수 있을 뿐이다 컴파일러와 를 이용하여IDE( ) . ARM Utility

를 설계할 정도가 되기 위해서는 각 컴파일러에 한 깊은 지식과 설계 디자인Firmware Knowhow,

기술 그리고 언어 저자 만듦 마이크로프로세서 응용 엔지니어를 위한ANSI C ( : PAT-APP-D001

참조 나아가서는 자세한 컴파일러 옵션과 내부 함수에 해서도 알고 있어야 설계와 디자ANSI C )

인을 할 수 있다.

기술 습득 시리즈의 참고 자료

마이크로프로세서 응용 엔지니어를 위한PAT-APP-D001 ANSI C

PAT-APP-D103 ARM Processor

디지털용어정리PAT-DOC-C03

컴파일러는 하이 레벨 언어를 매크로 어셈블리로 바꾸어 주는 도구에 불가하므로 개발 언어에 한

복합적인 기술이 뒷받침되어야 한다 예전에는 메모리 가격이 에 만원 정도 되었지만 날이 갈수록. 1M

크기에 비해 저렴해지는 메모리와 더욱 빨라진 프로세서로 인해 더 이상 엔지니어에게 어Firmware

셈블리어로만 만들기를 고집하지는 않는다 좀더 복잡해진 알고리즘을 구현하기 위해서는 화 형식.

의 언어가 필요하다 보통은 언어 개선된. C , 등을 이용하고 요즈음은ANSI C C++, Embedded

등의 고급언어로 개발하기도 하는데 어셈블리언어로 개발하는 것에 비해 알고리즘 구현C++, JAVA

하기와 시간절약을 도모할 수 있다 참고로 어셈블리 언어는 다소 복잡한 알고리즘을 구현하기에는.

능력이 떨어지는 프로그램의 구조를 가지고 있고 마이크로프로세서마다 부분 서로 다른 를 사( Core

용하므로 다른 어셈블리 코드를 알고 있어야 프로그램이 가능하다) .

마이크로프로세서를 가장 효율적으로 익히는 방법은 잘 설명된 컴파일러 교본을 따라 하면서 생성된

기계어 코드를 보드에 이식하여 동작을 확인하고 디버깅하면서 기술을 늘려나가는 방법이다 추가적.

으로 개발 환경과 프로세서에 해 물어 볼 수 있는 네트워크가 있어야 한다 자신이 잘 모르는 것.

은 남들이 알 수도 있기 때문이며 막히는 것을 가지고 계속 끙끙댄다고 해결책이 쉽사리 생기지는

않는다 흰머리만 늘어날 뿐이다. .

마이크로프로세서는 과 의 조합으로 구성되어 있는 기계어를 사용한다 비트 도 에서 사0 1 . 32 ARM PC

용하는 펜티엄 시리즈도 마찬가지이다 아무리 고급언어로 프로그램을 작성하더라도 최종적으로 프.

로세서에게는 먹기 좋은 떡에 해당하는 기계어로 바꾸어 주어야 한다 마이컴 내부에는 과 로 구. 0 1

성되어 있는 명령어의 코드를 차례로 불러 올 수 있는 역할을 하는 프로그램 카운터(PC : Program

가 있다 가 지정한 메모리 위치에서 한번에 불러올 수 있는 코드는 마이컴의 능력에 따라Count) . PC

비트 비트 비트 비트 등으로 나누어지는데 코드를 읽고 해석해서 주어진 동작을 하게 되어4 , 8 , 16 , 32

있다 비트 마이컴은 한번에 불러오고 처리할 수 있는 비트수가 비트이다 명령의 개수도 많은. 32 32 .

데 프로그램을 하는 사람은 여러 개의 코드를 적절히 나열하여 정해진 일을 마이컴이 하도록 하면

된다 그러나 여러 가지 동작을 하는 기계어 코드를 하나하나 다 외우고 적절히 배치하기에는 고도.

Page 7: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 7

의 훈련이 필요하므로 고수준의 이해하기 편한 고급 개발 언어로 일단 만든 후 컴파일러(Compiler)

와 링크 를 통해 기계어 코드로 바꾸어 주는 것이다(Linker) .

그림 에서 는 언어로 작성된 소스이고 은[ : Software Development Cycle] Source1, 2 C Source3

언어로 작성된 소스를 의미하고 문으로 되어 있다 반면 는 링크 입장에서는Assembly Text . Library

소스에 해당되지만 로 저장 되어 있지 않고 로 되어 있어 파일을 열어봐도 의미하Text Object Code

는 것을 알 수가 없다 소스는 각각의 단계를 거처 에러 없이 진행되면 부산물로 실행코드를 얻게.

된다.

그림 3. Software Development Cycle

엔지니어는 언어나 어셈블리언어로 작성한Firmware C 소스프로그램 을 기계어 코드로(Source File)

바꾼 후에 메모리에 적재하여 마이컴을 운용한다 그래서 기계어 코드로 만들어 주는 컴파일러의 성.

능에 따라 코드의 크기가 줄어들기도 늘기도 하며 명령어 조합 방식에 따라 마이컴의 실행 속도가

결정되기도 한다 통합 개발 환경에서 만들어진 고급언어나 어셈블리어로 만들어진 소스코드는 컴파.

일과 어셈블리어를 이용 일차 가공된 뒤에 링크를 통해 서로 연결된 뒤 실행 가능한 기계어 코드

값으로 만들어진다 코드는 에 집적 포팅 하기도 하지만 이렇게 되면HEX . HEX, Bin Target (Porting)

개발시간에 준비 작업이 많이 들어가게 됨으로 부분 JTAG Debug, MDS(Microprocessor

의 하드웨어 장비를 이용하여 검증하거나 여의치 않을 경우 소프트웨어Development System)

등으로 소프트 검정 단계를 거치는 것이 일반적이다 한번에 버그 없이 되는 응용 프로그Simulation .

램은 없기 때문이다.

알나간 알고 나면 간단( ) 컴파일(Compile)

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

어떤 언어로 된 원시 프로그램으로부터 그와 동등한 일을 하는 다른 언어로 생성하는 작업을 통칭한

다 분야의 컴파일러는 좁은 의미로 고급언어로 된 원시 프로그램을 어셈블리 언어나 기계. Firmware

어 등의 저급 언어로 된 목적 프로그램으로 번역하는 작업을 칭한다 컴파일은 원시코드를 몇 단계.

로 통과시켜 의 원시코드를 기계어 코드로 변환하는데 과정을 세부적으로 보면 우선 첫 번째 단계C

Page 8: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 8

에서는 C 프리프로세서 전처리기 가 호출된다 다음단계는 언어의 문법과 문형을( :Pre-Processor) . C

검사하고 어셈블리 코드로 변환한다 마지막으로 시스템에 맞는 이진 기계어 코드로 변환한다 이러. .

한 이진 코드를 오브젝트 코드라 하는데 여기까지 오면 링크 될 준비를 마친 것이다 링크 단계의.

목적은 프로그램을 실행 형태로 만들어 주는 것인데 오브젝트 코드와 외부 함수 라이브러리 루틴을,

참조한 후 연결하여 실행 가능한 코드파일로 만들어 준다.

Compiler

컴파일 작업을 하는 프로그램 즉 어떤 언어 주로 고급언어 로 된 원시 프로그램을 다른 언어 주로. ( ) (

기계어나 어셈블리 언어 로 된 목적 프로그램으로 바꾸는 프로그램 컴파일러는 원시 프로그램을 읽) .

어 들여 각 문장을 분석하고 그 의미를 알아내어 그에 응되는 목적 코드를 생성한다 또한 수행, .

중에 발생하는 에러의 처리와 복구를 하며 생성된 목적 프로그램과 라이브러리를 링크하기 위한 정

보를 생성한다.

Assembler

어셈블리 언어로 작성된 프로그램을 기계어로 번역하는 일을 하는 컴퓨터 프로그램 어셈블러는 어.

셈블리 언어의 원시 문장을 읽어 들여 코드를 해당되는 기계어 코드로 바꾸고 피연산자OP ,

에 나타내는(operand) 레이블 들을 실제의 주소로 변환하는 작업을 한다 또한 원시 프로그(Symbol) .

램에 한 리스팅을 생성하고 각종 오류 메시지와 진단 그리고 링크와 로드를 위한 재배치 정보를,

만들어 낸다 부분의 경우 어셈블러에. 마크로 기능이 추가된 것이 보통인데 이런 어셈블러(Macro)

는 매크로 어셈블러라고 부르기도 한다.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

의 종류에 해서 나타내면 다음 표와 같다 종류로는 비트부터 비트까지 다양한데IAR Compiler . 8 32

개발 환경은 비슷하다 본 매뉴얼은 도표에서 회색부분 소프트웨어를 설명할 때 언급한다. Firmware .

Page 9: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 9

표 2 마이크로프로세서에 한 시리즈의 종류와 칩 밴드. EW

Chip Manufacturer Microcontroller supportembedded

Workbench

EC++

support

Hardware

debugger

Acer Laboratories M6032, M6759 EW8051 ∨

Aeroflex UTMCUT80C196KD

EWX96 ∨ ∨UT69RH051

Analog Devices AduC8xx EW8051 ∨

ARMARM7, ARM9 ARM9E, ARM10

nitel®Xscale™EWARM ∨ ∨

Atmel

AT89x, T8xC51xxx EW8051 ∨

AVR, AT90S EWAVR ∨ ∨

AT91x EWARM ∨ ∨

TSC8xx251xxx EW251 ∨

Cygnal Integrated

ProductsC8051Fxxx

EW8051 ∨Cypress Semiconductor EZ-USB FX

Dallas Semiconductor DS2xxx, DS5xxx, DSxCxx

Infineon C500

EW8051 ∨Integrated Silicon Solution IS80xxx, IS89xxx

IntelMCS®51

MCS® 96/296 EWx96 ∨ ∨

Matra MHS 80C3x, 80C5x, 80c154 EW8051 ∨

Microchip

PICmicro® 16,17

(all 14&16bit cores)EWPIC ∨

PICmicro® 18 EWPIC18 ∨ ∨

dsPIC™ EWdsPIC ∨

Motorola68HC11 EW6811 ∨

68HC12 EW6812 ∨

National Semiconductor

CR16, DIP

EWCR16

EWDIP

EWCR16-DIP

NSC800 EWZ80 ∨

COP8 EWCOP8 ∨

CR16C EWCR16C-C ∨ ∨

CR16C, SC14xx EWCR16C-SC ∨ ∨

Page 10: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 10

표 3 마이크로프로세서에 한 시리즈의 종류와 칩 밴드 계속. EW -

NEC

78K0, 78K0/S EW78000

78K4 EW78400

V85x, V850E, V850ES EWV850 ∨ ∨

OKIMSM8xC154, MSM8xC5x EW8051 ∨

ML67xxx EWARM ∨ ∨

Renesas(former

Hitachi and

Mitsubishi)

64180 EWZ80

H8/300, H8/300L EWH8300

H8/300H, H8S EWH8

SuperH EWSH

740 EW740 ∨

7700 EW7700 ∨

M16C/1x-3x, M16C/6x,

R8C/1xEWM16C ∨ ∨

M32C, M16C/8x EWM32C ∨

R8C Tiny EWR8C ∨ ∨

Philips 80C51

EW8051 ∨Standard

MicrosystemsCOM20051, USB97Cxxx

SamsungSAM8 EWSAM8 ∨

S3C4xxx, S3F4xxx EWARM ∨ ∨

2. 설치EWARM Compiler

컴파일러 는 제품마다 거의 동일하게 지원되는 개발 환IAR (Compiler) GUI(Graphic User Interface)

경의 소프트웨어로써 코어별로 서로 다른 제품군을 이루고 있다 해당 마이크로프로세서의 제품을.

구입하면 와 매뉴얼 그리고 프린터포트에 연결하는CD 락키 가 노란색 에 포장되어 있(Lock Key) Box

는 것을 확인 할 수 있다 코어의 종류로는 시리즈 시리즈. ARM, AVR, 8051, X96 , PIC, 68XX , Z80,

등의 가지가 있다 사는 컴파일러의 이름을COP8, CR16C, SAM8 20 . IAR EW(Embedded

를 사용하여 제품에 적용하는데 예를 들어 이면 아트멜사의Workbench) ARM Compiler EWARM, AVR

컴파일러이면 이라고 부른다MPU EWAVR .

를 구동 실험하기 위해Quick Start / 평가 버전을 다운받기 위해서는 http://www.iar.com에 접속한 뒤

에서 프로세서 회사의 문자를 클릭하면 된다 보통 설치 뒤 일로 기간내에서 기능 전Product ARM . 30

부를 사용할 수 있는 컴파일러를 제공하므로 본 매뉴얼을 이용하여 충분히 검토가 가능하리라Free

고 본다 직접 웹으로 이동하기를 원한다면.

를 이용하자'http://www.iar.com/Products/EW/Download/Main.asp?product_id=40&type=DEMO' .

을 구입하면 에 기본적으로 일 평가판 과 바이트 코Quick Start Kit CD 30 (EWARM-EV-340C.exe) 30K

드 한계 의 두 종류의 컴파일러가 있다 일 한계는 시간이 지나면 더 이상(EWARM-KS-340C.exe) . 30

설치를 해도 설치 자체가 안 되므로 한도 버전을 추천해 주고 싶다 참고적으로 웹을 통해 다운30K .

받으면 최신 년 상반기 기준 의 일 평가판을 다운 받을 수 있다(2004 : V4.10B) 30 .

Page 11: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 11

컴파일러는 웹 사이트에서 다운 받아 사용하는 평가 버전도 시리얼 번호가 있는데 이 번호는 이IAR

메일을 통해 배포 된다 자신이 현재 받을 수 있는 메일을 정확히 기록해야 함은 물론이다 시리얼. .

번호를 받는 것도 한계의 버전은 다음 웹 사이트를 통해 접속한 뒤 개인 정보를 기입하고 등록30K

하면 이메일을 통하여 라이센스 번호가 보내준다Limited .

http://www.iar.com/Register/?tag=EWARM-KS32-CD 라이센스 받는 사이트0312 : 30K Byte

설치하기위해서 의 에 있는 을 실행하고 으로 코CD Root start.htm 'Install Software/Kickstart Version"

드 사이즈 한계는 있지만 거의 영구적 메일에는 년까지 으로 사용이 가능한 통합 개발 환경을( 2029 )

설치하자.

그림 4. Start.htm

해당 항목을 클릭하면 파일이 구동되고 설치 초기 화면이 나오는데EWARM-KS-340C.exe 'Install

하면 된다 밑에 있는 는 장비the IAR Embedded Workbench Kickstart' . 'Install Drivers' USB J-link

를 설치할 때 드라이버 파일을 제공해준다 설치할 때 필요하다. .

Page 12: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 12

그림 5 설치 초기 화면. EWARM

항목에서는 개인의 정보와 라이센스를 넣게 되는데 이미 메일로 발송된 상Enter User Information

태였을 것이다 메일로 온 자리 숫자로 구성된 라이센스를 카피해서 넣으면 된다. 14 . 항'#license#'

목의 코드가 흐린 것은 저자의 번호를 넣고 화면 저장해서 이를 수정했기 때문이다.

그림 6 설치화면 라이센스 기입. EWARM V3.40C -

라이센스를 기입 한 다음 를 클릭하면 다시 라이센스 키를 묻는데 이 번호는 좀 길다 한'Next' . 100

자는 될 것 같은데 중요한 것은 끝의 까지 카피를 해서 다음의 그림 설치화'#' [ : EWARM V3.10A

면 라이센스 키 기입 에 넣어야 한다 항목은 라이센스가 있는 경로를 결- ] . 'Read License Form File'

정하기 위한 것인데 설치경로를 의미하는 것은 아니다.

Page 13: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 13

그림 7 설치화면 라이센스 키 기입. EWARM V3.40C -

와 를license license key 항목에 정상적으로 입력하고 다음으로 넘어가면 설치 경로를 적절히 하고

을 선택하자 다음의 문자 박스는 메일을 통해서 라이센스를 받은 내용이다 여기에'Full' . . Expires라고적혀있다2029 .

Page 14: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 14

Dear IAR Customer,Here is the license number and activation key for the software you just registered at IAR Systems'website, IAR Embedded Workbench for ARM v3.40x, 32K Kickstart Edition.Your license number is:9503-xxx-xxx-xxxx

Your activation key is:VTOKS0KZKA44U730G76QGMSDMBHH9T0HT9KITJVCZ6AGJZ7H4S8H0PSZM3Q27LRTD3PXRGDYE2I1F0ZXR6WN76RVJG14QQX9K432KLCQBN54X4WDZLS14EB2X2H154QP4B40WDU2JTC3FLA1CLMULO2MP4RJ5HIM4SF22JHS2XN3DKYCSAVY3BYMYRN# Feature: EWARM-KS32 Version:02_WIN Temporary license (Licno:9503-xxx-xxx-xxxx), expires 2029-04-01This key will enable the full functionality of the product.Follow these steps to install the IAR Embedded Workbench license key:Select the KickStart Version from the Install Software menu and follow the instructions in theinstallation program.You will be prompted for the license number and key. Simply cut and paste them from the e-mail youreceive into the text boxes and continue with the installation.Once the installation is complete, the EWARM-KS is fully functional and ready to go.Please note that the IAR Embedded Workbench product does not include technical support or productupgrades. A Support and Upgrade Agreement (SUA) can be purchased separately from IAR Systems.Good luck with your IAR Embedded Workbench project!Kind regards,IAR Systems

다음은 박스 안에 들어 잇는 의 폴더와 구성 내용 그리고 를 설치한 뒤의 폴더CD EWARM V3.40C

정보를 보여 준다 컴파일러 설치가 끝나면 약 정도의 하드디스크 용량과 개의 폴더가 생긴. 70M 49

다.

표 4 설치 내용. IAR EWARM CD

설치 폴더CD 구성 내용

HTML 웹과 관련된 아이콘 파일들이 들어 있다.

Install_Software설치 두개의 설치 파일EWARM ( ), LPC2000_Flash Utility, MakeApp,

의 폴더가 있다Sample_Source, VisualState .

Product_Info 제품사용법등의 매뉴얼

QuickStart 파일 하나만 들어있다QuickStart.pdf .

Page 15: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 15

표 5 의 설치 폴더내용. IAR EWARM Compiler Version 3.40C

설치된 뒤의 폴더 구성 내용 평가 버전 기준( )

ARM

bin 통합 개발 환경의 실행 파일들이 들어 있다Compiler .

Config 파일SFR , Target Platform

Doc 설명서

Inc Header File

layouts 파일이 들어 있다Default.lew .

Lib 파일 라이브러리*.r79

Src 폴더CSPY, LIB, Template

Tutor 예제Sample

Common

Bin 통합 환경 등의 실행파일Xlink, Xlib,

Doc 설명서

Src Xlink Source

컴파일러 통합 환경을 다 설치하면 오른쪽 하단의 작업 표시줄 아이콘 박스에 태양이 떠오르는 적' '

색 아이콘 가 있게 된다 아이콘은 여러 종류의 컴파일러를 모아서 관리하는 것으로'IAR Launcher' .

설치된 컴파일러가 많다면 이용하도록 추천한다 저자의 에 과. PC EWAVR 8051, EWAVR2.28a, UML

를 설치했을 때의 환경이다 아이콘의 환경을 수정하기 위해서는 아이콘에 화Tools . 'IAR Launcher'

살표를 놓고 마우스의 오른쪽 버튼을 클릭하면 된다.

그런데 왜 라는 단어를 사용했을까 사전에는 발사'Launcher' ? 1)라고 되어 있는데 스웨덴의 프로그

래머들은 그렇게 생각되나 하는 의구심이 생겼다 나중에 기회가 닿으면 한번 질문할 계획을 가지고.

있는데 사실 프로그램을 작성하고 제품을 만들었을 때 작명 이것 또 잘 안될 때는 무지하게 스트레,

스로 다가온다 이럴 때면 사전이라는 사전은 다 꺼내놓고 단어 공부를 하는데 그래도 이름 짓기가.

만만하지 않을 때가 있다.

그림 9 설치된 컴파일러. IAR Launcher 그림 10. 프린터포트 락키 동글( )

시리즈 컴파일러가 실행된 상태에서 또 다른 프로젝트 파일을 클릭하거EW(Embedded Workbench)

1) 최진만 의 의견 의 을 클릭하면 그 위로 메뉴가 튀어 올라오기 때문에 그렇게 명명한 것 같음: Task Bar Icon .氏

Page 16: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 16

나 통합 환경을 프로그램을 실행하면 계속해서 화면에 나오게 된다 이유는 개발자가 각각 다른 환.

경의 프로젝트를 띄워 놓고 프로그램 작성이 가능하도록 하기 위한 실행이다Multi .

평가 버전 또는 코드 한계의 프로그램에서는 필요 없는 이야기이지만 의 프린터포32K EWARM PC

트에 연결되는 락키 그림[ : 프린터포트 락키 는 프로그램을 실행하거나 프로그램을 편집할 때는 없]

어도 되지만 통합 환경을 실행 하거나 컴파일 할 때 그리고 를 사용할 때는 락키의 고유값을C-SPY

읽어오기 위해 실행전에 점검을 한다 락키는 에 전원이 공급되어 있는 상태에서 체결을 변경하면. PC

전기적 정전기에는 문제없다 으로 파손될 우려가 있으므로 전원을 한 뒤 변경하는 주의가 필( ) PC Off

요하다.

3. Quick Start

필립스사에서 출시되고 있는 비트 은32 RISC LPC2106 로 이며평가보드를이ARM7TDMI-S ARM Core용하여 실험할 수 있도록 환경을 제공해 준다. 본 설명서는 관련 의 사용법과 보드의 동ARM Compiler

작을 통하여 구현해 보고 기능을 이해하는데 목적이 있다ARM .

그림 11 박스 외관. ARM7 Study Quick Start

처음부터 비트 프로세서와 복잡한 주변 개발 환경을 한꺼번에 익히게 되면 흥미를 잃게 되므로32

를 통하여 빠르게 실행해보고 개념을 잡는데 이용하기를 바란다Quick Start .

알나간 CISC, RISC, EISC

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

CISC 는 마이크로프로그래밍을 통해 고급 언어에 각기 하나씩의(Complex Instruction Set Computer)

기계어를 응시킴으로써 명령어 집합이 커지고 가변 길이의 다양한 명령어를 가진다 그러나 주로, .

쓰이는 명령어는 일부에 불과하고 구조가 복잡하므로 가격이 비싸고 전력소모도 크다는 단점이 있,

다 그래서 자주 쓰이지 않는 명령어들은 소프트웨어로 구현하고 자주 쓰이는 명령어만 간략화 하여.

의 성능을 높인 가 고안되었다 는 범용 마이크CPU RISC . RISC(Reduced Instruction Set Computer)

로프로세서의 명령세트를 축소하여 설계한 컴퓨터를 말한다 범용으로 사용되는 마이크로프로세서.

Page 17: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 17

구성 요소에는 명령세트 레지스터 메모리 등이 있는데 명령세트는 와 로 분류할 수 있다, , RISC CISC .

는 소프트웨어 특히 컴파일러 작성을 쉽게 하기 위해 하드웨어로 할 수 있는 것은 가능한 모두CISC ,

하드웨어에게 맡긴다는 원칙 아래 설계된 컴퓨터이다 반면 는 실행 속도를 높이기 위해 가능한. RISC

한 복잡한 처리는 소프트웨어에게 맡기는 방법을 택한 컴퓨터이다.

RISC 는 첫째 명령의 부분은 머신 사이클에 실행되고 명령(Reduced Instruction Set Computer) , 1 ,

길이는 고정이며 명령세트는 단순한 것으로 구성되어 있는데 가령 메모리에 한 액세스는, ,

명령으로 한정되어 있다 둘째 어드레싱 모드가 적으며 마이크로프로그램에 의한 제어Load/Store . ,

를 줄이고 와이어드 로직을 많이 이용하고 있다 반면에 레지스터수가 많으며 마이크로프로그램을, .

저장하는 칩의 공간에 레지스터를 배치한다 셋째 어셈블러 코드를 읽기 어려울 뿐 아니라 파이프라. ,

인을 효과적으로 사용하기 위해서 일부 어셈블러 코드를 시계열로 나열하지 않은 부분이 존재하여

컴파일러의 최적화가 필요하다 최적화를 하지 않으면 파이프라인을 유효하게 이용할 수 없고. , RISC

을 사용하는 의미가 없어진다.

EISC 는 확장 레지스터 와 확장 플래(Extensible Instruction Set Computing) (ER : Extension register)

그 라는 새로운 개념을 도입하여 고정길이명령어로 구조를 구현한 것이다 컴퓨(E : Extension flag) .

터의 명령어는 동작을 나타내는 와 그 동작을 받는 로 구성되며 는 단순Op-Code Operand , Operand

한 이고 실제의 의미를 부여하는 것이 이다 를 와 독립적인bit string Op-Code . Operand Op-Code bit

으로 해석하면 가 필요로 하는 길이만큼 를 확장하는 명령어 구조 체계를 만string Op-Code Operand

들 수 있는데 이를 응용한 것이다 명령어 구조는 길이를 필요한 만큼임의 길이로 확. EISC Operand

장이 가능하므로 마이크로프로세서를 모두 동일 명령어 구조로 설계할 수 있다16/32/64 bit . EISC

의 국제 특허를 가지고 있는 회사는 이다www.adc.co.kr .

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

컴파일러를 이용하여 프로그램 한다는 것은 구태여 어셈블리를 모르거나 마이크로프로세서에 해

그렇게 자세히 알지 못해도 운영 프로그램을 만들 수 있는 환경을 개발자에게 제공해 주Application

는 장점이 있다 예전에는 비교적 여러 엔지니어들이 힘을 모아 공동으로 기능 별로 나누어 코. Part

딩을 했지만 외환위기 이후에는 개발 인원이 줄고 준비 기간도 짧아져 실제로 개발자들이 상당한 스

트레스를 받는 것이 현실이다 여기에 프로세서라도 바꿀 양이면 그 가중감은 이루 말할 것이 없다.

고 생각된다 가 이런 상황을 어느 정도 해결해 주는데 이때 사의 컴파일러처럼 가. Compiler IAR GUI

비슷한 개발 환경은 코딩에 보다 빠르게 접근하게 해준다 여기서 학습한 것으로 마이크로프로세서.

엔지니어와 관련되는 분들의 빠르고 정확한 컴파일러 환경에 해 익히는 기회가 되었으면 한다.

통합 실행 아이콘IAR Launcher ( 을 클릭하여 컴파일러를 선택하면 다음과 같은 화면 그) EWARM [

림 실행 화면 이 나오게 된다 옵션 사항을 선택하는가에 따라 설치 뒤에 바로 샘플 프로: EWARM ] (

젝트를 불러 올수도 있다 설치된 경로에서 실행파일로 하고 싶을 경우는 윈도우의 시작). Run '

에서/Program/IAR Systems/IAR Embedded Workbench for Atmel ARM' IAR Embedded

Workbench( 를 선택하거나 설치된 경로에서 설치경로 파일을 실) ' Common Bin IarIdePm.exe'\ \ \

행해도 개발 통합 환경이 뜨게 된다 에 가서 버전을 확인해서 원하는 버전인지를. 'Help/About .'……

확인해 보자.

Page 18: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 18

그림 12 실행 화면. EWARM

컴파일러가 설치되고 장비와 실험용 가 있다는 하고 다음을 계속 진행하자 경로Board . "CD

의 압축 파일을 적절한 폴더Install_Software Sample_Programs Philips_Kickstart_examples.exe"\ \ \

로 옮겨 압축을 푼다 이때 빈 경로가 무척 많이 생기는데 실제 소스가 들어 있는 폴더만 가지고 와.

도 된다.

장비를 에 연결하면 설치가 이루어지는데 이때 드라이버 파일의 경로를 적절히 링J-link Debug USB

크해야 한다 노란색의 설치 화면에 있는 모양 아이콘을 클릭하면. IC 'Install Driver' 'Jlink',

개의 경로가 생긴다 이중에서 이다Macraigor', 'Okiusb' 3 . 'Jlink' .

Page 19: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 19

그림 13 장비. J-link Debug

이제 준비가 끝났는데 구동 예제 프로그램을 의 메뉴에서 위에서 압축을 푼 예제 코LED 'File/Open'

드 경로를 지정하여 를 불러온 뒤 윈도우에 배치를 하면 다음 그림과 같이 된'QuickStartCard.eww'

다.

Page 20: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 20

그림 14 예제. QuickStartCard Workspace

로 표시 에는 개의 프로젝트가 만들어져Sample Source QuickStartCard(KickstartVard ) Workspace 3

있다.

개의 쉬프트 동작RuningLight : LED16

의 움직임을 공으로 생각하고 야구를 하는 오락Shoot : LED

시리얼 통신 샘플 프로그램UARTEcho :

또 각각의 프로젝트에는 다음 가지의 상태로 운영해 볼 수 있도록 친절히 만들어 놓았다3 .

를 이용하여 로 운영가능J-link : USB JTAG Debug Source Level

모니터 프로그램으로 운영된다ROM-Monitor : .

에 넣어 혼자서 운영되도록 한다Stand Alone : Flash Memory .

차례로 하나씩 를 통해 익히고 난 다음 응용 프로그램을 작성하면 어느 정도Quick Start (Application)

을 익히는데 도움이 될 것이다ARM .

3.1. J-link Quick

Page 21: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 21

내부에는 이 하드웨어적으로 탑재 되어 있는데 이를 소프트웨어와 연계하여ARM7TDMI Chip JTAG

언어로 집적 디버깅을 할 수 있다 그동안 어셈블리언어로 개발했거나C . MDS(Microprocessor

없이 개발한 엔지니어라면 이 장비와 기능이 얼마나 효율이 높은지를 알 수Development System)

있다.

를 이용하여 실행과 디버깅을 하기 위해서는 상단에 있는 적색 부분J-link Project (Configuration

의 항목을 먼저 선택하자 이름은 사용자가 임의 로 만들 수 있지만 을 사용하기 위해서Menu) . JTAG

옵션을 적절하게 사용해야 한다 이 프로젝트 에는 코드를 포함하여 소스 프. 'RunningLight' Startup

로그램이 개가 있는 것이 된다4 .

그림 15 설정. J-link

는 를 사용하기 위한 설정 정보가 들어 있는데 메모리의 크기나 상태를 지정하Start-up Code J-link

는 에 해당한다 확장자는 이며 어셈블리 언어로 되어 있다 어셈블러가 어셈을 하게 되Source . *.S79 .

면 로 되어 다른 컴파일 된 소스와 링크되게 된다 보통 하드웨어에 한 정보가 들어 있는데*.S79 .

설계자는 새로 만들기는 좀 불편하므로 자신의 상황에 맞게 설치경로Hardware ' ARM SRC LIB'\ \ \

의 파일을 이용하여 수정하여 사용하면 되겠다 단 파일 이름을 다시cstartup.s79, swi_handler.s79 .

만들어 나중에도 원본 파일로 참조 할 수 있도록 하자.

항목은 컴파일과 개발 환경에 있어서 코드를 하드웨어와 연결하는 다리 역할을 하므로 반드Option

시 확실히 익힌 뒤 개발에 임하는 것이 좋다 여기서는 간단히 중요한 시리즈에 관. Philips LPC210x

계된 에 해서만 다루며 좀더 자세히 익히고자 할 경우 다음의 파일을 참고 하길 바란다Option .

환경의 자세한 설명PAT_APP_D17_How to use IAR ARM Compiler_EWARM_Vx : EWARM IDE

환경의 빠른 익히기PAT_APP_D18_IAR EWARM Compiler Quick Start Vx : EWARM IDE

은 하드웨어에 한 설정인데 중요한 부분이다 잘못되면 포팅하고'Option/General Setting/Target' .

난 뒤에도 동작하지 않는 사태가 벌어질 수도 있다.

Page 22: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 22

그림 16. Option/General Setting/Target

의 에 한 선택Core : ARM Core , 'ARM7TDMI-S'

신에 칩의 이름을 선택해도 된다 경로에 들어가면 시리즈 가지가 있다Chip : Core . LPC2100 3 .

을 나타내며 내부에 설정되는 것이다 시리즈는 없으므로FPU : Floating Point Unit Chip . 2100

으로 한다'None' .

코드 사이즈에 한 모델을 나타낸다Code Model : .

비트 비트 을 선택한다 두 가지 유용하다Processor Mode : 32 ARM, 16 Thumb . .

두 가지가 있으며 하드웨어 소프트웨어적으로 선택하여 처리가 가능하다Endian Mode : Little, Big / .

스택 정렬의 바이트 크기를 나타낸다Stack Align : .

은 컴파일 할 때의 출력형식을 결정하는 것으로 디버깅 정보를 내'Option/C C++ Compiler/Output'

포해야 하므로 적색 동그라미처럼 항목을 선택한다'Generated Debug Information' .

Page 23: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 23

그림 17. Option/C C++ Compiler/Output

은 컴파일 뒤 링크 출력 형식에 한 옵션을 나타낸다 역시 자세한 사항은'Option/Xlink/Output' .

를 살펴보고 여기서는 적색 부분의 동그라미 부분'How to use .' Document 'Debug information……

항목을 선택하자 시리얼 통신을 이용하여 같은 입 출력 내부 함수With C-SPY Runtime I/O' . printf /

를 운용하고자 할 경우 유용하다.

그림 18. Option/Xlink/Output

항목은 에 따라 컴파일러에 의해 만들어진 을 링크하고 적'Option/Xlink/Include' Memory Map Table

제 하는 역할을 해 준다.

Page 24: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 24

그림 19. Option/Xlink/Include

기존 에서 추천해 주는 라이브러리를 링크하거나 를 통해Library : IAR 'Ignore CSTARTUP in Library'

무시 할 수도 있다.

를 선택하여 파일을 링크해 오거나 선택된 파일의 내용을 설XCl File Name : 'override Default' XCL

정 할 수 있는 을 선택 할 수 있다'XCL File configuration' .

된 파일이 무엇인지 여기서는 간단한 사항을 알아보고 가자 에서 첨부된 파일은Include XCL . XLINK

이다 이 파일은 설치경로LPC2106_JLink.xcl . ' ARM src examples Philips LPC210x KickstartC\ \ \ \ \ \

에 있다 은 메모리 맵과 하드웨어에 관련된 정보를 적어 놓은ard' . XCL(Extended Command Line)

파일이라고 할 수 있다 의 시작 번지와 메모리의 크기 그리고 링크의 옵션을 나타내는. Reset Stack/

링크에 명령을 넣어 주는 리스트에 해당되며 과는 다르다Start Up .

예시된 코드에서 밑줄 친 부분은 하드웨어의 맵 설정에 따라 반드시 맞추어 주어야 하므로XCL

가 변경되면 이 부분을 고처 주어야 한다 코드를 전부 불러오는 것은 피하고 여기서는 필Hardware .

요한 부분만 발췌해서 설명했다.

//==================================================================

// LPC2106_JLink.xcl

// XLINK command file template for EWARM/ICCARM

// Usage: xlink -f lnkarm <your_object_file(s)> <C/EC++ runtime library>

// $Revision: 1.1 $

// Exception vectors [0x000000--0x00001F] RAM or ROM

// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)

// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)

Page 25: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 25

-carm 을 나타낸다// CPU ARM .

-DROMSTART=40000000 의 시작 번지// ROM

-DROMEND=40009FFF 의 마지막 번지// ROM

-Z(CODE)INTVEC=40000000-4000003f 가 있는 위치// Interrupt Vector

-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND 실행 코드의 범위//

-Z(CODE)SWITAB=ROMSTART-ROMEND

-Z(CODE)NEARFUNC_T,NEARFUNC_A=ROMSTART-ROMEND 범위// near Jumper

-Z(CODE)FARFUNC_T,FARFUNC_A=ROMSTART-ROMEND 의 범위// Far Jumper

-Z(CONST)NEARFUNC_T_ID,NEARFUNC_A_ID=ROMSTART-ROMEND

-Z(CONST)FARFUNC_T_ID,FARFUNC_A_ID=ROMSTART-ROMEND

-Z(CONST)INITTAB,HUGE_ID,HUGE_C=ROMSTART-ROMEND

-Z(CONST)CHECKSUM=ROMSTART-ROMEND

-DRAMSTART=4000A000 의 시작 번지// RAM

-DRAMEND=4000FFFF 의 마지막 번지// RAM

-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=RAMSTART-RAMEND

-Z(DATA)NEARFUNC_T_I,NEARFUNC_A_I=RAMSTART-RAMEND

-Z(DATA)FARFUNC_T_I,FARFUNC_A_I=RAMSTART-RAMEND

-QNEARFUNC_T_I=NEARFUNC_T_ID

-QNEARFUNC_A_I=NEARFUNC_A_ID

-QFARFUNC_T_I=FARFUNC_T_ID

-QFARFUNC_A_I=FARFUNC_A_ID

-D_CSTACK_SIZE=2000 크기 설정// C Stack

-D_IRQ_STACK_SIZE=100 크기 설정// IRQ Stack

-D_HEAP_SIZE=2000 크기 설정// Heap

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND

-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND

//==================================================================

은 위와 같이 설정된 파일의'Option/Xlink/Include/XCL File Configuration/Regions' XCL Memory

을 추가하거나 제거 할 때 사용한다 변경했을 경우는 파일의 엎어 쓰기를 할 것인지를Map . *.XCL

선택해야 한다 하지만 파일의 정보를 으로 불러 올 때 문을 해. *.XCL 'XCL File Configuration' Text

석해서 화면에 보여 주는 고도의 것이 아니므로 주의가 필요하다 아직은 단지 정정과 정정된 내용.

을 기록 할 수는 있다 는 메모리 맵의 상태를 도식화해서 나타내준다. 'View' .

Page 26: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 26

그림 20. Option/Xlink/Include/XCL File Configuration/Regions

항목은 의 크기를 설정'Option/Xlink/Include/XCL File Configuration/Stack & Heap' Stack, Heap

하고 내부메모리 외부 메모리 영역을 선택하는 이다 마찬가지로 변경된 값만 새롭게 저장 될/ Config .

수 있으며 를 해석해서 그래픽으로 보여주는 것은 아니다Text .

그림 21. Option/Xlink/Include/XCL File Configuration/Stack & Heap

알나간 영역HEAP

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

영역은 프로그램 실행 중에 동적으로 할당되는 메모리의 첫 위치이다 동적으로 할당될 수 있HEAP .

는 메모리의 크기는 이 영역부터 의 첫 위치까지가 된다 보통의 에HEAP STACK . Embedded System

서 컴파일러에 의해 제공되는 동적으로 메모리를 할당하거나 해제하는 기능은 아주 제한적으로 제공

되는데 동적인 메모리는 시스템에 치명적일 수 있으므로 조심해서 사용되어야 하기 때문이다.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

후에는 항목을 설정하자 이곳에서는 컴파일과 링크되고 디버거 할 수 있는Xlink 'C-SPY Debug' .

Page 27: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 27

정보를 탑재한 실행 파일을 장비를 통해 에 보내 주기 위한 프로그램이다 드라이버JTAG ARM Chip .

엔진은 와 를 연결한 검정색 손바닥만한 크기의 그리고 소프트웨어 드라이버가 연결JTAG USB J-link

되면 소스 상에서 실행과 정지 변수들을 실시간으로 알 수 있다C , .

그림 22. Option/C-SPY Debugger/Setup

항목에서 가장 중요한 사항이며 드라이버의 설정으로 다음 탭의 환경설정이 활성화Driver : Setup

된다 소프트웨어로 을 실행하는 사의. ARM Simulator, JTAG J-link, Macraigor, ARM RDI,

모니터 프로그램을 탑재한 후 실행하는 등이Third-party Driver, IAR ROM-Monitor, Angel

있다.

로 운영하기 위한 설정이다 사용하지 않을 경우RTOS Support : Real Time O/S . None, UC/OS- ,Ⅱ

등이 있다CMX-RTX, ThreadX, Fusion .

디버그 환경을 시작 할 때 함수에서 혹은 코드에서 실행하는가에Run to : C-SPY Main Startup

한 선택 적극 활용하는 것이 좋다, .

로 일괄 명령처리를 기록해 놓은 것으로 확장자는 로 되어 있다Setup Macro File : Text *.MAC .

칩에 한 설정이 들어 있다 여기서는 시리즈에 활용할Device Description File : ARM . LPC2100

수 있도록 관련 정보가 들어 있다.

여기서 디바이스 관련 설정 설정을 잠시 살펴보면 다음과 같다 파일의 이름은 이며 사. iolpc210x.ddf

용자가 특별히 수정할 사항은 없다 이 파일은 사에서 제공되어 엔지니어가. Philips IAR IDE EWARM

환경에 맞게 설정한 것으로 보이는데 주로 과 에 관한SFR(Special Function Register) Memory Map

설정 내용이다.

//====================================================================

파일이름; : iolpc210x.ddf

의 정의; IOLPC210X Peripheral I/O registers, Interrupt/Exception vector

; This definition file can be used by the C-SPY debugger,

; all flavours (simulator, emulator and ROM-monitor).

Page 28: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 28

; from the device file: iolpc210x.h

[Sfr]

; Name Zone Address Bytesize Displaybase

; ---- ---- ------- -------- -----------

sfr = "VICIRQStatus" , "Memory", 0xFFFFF000, 4, base=16

sfr = "VICFIQStatus" , "Memory", 0xFFFFF004, 4, base=16

중략...

sfr = "VICVectCntl14", "Memory", 0xFFFFF238, 4, base=16

sfr = "VICVectCntl15", "Memory", 0xFFFFF23C, 4, base=16

; Pin connect block

; Name Zone Address Bytesize Displaybase

; ---- ---- ------- -------- -----------

sfr = "PINSEL0" , "Memory", 0xE002C000, 4, base=16

sfr = "PINSEL1" , "Memory", 0xE002C004, 4, base=16

; GPIO

sfr = "IOPIN" , "Memory", 0xE0028000, 4, base=16

sfr = "IOSET" , "Memory", 0xE0028004, 4, base=16

sfr = "IODIR" , "Memory", 0xE0028008, 4, base=16

sfr = "IOCLR" , "Memory", 0xE002800C, 4, base=16

; UART0

sfr = "U0RBRTHR" , "Memory", 0xE000C000, 1, base=16

sfr = "U0IER" , "Memory", 0xE000C004, 1, base=16

sfr = "U0LSR" , "Memory", 0xE000C014, 1, base=16

sfr = "U0SCR" , "Memory", 0xE000C01C, 1, base=16

; UART1

sfr = "U1RBRTHR" , "Memory", 0xE0010000, 1, base=16

sfr = "U1IER" , "Memory", 0xE0010004, 1, base=16

; I2C

sfr = "I2CONSET" , "Memory", 0xE001C000, 4, base=16

sfr = "I2STAT" , "Memory", 0xE001C004, 4, base=16

; SPI

sfr = "S0SPCR" , "Memory", 0xE0020000, 4, base=16

sfr = "S0SPSR" , "Memory", 0xE0020004, 4, base=16

; TIMER0

sfr = "T0IR" , "Memory", 0xE0004000, 4, base=16

sfr = "T0TCR" , "Memory", 0xE0004004, 4, base=16

; TIMER1

sfr = "T1IR" , "Memory", 0xE0008000, 4, base=16

sfr = "T1TCR" , "Memory", 0xE0008004, 4, base=16

; PWM

sfr = "PWMIR" , "Memory", 0xE0014000, 4, base=16

Page 29: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 29

sfr = "PWMTCR" , "Memory", 0xE0014004, 4, base=16

; RTC

sfr = "ILR" , "Memory", 0xE0024000, 4, base=16

sfr = "CTC" , "Memory", 0xE0024004, 4, base=16

; Watchdog

sfr = "WDMOD" , "Memory", 0xE0000000, 4, base=16

sfr = "WDTC" , "Memory", 0xE0000004, 4, base=16

; System control block

sfr = "MAMCR" , "Memory", 0xE01FC000, 4, base=16

sfr = "MAMTIM" , "Memory", 0xE01FC004, 4, base=16

;; Group info for SFR Window.

[SfrGroupInfo]

group = "VIC","VICIRQStatus","VICFIQStatus","VICRawIntr","VICIntSelect","VICIntEnable","VICIntEnClr"

중략 .……

group = "Pin connect block","PINSEL0","PINSEL1"

group = "GPIO","IOPIN","IOSET","IODIR","IOCLR"

이하 중략 .……

//====================================================================

에서 를 선택했다면 이 활성화되면서 디버그의 보다 자세한 사항 옵'Setup' 'J-Link' J-Link Tab JTAG

션이 있다.

그림 23. Option/C-SPY Debugger/J-Link

비 휘발성 메모리의 디버깅에 사용되며 이 부분에 다운로드를 하지 않는다Suppress Download : .

최소한 한번은 기록되어야 하며 똑같은 것을 되풀이해서 다운로드 할 필요가

없을 경우 사용한다.

Page 30: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 30

다운로드 뒤에 보낸 파일과 다운로드 된 파일을 비교한다Verify All : .

에 설정된 속도로 다운로딩 한다LPC210x Flash Download : CCLK .

단위로 입력CCLK : ㎑

코드를 다운로드 했을 때도 신호를 발생하지 않는다No Reset at Debugger Startup : Reset .

소프트웨어 을 실행Reset Asserts Hardware Reset Pin : Reset

기입한 단위만큼 지연 뒤에 하게 된다Delay after Reset[ ] : Reset .㎳ ㎳

의 실행Reset Asserts nTRST : JTAG Reset

JTAG Scan Chain with multiple targets : 를 시용하여 복수개의 연결TAP(Test Access Port) JTAG

할 때 사용

다중 처리하기 위한 의 개수Use TAP Number : TAB

의 접속 속도JTAG Speed : JTAG

사용자 접속과 이벤트 등의 파일을 기록하는 경로와 파일이름 설정Log Communication : Log

옵션을 선택하고 다 설정 한 뒤에 컴파일과 링커를 거친 다 이때 워닝은 상관없지만 에(Rebuild All) .

러 없이 완료되어야 를 통하여 에뮬레이터가 가능하다 문제없이 링크를 마쳤다면J-link JTAG .

보드와 그리고 를 모두 연결하고 전원을 넣은 다음 아이콘Target J-link USB ( 혹은)

항목을 선택하면 와 를 통하여 인터페이스 하면서 로'Project/Debugger' Target Board USB C-SPY

들어간다.

시뮬레이터나 에뮬레이터를 통해서 고급 디버그를 해보길 원한다면 장 항목을 보도록 하자4 C-SPY .

이곳에서는 자세한 옵션과 효과적인 디버그 사용법에 해 서술해 놓았다.

알나간 에서 통상적으로 사용되는 파일IAR Compiler

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

확장자*.eww : IAR Embedded workbench Workspace

확장자 보통 이상의 버전에서 사용*.ewp : IAR Embedded Workbench Project , V3.10

확장자*.prj : IAR Embedded Workbench Project

언어로 작성된*.c : C Program Source

언어 파일 설치된 프로그램 폴더 에 있다*.h : C Header Source , ' inc' .\

어셈블러*.inc : 매크로(Header File)

링크 를 거친 뒤의 최종 보고서 내용물을 숙지하는 버릇을 들인다*.map : (Xlink) , .

컴파일러 뒤에 생성되는 보고서*.lst :

*.mac : C-SPY Macro Definition

초기화 하는 파일*.xcl : Extended Command,

*.xlb : Librarian Command

에서 사용*.ddf : Device Description File, C-SPY

*.r79 : Object Code

컴파일과 링크 를 거친 뒤의 디버그 정보가 포함되어 있는 출력파일*.d79 : (Xlink)

와 동일*.dbg : d79

를 거친 뒤 생성되는 코드 파일*.a79 : Xlink HEX

어셈블리 언어로 만들어진*.s79 : Source

Page 31: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 31

는 숫자로 된 접미어를 통해 를 구분한다IAR Compiler CPU .

인텔사의 파일 형식03 : 8051

인텔사의 파일 형식32 : 80x96

사의 파일 형식43 : TI MSP430

파일 형식79 : ARM

아트멜사의 파일 형식90 : AVR

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

3.2. Monitor Quick

다음은 에 예정된 프로그램을 미리 포팅하고 실행 코드를 불러와 하는 모니ARM7TDMI-S HEX Run

터 실행에 관한 것이다 즉 모니터를 탑재한 다음 컴파일된 실행 코드를 영역으로 불러놓고 그. RAM

쪽 번지로 점퍼 하여 실행하는 것인데 이런 방법을 라고 한다ROM Monitor .

보통 의 시리얼 통신을 이용하여 보드와 통신하고 와 보드끼리 통신이 가능한 과RS-232 PC Protocol

통신속도가 사전에 약속 되어 있어야 한다 보드는 되면 시리얼 통신의 프로토콜을 열어 놓고. Reset

명령어를 기다리다가 데이터 수수가 이루어지면 마이크로프로세서 실행 파일을 보드의 에 저장RAM

해 놓고 실행하고자 하는 번지를 로 이동하면 그 번지부터 실행하는 원리이다PC(Program Count) .

프로그램이 길면 길수록 로딩 하는데 시간이 걸리고 의 크기에 따라 코드의 크기에 제약이 따르RAM

게 된다.

일단 기본이 되는 모니터 프로그램을 실행 할 수 있는 코드를 에 로딩 해야Hex LPC2106 ARM Chip

하는데 이때 를 이용하면 된다 시리얼 포트를 연결한 다음 보드에 전원을'LPC 2000 Flash Utility' .

넣고 다음과 같이 프로그램을 실행하자 먼저 오른쪽 상단의 적색 동그라미처럼 와 통신속도를. Port

확인하고 를 선택하면 통신 선로에 이상이 없다면 와 를 화면에'Read Device ID' Part ID Loader ID

나타내준다 또 동기적으로 로딩이 되기 위해서 핀 의 번과 번핀에 각각. RS-232 9 D Type 4 7 Reset,

관련 핀이 동작 하게 하기 위해 를 로 한다INT1 ISP Check Box 'v' .

모니터 프로그램은 설치 경로에 있는 의 핵사 코드이다 이Quick Start IAR_LPC210xRomMon.hex .

실행 파일을 필립스의 부팅 영역에 기록해 놓기 위해 경로에서 올바로 파일이'Flash Programming'

름을 선택하고 하면 파란색 진행막 가 이동 하면서 하게 된다‘Upload to Flash' Writing .

Page 32: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 32

그림 24 실행. LPC 2000 Flash Utility

모니터를 이용하여 실행과 디버깅을 하기 위해서는 상단에 있는 적색 부분ROM Project

의 항목을 먼저 선택하자 이름은 사용자가 임의 로 만들 수 있는데 사실 이(Configuration Menu) .

항목은 이름뿐이다 옵션을 올바르게 적용해야한다 프로젝트는 키 입력으로 간단한 게임을 할 수 있. .

는 을 이용했으며 코드를 포함하여 소스 프로그램이 개가 있다'Shoot' Startup 4 .

그림 25 설정. ROM Monitor

에서는 소스코드를 선택적으로 컴파일과 링크를 하는 방법이 있는데 전처리기ANSI C

가 여기에 해당한다 동일한 프로그램에서 특별한 모니터 부분만 꺼내어 컴파일 하(Preprocessor) .

기 위해서 다음과 같이 사용 되었다 소스 파일의 일부인데 단어. Shoot.c 'ROM_MONITOR_DEBUG'

가 전처리기에 어떻게 사용되었는지 나타낸다.

//====================================================================

#ifdef ROM_MONITOR_DEBUG 의 항목에 있을 경우 컴파일 된다// Compiler Define , .

LPC210xInitExternalInterrupt2(UserButtonHandler);

Page 33: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 33

#else // ROM_MONITOR_DEBUG 단어가 없을 경우 컴파일 된다.

LPC210xInitExternalInterrupt0(UserButtonHandler);

#endif 전처리기 항목의 끝//

LPC210xInitTimer();

#ifdef ROM_MONITOR_DEBUG 전처리기 시작//

LPC210xInitEINT2(); 롬 모니터인 경우는 를 사용한다// INT2 .

#else

LPC210xInitEINT0();

#endif 전처리기 항목의 끝//

소스 프로그램을 선택적으로 컴파일하기 위해서는 다음과 같이 설정하고 전처리기에 사용되는 단어

는 언어가 그렇듯이 소문자를 구분 하게 된다 보통은 를 나타내기 위해 문자를C . Preprocessor

사용한다 추가를 원한다음 다음 라인에 기록하면 된다. .

그림 26 모니터 실행의 전처리기. ROM

항목은 실행 파일의 을 결정하므로 중요하다 와 등의 기본'Option/Xlink/Output' Format . printf sacnf

적인 출력 함수를 디버깅하기 위해서는 를 선택해야'Debug Information with C-SPY Runtime I/O'

하며 을 통해 입출력 되는 루틴이 없으면 만 선택해도 된다Serial 'Debug Information' .

Page 34: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 34

그림 27. Option/Xlink/Output

항목은 의 환경을 파일을 통해서 설정하게'Option/Xlink/Include/XCL Filename' ROM Monitor *.XCL

되어 있다 파일은 의 시작 번지와 스택의 크기 실행 코드가 적재되는 어드레스 등의 정보. XCL RAM

를 기록해 놓은 것이다 이 파일에는 코드의 역할도 같이 들어 있으므로 라이브러리에 스타. Startup

트 코드를 포함하지 않는 를 선택해야한다'Ignore CSTARTUP in library' .

그림 28. Option/Xlink/Include

파일은 설치경로 에 있는데 파일의 주석문을 보고 좀더LPC2106_ROMmonitor.xcl ' KickstartCard'\

자세히 알아보자.

//==========================================================

파일이름// : LPC2106_ROMmonitor.xcl

Page 35: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 35

// Inform the linker about the CPU family used.

-carm 를 알려줌// ARM Core

// Read-only segments mapped to ROM.

-DROMSTART=40000400 시작 번지 실제는 영역// ROM , RAM

-DROMEND=40009FFF 끝 번지// ROM

// Exception vectors used by user code

-Z(CODE)INTVEC=40000400-4000043f 벡터가 있는 번지도 영역이다// RAM .

// Startup code and exception routines (ICODE).

-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND

-Z(CODE)SWITAB=ROMSTART-ROMEND

번지의 한계를 설정한다 주의할 것은 평가 버전이 한도의 코드 사이즈를 가지고// Jump . 32M

있기 때문에 의 크기도 이 만큼을 넘지 않아야 한다// Jump .

-Z(CODE)NEARFUNC_T,NEARFUNC_A=ROMSTART-ROMEND

-Z(CODE)FARFUNC_T,FARFUNC_A=ROMSTART-ROMEND

-Z(CONST)NEARFUNC_T_ID,NEARFUNC_A_ID=ROMSTART-ROMEND

-Z(CONST)FARFUNC_T_ID,FARFUNC_A_ID=ROMSTART-ROMEND

// Various constants and initializers.

-Z(CONST)INITTAB,HUGE_ID,HUGE_C=ROMSTART-ROMEND

-Z(CONST)CHECKSUM=ROMSTART-ROMEND

// Read/write segments mapped to RAM.

-DRAMSTART=4000A000 실제 사용되는 의 시작 번지// RAM

-DRAMEND=4000FFFF 의 끝 번지// RAM

// Data segments.

-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=RAMSTART-RAMEND

-Z(DATA)NEARFUNC_T_I,NEARFUNC_A_I=RAMSTART-RAMEND

-Z(DATA)FARFUNC_T_I,FARFUNC_A_I=RAMSTART-RAMEND

-QNEARFUNC_T_I=NEARFUNC_T_ID

-QNEARFUNC_A_I=NEARFUNC_A_ID

-QFARFUNC_T_I=FARFUNC_T_ID

-QFARFUNC_A_I=FARFUNC_A_ID

영역// Stack and heap segments.

-D_CSTACK_SIZE=2000

// -D_SVC_STACK_SIZE=10

Page 36: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 36

-D_IRQ_STACK_SIZE=100

-D_HEAP_SIZE=2000

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND

// -Z(DATA)SVC_STACK+_SVC_STACK_SIZE=RAMSTART-RAMEND

-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND

//=======================================================================

컴파일과 링크 항목을 설정했다면 항목 설정이 남아 있다 우선 에서 모니터와 실행C-SPY . 'Setup'

위치 그리고 보드의 하드웨어 설정에 한 것을 선택하면 된다.

그림 29. Option/C-SPY Debugger/Setup

항목에서 가장 중요한 사항이며 드라이버의 설정으로 다음 탭의 환경설정이 활성화Driver : Setup

된다 소프트웨어로 을 실행하는 사의. ARM Simulator, JTAG J-link, Macraigor, ARM RDI,

모니터 프로그램을 탑재한 후 실행하는 등이Third-party Driver, IAR ROM-Monitor, Angel

있다.

로 운영하기 위한 설정이다 사용하지 않을 경우RTOS Support : Real Time O/S . None, UC/OS- ,Ⅱ

등이 있다CMX-RTX, ThreadX, Fusion .

디버그 환경을 시작 할 때 함수에서 혹은 코드에서 실행하는가에Run to : C-SPY Main Startup

한 선택 적극 활용하는 것이 좋다, .

로 일괄 명령처리를 기록해 놓은 것으로 확장자는 로 되어 있다Setup Macro File : Text *.MAC .

칩에 한 설정이 들어 있다 여기서는 시리즈에 활용할Device Description File : ARM . LPC2100

수 있도록 관련 정보가 들어 있으며 설정 파일과 동일하다J-link .

이제 마지막 설정이다 항목에 를 선택 했다면 탭이. Setup 'IAR ROM -Monitor' 'IAR ROM-Monitor'

활성화 되는데 통신 포트와 속도에 한 사항을 결정한다.

Page 37: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 37

그림 30. Option/C-SPY Debugger/IAR ROM-Monitor

비 휘발성 메모리의 디버깅에 사용되며 이 부분에 다운로드를 하지 않는다Suppress Download : .

최소한 한번은 기록되어야 하며 똑같은 것을 되풀이해서 다운로드 할 필요가

없을 경우 사용한다 여기서는 의미 없다. .

다운로드 뒤에 보낸 파일과 다운로드 된 파일을 비교한다Verify All : .

또는 를 선택한다 모니터 프로그램은 드라이브를 간단히 하는Communication : USB Serial RS-232 .

만들 수 있는 장점 때문에 를 보통 이용한다232 .

통신속도 선택한다 모니터 프로그램에서 이미 만들어진Serial Port Setting : COM1~COM4, BPS .

통신속도를 설정해야 하므로 여기서는 반드시 로 한다9600BPS .

사용자 접속과 이벤트 등의 파일을 기록하는 경로와 파일이름 설정Log Communication : Log

옵션을 선택하고 다 설정 한 뒤에 워닝은 상관없지만 에러가 발생 하지 않도록 컴파일과 링커를 거

친 다 이어서 보드와 시리얼 케이블을 연결하고 에 전원을(Rebuild All) . Target RS-232 Target Board

넣은 다음 아이콘( 혹은 항목을 선택하면 로 들어간다 이때 다른 프) 'Project/Debugger' C-SPY .

로그램이 이미 동일한 통신 포트를 열어 놓은 상태였을 때 실행되면 다음과 같은 에러 윈도우가

된다Pop up .

그림 31 모니터 통신에러.

Page 38: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 38

여기까지 모니터 프로그램을 설정하고 실행하는 것을 보였는데 사용법은 어렵지 않으며 반복 숙달이

가장 좋다고 하겠다 그러나 한번쯤은 디버깅에 관한 사항은 뒤에 어느 정도 설명을 해 놓았으므로.

읽어 보고 체험하기를 바란다 모니터를 이용하는 것은 소스 알고리듬을 컴파일해서 빠른 로딩을 효.

과적으로 디버깅을 하는데 사용할 수 있다.

3.3. Stand Alone Quick

항목은 컴파일과 링크를 거친 뒤에 그 실행 파일을 에 포팅한 뒤 전원을 연Stand Alone LPC2106

결하면 혼자서도 동작 하는 상태의 절차와 방법에 해 다룬다 이때 까지는 혹은 모니터를. J-link

이용하여 와 가 연계 하여 동작 했지만 본 는 혼자서 동작하게 하려면 어떻PC Target Board Chapter

게 해야 하는지를 익히게 된다.

그림 환경 설정 예 는 중요한 의 출력 을 설정하는[ : Option/Xlink/Output Stand Alone ] Xlink Format

방법을 나타낸다.

그림 32 환경 설정 예. Option/Xlink/Output Stand Alone

출력 파일의 형식 는 의 프로젝트이름 로 되어 있는 파일Output File : , Override Default Default .a97

이름을 변경 하고자 할 경우 설정

정보가 들어갈 필요 없이 바로 실행 파일을 만들 경우 를 선택Format : Debug Information 'Other'

하고 은 반드시 로 설정한다 는 비트 단Output Format 'Intel-Extended' . Format Variant 32

위로 되어야 하므로 로 선택한다'32Bit Linear Variant' .

항목은 이 으로 운영되기 위한 파일을 첨가 한다'Option/Xlink/Include' Target Stand Alone XCL .

파일은 의 에 한 하드웨어 설정이며 영역에 한 크기를 되지XCL Taget memory map Over flow

않게 해야 한다 특히 제공된 는 바이트의 코드 한계가 있음에 주의해야한다. Quick Start Board 32K .

Page 39: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 39

그림 33 환경 설정. Option/Xlink/Include Stand Alone

//====================================================================

파일의 일부// LPC2106_Standalone.xcl

메모리 맵//

// Exception vectors [0x000000--0x00001F] RAM or ROM

// ROMSTART--ROMEND [0x008000--0x0FFFFF] ROM (or other non-volatile memory)

// RAMSTART--RAMEND [0x100000--0x7FFFFF] RAM (or other read/write memory)

설정// Inform the linker about the CPU family used. ARM Code

-carm

영역 설정// Read-only segments mapped to ROM. ROM

-DROMSTART=00000000

-DROMEND=0001dfff

//Exception vectors used by user code

-Z(CODE)INTVEC=00000000-0000003f

// Startup code and exception routines (ICODE).

-Z(CODE)ICODE,DIFUNCT=ROMSTART-ROMEND

-Z(CODE)SWITAB=ROMSTART-ROMEND

-Z(CODE)NEARFUNC_T,NEARFUNC_A=ROMSTART-ROMEND

-Z(CODE)FARFUNC_T,FARFUNC_A=ROMSTART-ROMEND

-Z(CONST)NEARFUNC_T_ID,NEARFUNC_A_ID=ROMSTART-ROMEND

-Z(CONST)FARFUNC_T_ID,FARFUNC_A_ID=ROMSTART-ROMEND

-Z(CONST)INITTAB,HUGE_ID,HUGE_C=ROMSTART-ROMEND

-Z(CONST)CHECKSUM=ROMSTART-ROMEND

Page 40: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 40

영역 설정// Read/write segments mapped to RAM. RAM

-DRAMSTART=40000000

-DRAMEND=4000FFFF

// Data segments.

-Z(DATA)HUGE_I,HUGE_Z,HUGE_N=RAMSTART-RAMEND

// __ramfunc code copied to and executed from RAM.

-Z(DATA)NEARFUNC_T_I,NEARFUNC_A_I=RAMSTART-RAMEND

-Z(DATA)FARFUNC_T_I,FARFUNC_A_I=RAMSTART-RAMEND

-QNEARFUNC_T_I=NEARFUNC_T_ID

-QNEARFUNC_A_I=NEARFUNC_A_ID

-QFARFUNC_T_I=FARFUNC_T_ID

-QFARFUNC_A_I=FARFUNC_A_ID

// Stack and heap segments.

-D_CSTACK_SIZE=2000

-D_IRQ_STACK_SIZE=100

-D_HEAP_SIZE=2000

-Z(DATA)CSTACK+_CSTACK_SIZE=RAMSTART-RAMEND

-Z(DATA)IRQ_STACK+_IRQ_STACK_SIZE,HEAP+_HEAP_SIZE=RAMSTART-RAMEND

//====================================================================

소스 프로그램을 컴파일과 링크를 거친 뒤에 에러가 발생하지 않았으면 설치된 경로에서 아이콘

( 을 실행하면 다운로딩 유틸리티가 실행된다 시리얼 케이블 연결되었는지 확인) .

한 다음 실행 파일의 경로를 찾아 로딩하면 된다 로딩이 완료 된 뒤에는 케이블을 에서. RS-232 P0

을 옮겨 통신 프로그램 하이퍼터미널과 동급의 프로그램 을 실행한다 을 누르면 이 나오P1 ( ) . Reset '*'

게 된다.

3.4. Flash Utility Quick

고급 언어로 만들어진 알고리듬을 컴파일러에 의해 기계어 코드로 생성되면 코드가 생기는데Hex

이를 에 시리얼 통신을 통해 하기 위해서는 유틸리티 프로그림이 필요하다 이 프로그램의430 Write .

이름이 필립스 유틸리티 이며 년 분기에 이다 이 프로그램의 설치와 이용LPC2000 2004 1/4 V2.0.1 .

방법에 해 알아보자.

입수한 흰색 상자 안에 있는 의 디렉토리에 있는 을 실행하면 노란색Quick Start CD Root start.htm

바탕의 다음과 같은 설치 이 나온다 여기서 과 시리얼을 통해 인터페이스 할 수Setup . Philips ARM

있는 소프트웨어를 다운 받아 작업하는 에 설치하면 된다 항목은PC . 'Install Software/LPC2000

이며 실행하면 실제로는 의 압축파일 다운로드하고 을Flash Utility' ( LPC2000_Flash_Utility.exe ) Unzip

Page 41: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 41

거친 뒤에 setup.exe2)을 찾아 실행하면 된다.

그림 34 실행. start.htm

보드와 유틸리티 프로그램과의 통신 방법은 시리얼 통신인데 다음과 같은 것을 준비하면 된다 통신.

케이블은 측에서는 암컷 보드는 수컷 의 모두 핀 시RS-232 PC (Female), LPC2000 (Male) D-Type 9

리얼 케이블을 연결해야 한다 이때 다음과 같이 시리얼 케이블을 일 일로 구성하자 자작 한다면. . 5

가닥은 필수로 있어야 하지만 기성품을 구입 했을 경우는 연결할 필요 없는 다른 핀들도 전부 연결

되어 있을 것이다 일 일 케이블이라고 주문하면 된다 나머지가 덤으로 연결되어도 동작에는 지장을( )

주지 않으므로 상관없다 참고적으로 번핀은 보드의 번핀은 관련 핀에 하드웨어. 4 Reset, 7 INT1 ISP

적으로 연결되어 있기 때문이다.

그림 35 에서 사용되는 시리얼 케이블. LPC Board

정상적인 설치와 케이블이 준비 되었다면 케이블을 연결하고 보드에 전원을 넣고 윈도우의 시작에서

를 찾거나 설치한 경로에서 파일을 실행하면 그림LPC2000 Flash Utility LPC210x_ISP.exe [ : LPC

인터페이스 프로그램 실행 과 같이 필립스 아이콘과 함께 다운로드 프로그램이 실행된LPC210x_ISP ]

다.

2) 여러 가지 이유로 파일에 의해 설치가 안 될 경우가 생긴다면 압축 파일 을 적절한 경로에 풀고Setup LPC210x_ISP.CAB

을 실행해도 된다LPC210x_ISP.exe .

Page 42: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 42

그림 36 인터페이스 프로그램 실행. LPC LPC210x_ISP

은 유틸리티 프로그램이 실행되었을 때 가장 먼저 설정되어야 하는 부분'Communication' LPC2000

이다 이곳에서 의 통신 포트와 통신속도를 설정하고 번핀과 번핀을 사용할 것인지를 결정한다. PC 4 7 .

오른쪽 하단의 은 시리얼 통신 신호를 통하여'Use DTR/RTS for Reset & Boot Loader Selection'

특별한 제어 명령을 전달할 수 있도록 하기 위해 그리고 을 보드에 보내기 위해 사용된다Reset .

은 필립스 의 의 번호에 해당 되는데 때문에 해당 칩의 이름을 선택하자'Device' ARM Chip Set ID .

에서는 으로 되어 있다 항목은 속도를 변경하Quick Start Board 'LPC2106' . 'XTAL Freq' 14.7456㎒

면 통신이 정상적으로 이루어지지 않는다 칩과 의 를 통하여 정상적인 통신이 이루어. PC COM Port

졌나를 확인하기 위해서 가 칩마다 다른 각각의 값을 빈칸에 뿌려 준다'Read Device ID' ID .

는 플래시메모리를 지우고 지워졌나를 확인한다'Erase/Blank' .

은 코드를 시리얼 케이블을 통하여 필립스 의 플래시메모리영역에'Flash Programming' HEX ARM

해준다Writing .

4. C-SPY

언어의 소스를 보면서 디버그를 처럼 할 수 있다고 해서C Spy 라고 하지 않았나 하는 생각이C-SPY

다 개발 프로젝트에 임하다 보면 짧은 시간에 원리 구현과 기본 기술을 매뉴얼을 보면서 익히고 샘.

플 보드를 가지고 분석하고 적은 개발 인원으로 제품을 만드는 것이 생각만큼 그리 쉽지 않다 개발.

에 시간 소비 복병은 에 따라 다르지만 디버그라고 엔지니어의 한사람인 본인은 생각되는데project ,

개발한 시간만큼 실제적으로 디버깅 시간이 필요하다 디버깅은 엔지니어의 노하우와 깊이 연관되며.

보다는 꾀라고 할 수 있는 지혜가 필요하다 자신이 그렇지 않다고 판단되면 나IQ . Emulator

을 잘 이용하는 것이 일반적으로 바람직하다Simulator Tool .

는 버전을 구매 했을 경우IAR Compiler Full C-SPY 시뮬레이터가 지원되고 안에 특별히 하C-SPY

Page 43: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 43

드웨어 지원이 될 수 있도록 디바이스가 설치되어 있는데 어떤 것이 지원되는가는 매뉴얼이나 'Proje

항목에서 확인해 봐야 한다 다음사항에서 를 운영해 볼 수ct/Option/C-SPY/Setup/Driver' . C-SPY

있다 반드시 가 내장된 가 버전 이여야 한다 시리즈가 진짜 이름이다. C-SPY IAR Compiler Full . EW .

을 소프트웨어적으로 흉내 내 준다Emulator : ARM .

를 통해 해 준다 여기서의 설명은 로 했다J-link : JTAG Link In-Circuit Emulator . J-link .

그림 37 구성품. Philips ARM LPC210X

에러가 발생하지 않도록 컴파일과 링크 한 뒤에 의 전원을 하자'Rebuild All' Target Board On .

를 사용하기 위해서는 에 있는 아이콘C-SPY, J-link EWARM ( 을 클릭해도 되고)

항목을 선택해도 된다 참고적으로 디버깅 환경은 환경과는 별도로 프로그'Project/Debugger' . Edit

램이 구동되지만 새로 화면을 열지 않고 가 실행된다C-SPY .

를 구동한 뒤 윈도우를 보기 좋게 정렬하게 되면 다음의 화면과 같다 항목에서C-SPY . 'Run to'

함수를 선택 하고 과 와 정상적인 통신이 이루어 졌다면 녹색막 기가 함수main Target J-link main

의 처음에 있을 것이다 이곳부터 의 환경을 하나씩 익히도록 하자. C-SPY .

그림 실행 예제 에서 왼쪽 상단의 윈도우는 의 프로젝트 파일을 나타내며 아[ : C-SPY ] Workbench

래는 소스코드 를 나타낸다 또 스택영역과 오른쪽 상단에는 레지스터 그Runninglights.c . Assemble, ,

리고 변수를 나타내는 윈도우가 있다.

Page 44: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 44

그림 38 실행 예제. C-SPY

화면에 해 간단히 설명하면 녹색은 실행할 코드 적색은 를 나타낸다 즉 소스 코드에서, Break . 61

번을 실행할 차례이므로 번의 코드를 실행 한 뒤의 레지스터와 변수값을 나타내는데 레지스터와60

변수값은 적색 동그라미 해 두었다 물론 하드웨어적으로 과 연결되어 있기 때문에 개의. Target 16 LE

도 실행 하면서 쉬프트에 의해 움직일 것이다D .

여기서부터 의 항목에 해 보다 자세히 알아보고 디버그에 활용하자 저자가 개발을 하다 보C-SPY .

면 사실 남는 것은 머릿속에 와 레지스터 그리고 개발 환경을 완전히 익혔던 것이다 환Data Sheet .

경에 해 잘 알고 처 하다보면 손에 익어 효율이 높아진다 반드시 처음에는 꼼꼼히 익히도록 하.

는 것이 바람직하다 그럼 순서 로 되어 있는 개의 를 차례로 알아보자. 9 Full Down Menu .

에서의 메뉴는C-SPY File, Edit, View, Project, Debug, Disassembly, Simulator/J-link, Tools,

항목이 있다Windows, Help .

Page 45: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 45

4.1. File

그림 39. C-SPY File

'New'( 는 파일등을 새로 만들 때 사용한다) Workspace, Project, Text, Source .

'Open'( 은 기존 저장 되어있는 환경을 불러 올 때 사용하며 에디터의 과 동일하다 특별히) Open .

디버그 환경만을 불러 오는 역할은 못한다.

현재 활성화 되어 있는 윈도우를 닿는다 환경에 따라 가 안되는 것도 있다'Close' . Close .

확장자가 로 되어 있는 를 해당 경로에서 파일을 불러와 윈도'Open Workspace' *.eww Workspace

우를 활성화 한다.

현재 활성화 되어 있는 를 저장한다'Save Workspace' Workspace .

'Save'( 파일 저장에 관련된 메뉴), 'Save As...', 'Save All'

'Page Setup...', 'Print...'( 는 인쇄 설정과 출력에 관련된 사항이다) .

현재까지 통합 환경에서 불러왔던 모든 파일의 파일이름과 확장자를 보여준다 기본'Recent Files' .

적으로는 개의 를 보여준다 번이 가장 최근에 불러 왔던 파일을 나타낸다8 History . ‘1’ .

현재까지 물러왔던 의 리스트를 보여준다 번이 가장 최근에 불러'Recent Workspace' Workspace . ‘1’

와서 실행된 것이다.

디버그 이외에도 통합 개발 환경 을 빠져 나간다 그림 의 실행 에서 확인'Exit' (IDE) ([ : Debug Exit ] ' '

하면)

Page 46: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 46

그림 40 의 실행. Debug Exit

4.2. Edit

그림 41. C-SPY Edit

메뉴는 버전에 비해 항목도 많아지고 세분되어 적절히 잘 사용하면 하다 특Edit 2.28A Power Full .

별한 경우를 제외 하고는 키와 병행하게 되므로 자주 사용되는 명령어는 익히게 될 것이다Ctrl .

'Undo'( ), 'Redo'( 실행한 것을 취소하거나 취소한 것을 다시 할 수 있는 기능이다 개 이상의) . 1

명령을 편집 화면에서 실행했을 경우 활성화 된다.

'Cut'( ), 'Copy'( ), 'Pastes'( 은 편집 윈도우에서 오리기 복사하기 붙이), 'Paste Special .' , ,……

기 선택해서 붙이기 기능이다, .

Page 47: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 47

그림 42 윈도우. Paste Special

편집 윈도우에 있는 모든 를 블록화 하여 전체 소스 문장을 오리기 복사하기 붙이'Select All' Text , ,

기 쉽게 해준다.

찾기와 또 찾기'Find .', 'Find Next'……

찾은 다음 바꾸기와 경로에서 찾기 기능이다'Replace', 'Find in Files .' .……

는 편집 윈도우에서 해당 위치로 커서와 화면을 이동 하는 명령어이다 반 로 현재 커'Go To .' .……

서가 있는 위치에서 하면 커서의 현재 위치를 몇 줄 몇 번째인지 알려준다 편집 윈도우의Ctrl+G , .

상단 파일 이름 옆에 가 있는 것은 원본과 비교하여 수정이 이루어졌을 경우에 표시된다'*' .

그림 43 편집환경에서 실행. Go to Line

컴파일 뒤에 에러가 발생 했을 경우 이 명령을 실행하면 메'Next Error/Tag', 'Previous Error/Tag'

시지 윈도우와 편집 윈도우에서 잘못된 부분으로 커서를 이동시켜 개발자의 손 발이 되어 준다/ .

편집 윈도우에서 한행의 책갈피를 표시해준다 한번은 선택되고 또 한번은 해지'Toggle Bookmark' .

되는 토글스위치 이다(Toggle Switch) .

Page 48: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 48

는 책갈피 해 놓은 곳으로 한다 북마크는 한 행의 갈피가 아니라 사실 현'Go to Bookmark' Jump .

재 커서가 있는 위치까지도 북마크가 되는 것이므로 실행은 줄과 칸으로 이동하는 것과 같다goto .

처음 알파벳 머리글자를 치고 이 명령을 실행하면 그동안 한번이라도 사용되었던 단어가'Complete'

차례로 나오게 된다 예를 들어 를 입력한 뒤 하면 그동안 사용되었던 단어. 'P' Ctrl+Space "Printf",

등의 완성된 단어가 차례로 나타난다 소문자 구분은 되지 않으며 아쉽게도 한글은 머리글자"print" .

에 상관없이 전부 나오게 된다.

는 코딩 할 때 가장 많이 발생하는 에러를 줄이는 기능이다 언어는 언어'Match Brackets' . C/EC++

내부에 포함된 기호를 많이 사용하게 되는데 이들의 개수가 짝수가 아닐 때 컴파일러는 을 정Table

상적으로 만들 수 없기 때문에 많은 에러를 유발 한다 에서 사용되는 기호와 짝이 맞는지. ANSI C

검사 상이 되는 기호는 그리고 가 된다 현재 커서가 있는 위치에서 앞으로 또는 뒤로 인(), [] {} .

식하여 검정색 블록으로 맞는 짝을 찾아 표시해준다.

는 코딩 실행 중 멈추는 기능을 하는 것으로 한번은 선택 또 한번은 해지 한다'Toggle Breakpoint' .

소스의 적색 부분은 하면 멈추게 되는 이다 된 문장은 윈도우의 왼쪽 행 번호가Run Break . Break

적히는 부분에 굵게 표시가 된다 추가적으로 문 같은 중복 문장은 구분되어 할 수 있"X" . For Break

다.

그림 44 사용 예. Break/Enable/Disable

Page 49: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 49

는 일시적으로 기능을 상실하게 하는 것이며 완전히 기능'Enable/Disable breakpoint' Break Break

을 윈도우에서 없애지는 않는다 즉 현재의 에서 활성화 하는가 아닌가에 한 사항이다. Break Line .

설정된 문장을 편집할 수 있는 기능이다 특히 변수값 등의 특'Breakpoint .' Break . Code, Data,……

별한 조건에서 를 걸 수 있다 그림 설정 예제 는 각각의 종류별로 를 설Break . [ : Breakpoint ] Break

정해 놓았다 뒤 문장에 있는 다음에는 어셈블리일 경우는 함수가 저장 되어 있는 변지수. Code @

를 나타내며 언어 소스일 경우는 중괄호 안에 파일이름 위치를 나타낸다 뒤 문장은 데이터C , . Data

영역의 또는 둘 다 인지를 나타내며 변수값의 크기를 설정하여 한다Read, Write, Break . Immediate

도 동일하다.

그림 45 설정 예제. Breakpoint

Page 50: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 50

4.3. View

그림 46. C-SPY View

윈도우를 통해 보여주는 유틸리티를 나타내며 의 레지스터 메모리 등의 상태를 관찰 할 수 있는CPU

디버그의 실제적인 정보를 제공한다 진짜로 잘 활용할 필요가 있다 메뉴 명령어는. . Full Down View

전부 기능은 없다Toggle Switch .

메시지 윈도우를 활성화'Messages'

프로젝트가 들어 있는 윈도우를 활성화'Workspace'

현재 실행되는 소스 코드가 들어 있는 윈도우를 활성화 하는데 와는'Dedicated Editor' Disassembly

다르다.

는 고급 언어를 어셈블리언어로 전환해서 나타내준다 사실 언어로 디버그를 하는'Disassembly' . C

것처럼 보이지만 어셈블리언어를 고급 언어에 하여 눈속임으로 보여 주는 것이 된다 녹색Matching .

라인은 실행 할 코드 분홍색은 설정된 문을 잠시 한 것을 나타낸다 윈도우의 오른쪽, Break Disable .

상단의 적색 원부분의 아이콘은 토글스위치인데 한번은 어셈블리 언어와 언어를 혼용해서 나오게C

하고 또 한번 클릭하면 어셈블리 언어만 나올 수 있도록 선택 할 수 있다.

Page 51: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 51

그림 47. Disassembly Window

메모리의 값들을 볼 수 있도록 윈도우를 지원해 준다 영역은'Memory' . Code, Data, EEPROM, I/O

등이 있으며 디스플레이도 바이트를 선택 할 수 있다 그리고 방식으로 볼1, 2, 4 . Little/Big Endian

수 있도록 해 준다.

그림 48. Memory Window

윈도우는 내부에 있는 레지스터를 실시간으로 확인 하면서 디버그를 할 수 있도록'Register' CPU

하기 위한 것이다 그래서 에 있는 모든 레지스터가 들어 있고 바이트 단위로 확인이 가능하며. ARM

다수의 윈도우를 열어 복수로 띄워 놓을 수가 있다 그림 소스코드의 실행과 보기 에서. [ : Register ]

의 왼쪽 윈도우는 현재 디버깅하고 있는 소스를 나타내며 적색 부분은 녹색 부분은 현재 실Break,

행 예정의 문장을 나타낸다 소스에서 보듯이 레지스터에 상수값을 넣고 실행한 다음의 레. UCSR0B

지스터 변화를 오른쪽의 윈도우에서 적색 부분으로 바뀐 상수값을 확인 할 수 있다 준비된 예제는.

비동기 통신 모드로 설정하는 것이다USART 19200BPS, N, 8, 1 .

Page 52: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 52

그림 49 소스코드의 실행과 보기. Register

변수를 볼 수 있도록 지원해 주는 윈도우인데 왼쪽의 녹색이 실행 예정인 소스코드'Watch' Global

이며 오른쪽 윈도우는 현재까지 실행된 결과의 변수값을 나타낸다 역시 적색 상수는 바로 변경된.

값을 의미한다 윈도우에는 까지의 탭이 있어 다양한 변수를 모니터링 할 수 있다. Watch Watch1~3 .

에서는 변수 이외에 효용의 가치는 미미하지만 함수의 상태도 볼 수 있다 윈도우에서 변수의Watch .

디스플레이 형태를 바꾸고자 할 경우는 마우스의 오른쪽 버튼을 눌러 변경이 가능하다.

그림 50 소스코드의 실행과 보기. Watch

에 등록하기 위해서는 소스 코드의 변수 위에서 마우스의 오른쪽 버튼을 누르면Watch 'Quick

윈도우가 나오게 되는데 간단히 보거나 윈도우 에 등록할 수 있다Watch' Watch ('Add Watch') .

그림 51. Quick Watch Window

는 로칼 변수값을 볼 때 유용하다 소스코드의 함수에는 부호 없는 바이'Locals' . INT_128 putstring 2

트 를 정의 했다 이때의 값이 에 나온 것을 확인 할 수 있다 녹색은 문에서 초‘i’ Locals Window . for

Page 53: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 53

기화 하고 비교를 할 상태인데 그때의 값은 이 된다 또한 함수는 전달 인수의 값도 나타내므로‘i’ ‘0’ .

함수의 변화 값을 보는 데는 그만이라고 판단된다 알아두어야 할 것은 도 함수이므로 로칼. main()

변수가 함수 내에서 사용되었다면 변수 확인을 실시간으로 할 수 있다.

그림 52. Local Window

은 스택 영역을 살펴 볼 수 있는 기능을 제공한다 윈도우에서 하단에 있을수록 예전에'Call Stack' .

된 것이고 상단에 있을수록 바로 된 것을 의미한다 이곳에는 인터럽트와 경유하면 함수Push Push .

를 호출하면 할수록 스택 영역이 가득 차게 되는데 이를 살펴 볼 수 있도록 한다 만약 되. Overflow

면 의 영역 는 을 여유롭게 늘려주면 된다 그림'Option/General/System' RSTCK (Default 16) . [ : Call

는 왼쪽 소스 녹색라인의 멈춘 상태에서의 호출된 스택을 나타낸다Stack Window] .

그림 53. Call Stack Window

는 어디에다가 사용해야 되는지 모르지만 디버그 하면서 생긴 이벤트를 요일 월 시간 등의 정'Log' , ,

보와 함께 디스플레이 한다.

그림 54. Log Window

는 등의 함수의 출력과 입력을 할 수 있도록 해주는 윈도우다'Terminal I/O' printf(), scanf() I/O .

항목은 내부 함수의 시리얼 출력을 나타내며 항목은 키보드를 통해 시리얼 입력의'Output' 'Input'

을 할 수 있다 아쉽게도 내부 함수 이외의 자작한 시리얼 코드의 출력과 입력은 지원되지Simulation .

Page 54: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 54

않음으로 주의가 필요하다.

그림 55. Terminal Window

예를 들어 다음의 함수 결과값은 에서 볼 수 없다'Terminal I/O' .

//============================================================

void putbyte(uchar c){ 실행해도 에서 볼 수 없다// Terminal Window .

UCSR0A |= (ENABLE << UDRE0);

UDR0 = c; 데이터를 직렬 버퍼에 쓴다// .

}

void putstring(uchar *str){ 문자열 출력// Point

unsigned int i;

for(i=0;str[i]!='₩0';i++) {

if(str[i]=='₩n'){

putbyte(0x0a); 줄 바꿈// 0x0a = Line Feed( )

putbyte(0x0d); 커서를 좌측 끝// 0x0d = Carriage Return( )

}

else putbyte(str[i]);

}

}

//============================================================

는 개발한 프로그램과 가 공장 이관하기 전에 한번 이상은 점검해 볼 필요'Code Coverage' Firmware

가 있다 특히 컴파일 뒤에 코드 사이즈가 메모리에 민감해서 코드를 줄일 경우가 생긴다면 특히 자.

세히 봐야 하는 이다 함수의 개수나 크기는 와 비례하게 되므로 꼭 활용하기를 추Utility . Code Size

천한다 단 전체 코드를 한번 정도 실행 하고 난 뒤에 평가를 해줌으로 을 한 뒤에 알 수 있으며. Run

이므로 외부 메모리나 외부 와 연결되어 처리되는 함수는 로 나오게 된다 일Simulator I/O 0% . 100%

경우는 함수를 전부 사용한 것이 되므로 코드를 줄이거나 지우는 것은 어렵다고 판단하면 되고 사용

율이 적은 것일수록 사이즈를 줄일 수 있다 이것을 한눈에 볼 수 있도록 마름모꼴의 적색 녹색으로. ,

표시한 친절이 돋보인다 사용자는 적색이 많은 함수를 찾아 집중적으로 수정하면 좋은 결과를 얻을.

수 있다 노란색은 함수의 위치와 사용된 사이클을 나타내며 상단에 등. Clear, Fresh, Auto-Refresh

의 메뉴가 있다.

Page 55: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 55

그림 56. Code Coverage Window

함수의 실행 측면을 또는 막 그래픽으로 분석하는 것으로'Profiling' % Code Coverage Window

와 혼합하여 사용하면 효율을 더 높일 수 있다 왼쪽부터 항목을 설명하면 함수 이름 호출한 숫자. , ,

실행한 실행시간 막 가 길수록 큼 을 나타낸다Cycle, ( ) .

그림 57. Profiling Window

다음은 의 왼쪽 상단에 있는 아이콘에 한 설명이다'Profiling' .

우선 이 아이콘을 선택해야 을 시작한다Activate : 'Profiling' .

전부 으로 만든다Clear : 0 .

숫자로 되어 있는 영역을 누워 있는 파란색 막 그래프로 바꾸어 준다Graph : Time(%) . Toggle

자세히 보고자 하는 윈도우의 함수를 한번 클릭하고 실행하면 보다 자세한Show Details : Profiling

정보를 얻는다.

다시 정보를 읽어 온다Refresh : .

Page 56: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 56

자동으로 정보를 읽어 온다Auto Refresh : .

는 코드 실행의 를 추적해서 보여 주므로 프로그램의 실행이 어떤 순서로 어떻게 진행'Trace' History

되는지를 알아야 할 경우에 유용하다 왼쪽부터 실행된 를 나타내고 차례로. PC(Program Count)

하고자 하는 함수와 변수의 상태를 나타낸다 저자의 는 함수와Monitor . Trace init_memory_test ptr

변수 변수에 한 를 실험한 것이다, init_tick History .

그림 58. Trace Window

의 왼쪽 상단에 있는 아이콘과 하단의 탭에 한 설명이다'Trace' .

이 아이콘을 선택해야 를 된다 그림 의 왼쪽Activate/Deactivate : Trace Enable . [ : Trace Window]

상단처럼 눌러진 모습으로 상태를 바꾼다.

를 시작하며 과 같다Go with trace : Trace Run .

탭의 정보가 모두 지워진다Clear : 'Output' Trace .

와 혼합하여 디스플레이 된다 스위치이다Toggle Mixed-Mode : Source . Toggle .

찾기 기능Find :

탭 하고자 하는 함수를 등록한다 하면 간단히 등록할 수 있다Expression : Trace . Drag and Drop .

탭 실제 된 를 볼 수 있다Output : Trace Story .

아이콘을 선택 할 수 있으며 스위치이다 상단 과 하단 항목이 있다'Toolbars' Toggle . Main( ) Debug( ) .

Page 57: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 57

그림 59. Main/Debug Tool Bar

는'Status Bar' 통합 개발 환경 오른쪽 하단에 기본 상태를 한다 한번은 선택되고 한번IED( ) Display .

은 된다 만약 편집 소스편집 윈도우가 활성화 되어 있다면 현재 커서의 위치가 첫 번째 적Disable .

색 동그라미처럼 나오게 되고 키보드의 소문자 겹쳐 쓰기 키가Cap Lock( / ), Number Lock, Insert( )

눌러지면 두 번째 적색 동그라미처럼 디스플레이 된다 코딩할 때 역시 보이게 하는 것이 좋겠다. .

그림 60. Status Window

4.4. Debug

그림 61. C-SPY Debug

디버그는 소스코드를 소프트웨어적인 방법으로 을 구동해 볼 수 있는 측면에서 보다 정확하고ARM

빠르게 알고리즘을 점검 할 수 있다 외부의 메모리나 외부에 연결된 센서 값은 불러 올 수 없지만.

전체적으로는 훌륭한 검증기라고 할 수 있다 그림 개념 블록도 를 보면 노란색 출력했을. [ : C-SPY ] (

경우 회색 부분 이 통합개발환경 이며 오른쪽의 흰 부분이 장비와 보드를 나타낸다) IDE( ) Target .

Page 58: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 58

그림 62 개념 블록도. C-SPY

'Go'( 는 현재 에서 불러온 디버그 실행 파일을 하며 무한루프의 프로그램일 경우) C-SPY Run

되기 전에는 정지하지 않는다Break .

'Break'( 상태인 실행프로그램을 정지하며 정지된 현재의 위치를 소스코드에 나타내준다) Go .

를 실행해도 되지 않을 경우는 적색의 손이 나오지 않고 손 모양의 아이콘만 디스플레이 된다Break .

'Reset'( 를 처음으로 돌려놓고 함수를 시작할 수 있도록 해준다 모든 변) Program Count Main() .

수를 초기화 하지는 않는다 변수값의 초기화는 소스코드에 들어 있어야 하기 때문이다. .

'Stop Debugging'( 를 빠져나가서 편집환경으로 되돌아간다) C-SPY .

'Step Over'( 소스의 함수를 완전히 실행한다 어셈블리측면으로는 까지 실행하는 것과) C . Return

같다 함수의 내부로 들어가지 않은 상태에서 최종 결과값만 디버그에 디스플레이 된다. .

'Step Into'( 소스와 어셈블리 언어 측면 모두 한 명령어씩 실행한다 함수를 만나든지 을)C . Call

만나도 그곳으로 하여 실행한다 특히 함수 같은 언어 내부함수도 어셈블리를 강제로Jump . printf C

호출하여 실행 한 명령어씩 실행한다.

'Step Out'( 함수에 있는 을 실행하고 다음 실행 코드까지 오게 한다 함수의 실행을 종결) Return .

할 때 유용하다.

'Next Statement'( 와 동일하지만 명령어까지 실행하므로 리턴값이 있는 함수) 'Step Over' return

의 끝까지 실행하는데 적격이다.

'Run to Cursor'( 커서가 있는 위치 전까지의 코드를 실행한다) .

는 현재 커서가 위치해 있는 함수 변수의 상태를 즉시 확인할 수 있는 윈도우를'Quick Watch .' /……

Page 59: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 59

생성하게 한다 예를 들어 왼쪽의 녹색으로 마크되어 있는 함수를 실행할 순서인데 이때. Quick

를 보게 되면 이때의 코드 영역과 리턴값 등을 알 수 있다Watch .

그림 63. Quick Watch Window

는 에 해당된다'Refresh' Reload .

는 다음 명령처리로 지정하는 것이며 소스 코드 윈도우 에서만 활성화 된다'Set Next Statement' .

는 하나씩 하나씩 하는 디버그의 명령을 한꺼번에 등록했다가 일괄 처리하는 이다'Macro .' Utility .……

그림 실행 의 왼쪽 화면에 있는 파일은 을 설치하면 자동으로 생[ : Macro Window] *.mac EWARM

성되는 경로에 있는 샘플인데 복잡하고 자주 사용하는데 귀찮은 디버그 명령을 이런 식으로Tutorial

편집하면 된다 보기는 을 기준으로 작성되었다. AVR .

그림 64 실행. Macro Window

일단 작성된 매크로를 불러오면 에 등록되고 그 내용이 에'Selected Macro File' Registered Macros'

표시된다 이때 은 사용자가 정의 한 것만 은 가 보유한 기존 기능 은 모두를. 'User' 'System' IDE , 'All'

디스플레이 한다.

은 디버그의 실행 를 파일로 저장하는 이다 두 가지 모드가 있는데 를 저장하'Logging' Log Utility . Log

는 출력 결과를 저장하는 이 그것이다'Set Log File', 'Set Terminal I/O Log File' .

Page 60: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 60

저장 기능을 활성화시키기 위해서 사각형으로 되어 있는 를 클릭하여Log Check Box 'Enable log

한다 항목에 하면 해당 이벤트가 생겼을 때만 기록한다 밑의 파일이름과 경로file' . 'Include' Check .

는 변경이 가능하다.

그림 65 설정. Log File Window

그림 설정 처럼 설정하고 디버그를 실행한 다음 파일의 내용이다[ : Log File Window] .

//===========================================================

Fri Mar 19 14:39:50 2004: execUserExit() called

Fri Mar 19 14:39:50 2004: Error in C:₩Toolfirm₩tutor₩SetupAdvanced.mac at line 91, col 20: Operation error.

Fri Mar 19 14:39:50 2004: Error while calling macro execUserExit.

Fri Mar 19 14:39:50 2004: Code coverage deactivated

Fri Mar 19 14:39:50 2004: Profiler deactivated.

//===========================================================

같은 방법으로 를 활성화 시킨 뒤 로그 파일을 불러 오면 다음과 같다 역시 소스코드'Terminal I/O' .

에 있는 프린터함수의 결과물이다.

그림 66 설정. Terminal File Window

//===========================================================

Point Address=75

Point Address=76

Point Address=77

Point Address=78

//===========================================================

은 가지 이상의 윈도우가 만약 하는데 필요하다면 모니터 화면 가득히'Load Layout .' 10 C-SPY……

찰 것이다 아무리 잘 나누어도 화면이 많게 되는데 이때 이미 등록된 윈도우의 환경을 불러오는.

Page 61: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 61

이다 확장자는 로 되어 있다Utility . *.lew .

현재 설정된 환경을 저장하는 역할을 하고 확장자는 로 되어 있'Save Layout As .' C-SPY *.lew……

다.

파일을 즉시 불러와서 원도우를 한다 어지러운 모습의'Load Default Layout' Default.lew Setting .

환경을 빨리 바꾸는데 제격이다.

현재의 개발 디버그 환경을 파일에 즉시 저장한다'Save Current Layout As Default' Default.lew .

4.5. Simulator/J-link

그림 67. Simulator

는 인터럽트에 한 모든 사항이 들어 있는데 이들을 활성화 하는 역할을 한다 저자'Interrupt .' .……

는 처음에 을 소스에서 코드로 활성화하는 루틴을 넣어서 시뮬레이션에서 별다른 설Interrupt Enable

정을 안 해도 소프트웨어적으로 인터럽트가 발생하는 데는 지장이 없다고 생각했었다 하지만 그렇.

게 하면 아무리 실행해도 타이머 인터럽트가 발생하지 않는다 소스코드에 설정해도 이 부분을 꼭.

활성화해야 인터럽트 루틴으로 들어갈 수 있다.

그림 68. Interrupt Window

인터럽트 소스 선택Interrupt :

활성 시간Activation Time :

반복 간격Repeat Interval :

실행 횟수Probability :

Page 62: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 62

유지시간Hold Time :

변동Variance :

설정된 인터럽트Installed Interrupts :

된 메모리의 내용을 으로 특정 파일 이름으로 기록한다'Memory Save .' Dump Intel Hex Format .……

그림 69 저장. Memory Dump

메모리 영역Zone :

시작 어드레스Start AD :

끝 번지Stop AD :

저장하고자 하는 파일이름 사용자 정의 로 저장된다File name : , , Text .

알나간 알고 나면 간단( ) 인텔 HEX Format

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

인텔 은 바이너리 코드를 등으로 다운로드하기 위해 만들어진 형식으로HEX File Format ROM Writer

데이터를 바이트 단위로 한 뒤 코드로 표현한다 예를 들어 코드의 진수 는ASCII . 16 ‘09‘ 0x30(‘0’),

의 상태로 전송한다 다음에 제시된 핵사코드는 이해를 돕기 위해 만들어진 인데 실0x39(‘9’) . Sample

제로 첫줄을 분석해보도록 하자.

:09000F00D2A0C2A0B28080F82248

:03000000020003F8

:0C000300787FE4F6D8FD75810702000F3D

:00000001FF

인텔 의 레코드 시작:-> Hex Format (Record)

의 데이터 바이트의 수 밑줄 부분의 의 개수를 나타낸다 밑줄 친 부분은 어셈블리09-> Record , Hex .

소스의 니모닉 코드에 해당한다.

데이터 바이트를 저장할 의 어드레스 위치 번지를 나타낸다000F-> ROM 000Fh .

형식 이면 마지막 를 나타낸다00-> Record , 01 Record .

D2~22 컴파일 후의 실제로 이 부분을 영역에 기록한다-> Hex Data, Code Memory .

의 의 보수 합을 구한 후 반전하고 다시 을 더함 값을 나48-> 09+00+F0+00+D2+A0+~+F8+22 2 ( 1 )

타낸다.

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Page 63: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 63

는 코드를 특정 메모리 영역에 한다 와 반'Memory Restore .' Hex Write . 'Memory Save .'…… ……

의 역할이다.

그림 70 기록. Memory Dump

5. Appendix

5.1. Header File

<complex>

abs · arg · complex · conj · cos · cosh · double_complex · exp · float_complex · imag · log

· log10 · norm · polar · pow · real · sin · sinh · sqrt · tan · tanh ·__STD_COMPLEX

<ios>

ios · fpos · ios_base · locale · mbstate_t · streamoff · streampos · streamsize · boolalpha ·

dec · fixed · hex · internal · left · noboolalpha · noshowbase · noshowpoint · noshowpos ·

noskipws · nounitbuf · nouppercase · oct · right · scientific · showbase · showpoint ·

showpos · skipws · unitbuf · uppercase

<string>

string · char_allocator · char_traits · getline · swap

<math.h>

HUGE_VAL

abs · acos · asin · atan · atan2 · ceil · cos · cosh · exp · fabs · floor · fmod · frexp ·

ldexp · log · log10 · modf · pow · sin · sinh · sqrt · tan · tanh

acosf · asinf · atanf · atan2f · ceilf · cosf · coshf · expf · fabsf · floorf · fmodf · frexpf ·

ldexpf · logf · log10f · modff · pow · sinf · sinhf · sqrtf · tanf · tanhf

acosl · asinl · atanl · atan2l · ceill · cosl · coshl · expl · fabsl · floorl · fmodl · frexpl ·

ldexpl · logl · log10l · modfl · pow · sinl · sinhl · sqrtl · tanl · tanhl

<stdio.h>

_IOFBF · _IOLBF · _IONBF · BUFSIZ · EOF · FILE · FILENAME_MAX · FOPEN_MAX ·

L_tmpnam · NULL · SEEK_CUR · SEEK_END · SEEK_SET · TMP_MAX

clearerr · fclose · feof · ferror · fflush · fgetc · fgetpos · fgets · fopen · fpos_t · fprintf ·

Page 64: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 64

fputc · fputs · fread · freopen · fscanf · fseek · fsetpos · ftell · fwrite · getc · getchar · gets

· perror · printf · putc · putchar · puts · remove · rename · rewind · scanf · setbuf · setvbuf

· size_t · sprintf · sscanf · stderr · stdin · stdout · tmpfile · tmpnam · ungetc · vfprintf ·

vprintf · vsprintf

5.2. 관련 교육 정보

를 보다 효과적으로 익히기 위해서는 매뉴얼만 봐서는 잘 이해하기 어렵다 가ARM RISC Processor .

능한 실험과 병행해보고 동작을 익히며 복잡한 환경을 손쉽게 익히기 위해서는 교육을 받아야 하는

데 마이크로비젼 에서는 엔지니어들에게 보다 도움이 되도록 이 탑(www.microvision.co.kr) LPC 2106

재 되어 있는 를 이용하여 다음과 같이 교육을 한다Quick Start Board .

교육의 목적 :

본 교육은 에서 시작한 엔지니어가 의 기술을 효과적으로 습8/16Bit MPU 32Bit RISC ARM Firmware

득 할 수 있도록 필립스에서 제작된 핀 시리즈를 통하여 체계적으로 학습 하는데48 LPC2000 ARM7

그 목적이 있다 특히 에 한 기본 이해와 컴파일러 디버그 사용법에 한. ARM7 USB JTAG Tool

통합 개발 환경과 설계를 하기 위한 기초 기술을 다루었다.

교육 상 :

제품 구입자'IAR Kickstart Kit for LPC210x'

구매자IARARM

교육 일정 첫째 셋째 수 목 매월 두 번 강의( , / )

날 짜 각 일간- -> 6/2~3, 6/16~17 2

시 간 총 시간- -> 10:00 ~ 17:00 ( 14 )

강 사 :

주 팀- ( )Microvision Technical Support

참고 준비 자료/ :

습득- ANSI C

- IAR Kickstart Kit for LPC210x board

교 재 :

실습용 보드 여- ARM IAR Kickstart Kit

준비된 강의자료-

- Emulator : USB JTAG USB DEBUG

컴파일러 한도의 버전- IAR ARM 32k Full社

컴파일러 보드 디버그 관련 자료- , , , ANSI C

인 제공 실습 중심의 교육- 1 1PC ( )

강의 내용 :

개요- ARM

Page 65: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 65

구성- Quick Start Board Firmware

환경- IAR EWARM IDE Quick Start

- Target Board Porting

을 이용한- USB JTAG Debug

- Application

교육 참가 신청 비용, :

또는 구입시 무료- 'IAR Kickstart Kit for LPC210x' EWARM

보드 혹은 컴파일러 없을 경우 만원 부가세별도- 30 ( )

교육을 희망하시는 분은- 교육 참가 신청서를 팩스나 이메일로 송부하여 주시기 바랍니다.

선착순 명 마감 전화 및 상담 하시면 자세하게 설명 드립니다- 14 -> E-mail .

입금계좌 조흥은행 예금주 마이크로비젼- : 829-01-000330 : ㈜

은행계좌로 입금했어도 제한된 좌석관계로 참가 신청 후 선착순 입금하신분에 한해 등록합니다- .

입금 후에 반드시 전화 이메일 송부 바랍니다- .

세금 계산서 발행 가능합니다- .

교육 연기 및 취소는 반드시 교육 시작 일전까지 연락 주시기 바랍니다- 3 .

이 후 취소시에는 교육비 만 환불이 가능합니다- 70% .

교육사정상 교육이 연기되거나 취소되는 경우엔 사전 통보해 드립니다- .

교육에 관한 정보 :

- TEL : 02)3283-0101 FAX : 02)3283-0160

- URL : www.microvision.co.kr

- Email : [email protected]

교육 연기 및 취소 :

교육 연기 및 취소는 반드시 교육 시작 일전까지 연락 주시기 바랍니다- 3 .

교육사정상 교육이 연기되거나 취소되는 경우엔 사전 통보해드립니다- .

교육 장소

교육장소 및 위치- : 마이크로비젼 교육장

6. 찾아보기

(A)

Acer Laboratories 8

Aeroflex UTMC 8

Analog Devices8

ANSI C 5

ARM 8

ARM7TDMI-S 21

Assembler 7

Atmel 8

(C)

C-SPY 41

CISC 15

Compiler 7

Control 60

Cygnal Integrated Products 8

Cypress Semiconductor 8

(D)

Dallas Semiconductor8

Page 66: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 66

Dongle 13

(E)

Edit 45

EISC 16

EW(Embedded Workbench) 4

Ewavrpro 13

Execute 56

(F)

File 44

FPU 21

(H)

Header 62

HEX 61

(I)

IDE 4

IED 56

Infineon 8

Integrated Silicon Solution 8

Intel 8

(L)

Launcher 14

Librarian 29

license 11

Lock Key9

(M)

Macro29, 7

Matra MHS 8

MDS 20

Microchip 8

Motorola 8

(N)

National Semiconductor 8

NEC 9

(O)

Object 29

OKI 9

(P)

PC5

Philips 9

Program Count 5

(R)

Renesas 9

RISC 16

(S)

Samsung9

Standard Microsystems 9

Suppress28

Symbol 7

(T)

TAP 29

(V)

View 49

ᄅ( )

레이블 7

ᄆ( )

마크로 7

매크로 29

ᄉ( )

소스프로그램 6

시뮬레이터 41

ᄌ( )

전처리기 7

ᄏ( )

컴파일(Compile) 6

ᄐ( )

Page 67: PAT APP D103 ARM Firmware Application Philips 10mvtool.co.kr/hb/data/pds/PhilipsKit(한글 메뉴얼).pdf · 2012. 4. 9. · ARMFirmwareApplication-EWARM,PhilipsLPC210xQuickStart-최종저장일:

원고의 내용이나 문구를 주 마이크로비젼 기술연구소와This item is originally designed by MicroVision LTD. ( )

협의 없이 무단으로 이용할 수 없습니다 관련문의. Compiler www.microvision.co.kr 02-3283-0101 67

통합개발환경 4

ᄑ( )

평가 버전 9

프린터포트 14

프린터포트락키 15