PAT_APP_D103_ARM Firmware Application_Philips_10

Size: px
Start display at page:

Download "PAT_APP_D103_ARM Firmware Application_Philips_10"

Transcription

1 ARM Firmware Application - EWARM, Philips LPC210x Quick Start - 최종 저장일 : 2004년 5월 10일 File : PAT_APP_D103_ARM Firmware Application_Philips_10.hwp 문서번호 : PAT-APP-D103 번호 갱 신 내 용 담당 V Philips Kick Start Board를 이용하여 ARM Firmware 자료 작성 PM V 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 컴파일러 문의 : 마이크로비젼 : IAR 컴파일러 기술지원 : jameslee@microvision.co.kr support@allmcu.com

2 ARM LPC210x 개발 환경 Quick Start 차례 1. 개요 3 2. EWARM Compiler 설치 9 3. Quick Start J-link Quick Monitor Quick Stand Alone Quick Flash Utility Quick C-SPY File Edit View Debug Simulator/J-link Appendix Header File 관련 교육 정보 찾아보기 64

3

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 기판 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

5 CD : EWARM 컴파일러 두개의 버전(30 일 사용, 32K Byte 코드 한계), LPC2000 프로그램( 필립스 제작), Sample Code, MakeApp(IAR Compiler Platform 생성기), VisualState( 상태도 작성으로 코드 생성기) 장비 : USB용 JTAG Debug 장비, J-link 기타 : Jumper3 개, 스티커, 그러나 전원이 들어 있지 않다. 사진의 펜은 PCB 크기를 비교하기 위해 강이 올려놓고 촬영했다. 그림 2.ARMKickStartKit 내용물 알나간알고나면간단 ( ) IAR사의 EW(Embedded Workbench) 시리즈 컴퓨터를 이용하여 Microprocessor Application 을 개발하는 과정에서 에디터, 컴파일러, 어셈블러, 링크, 디버그 등의 각각의 단계가 모두 하나의 프로그램 안에 통합되어 있는 것을 나타낸다. 단어의 의미로는 작업대를 나타내므로 Table에 여러 가지 공구들을 올려놓고 작업한다는 의미로 컴파일러 회사가 붙인 이름이라고 판단된다. 프로그램을 에디터로 작성하고 바로 컴파일러를 호출하여 컴파일 과 링크를 거친 뒤 실행까지 시켜 볼 수 있다. 무엇보다 기존의 에디터를 빠져 나와 컴파일을 하고 디버깅 뒤에 다시 에디터를 호출하는 불필요한 반복적인 작업을 하지 않아 개발 기간을 단축시킬 수 있다. 이런 소프트웨어를 IDE(Integrated Development Environment) 라고 하며 통합 개발 환경이라 고번역하여부른다. IAR 컴파일러의 국내 판매 종류는 제품에 따라 그리고 내용물의 구성 Package에 따라 여러 가지 버 전이 있으므로 구입을 희망한다면 IAR 본사나 한국 대리점 담당자에게 메일 또는 유선상으로 문의하 길바란다. 마이크로비젼 : : 구로 IT 단지 : : jameslee@microvision.co.kr 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

6 IAR 본사 : : 스웨덴 : : info@iar.se 본 설명서를 읽고 실행해 보면 어느 정도 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 비트이다. 명령의 개수도 많은 데 프로그램을 하는 사람은 여러 개의 코드를 적절히 나열하여 정해진 일을 마이컴이 하도록 하면 된다. 그러나 여러 가지 동작을 하는 기계어 코드를 하나하나 다 외우고 적절히 배치하기에는 고도 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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의 원시코드를 기계어 코드로 변환하는데 과정을 세부적으로 보면 우선 첫 번째 단계 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

8 에서는 C 프리프로세서( 전처리기:Pre-Processor) 가 호출된다. 다음단계는 C 언어의 문법과 문형을 검사하고 어셈블리 코드로 변환한다. 마지막으로 시스템에 맞는 이진 기계어 코드로 변환한다. 이러 한 이진 코드를 오브젝트 코드라 하는데 여기까지 오면 링크 될 준비를 마친 것이다. 링크 단계의 목적은 프로그램을 실행 형태로 만들어 주는 것인데 오브젝트 코드와 외부 함수, 라이브러리 루틴을 참조한 후 연결하여 실행 가능한 코드파일로 만들어 준다. Compiler 컴파일 작업을 하는 프로그램. 즉 어떤 언어( 주로 고급언어) 로 된 원시 프로그램을 다른 언어( 주로 기계어나 어셈블리 언어) 로 된 목적 프로그램으로 바꾸는 프로그램. 컴파일러는 원시 프로그램을 읽 어 들여 각 문장을 분석하고, 그 의미를 알아내어 그에 대응되는 목적 코드를 생성한다. 또한 수행 중에 발생하는 에러의 처리와 복구를 하며 생성된 목적 프로그램과 라이브러리를 링크하기 위한 정 보를 생성한다. Assembler 어셈블리 언어로 작성된 프로그램을 기계어로 번역하는 일을 하는 컴퓨터 프로그램. 어셈블러는 어 셈블리 언어의 원시 문장을 읽어 들여 OP 코드를 해당되는 기계어 코드로 바꾸고, 피연산자 (operand) 에 나타내는 레이블(Symbol) 들을 실제의 주소로 변환하는 작업을 한다. 또한 원시 프로그 램에 대한 리스팅을 생성하고 각종 오류 메시지와 진단, 그리고 링크와 로드를 위한 재배치 정보를 만들어 낸다. 대부분의 경우 어셈블러에 마크로(Macro) 기능이 추가된 것이 보통인데 이런 어셈블러 는 매크로 어셈블러라고 부르기도 한다. IAR Compiler 의 종류에 대해서 나타내면 다음 표와 같다. 종류로는 8비트부터 32비트까지 다양한데 개발 환경은 비슷하다. 본 매뉴얼은 도표에서 회색부분 소프트웨어를 Firmware 설명할 때 언급한다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

9 Chip Manufacturer Microcontroller support embedded EC++ Hardware Workbench support debugger Acer Laboratories M6032, M6759 EW8051 Aeroflex UTMC UT80C196KD UT69RH051 EWX96 Analog Devices AduC8xx EW8051 ARM ARM7, ARM9 ARM9E, ARM10 nitel Xscale EWARM AT89x, T8xC51xxx EW8051 Atmel AVR, AT90S EWAVR AT91x EWARM TSC8xx251xxx EW251 Cygnal Integrated C8051Fxxx Products EW8051 Cypress Semiconductor EZ-USB FX Dallas Semiconductor DS2xxx, DS5xxx, DSxCxx Infineon C500 Integrated Silicon Solution IS80xxx, IS89xxx EW8051 Intel MCS 51 MCS 96/296 EWx96 Matra MHS 80C3x, 80C5x, 80c154 EW8051 PICmicro 16,17 EWPIC (all 14&16bit cores) Microchip PICmicro 18 EWPIC18 dspic EWdsPIC Motorola 68HC11 EW HC12 EW6812 CR16, DIP EWCR16 EWDIP EWCR16-DIP National Semiconductor NSC800 EWZ80 COP8 EWCOP8 CR16C EWCR16C-C CR16C, SC14xx EWCR16C-SC 표 2. 마이크로프로세서에 대한 EW 시리즈의 종류와 칩 밴드 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

10 NEC OKI Renesas(former Hitachi and Mitsubishi) Philips Standard Microsystems Samsung 78K0, 78K0/S EW K4 EW78400 V85x, V850E, V850ES EWV850 MSM8xC154, MSM8xC5x EW8051 ML67xxx EWARM EWZ80 H8/300, H8/300L EWH8300 H8/300H, H8S EWH8 SuperH EWSH 740 EW EW7700 M16C/1x-3x, M16C/6x, R8C/1x EWM16C M32C, M16C/8x EWM32C R8C Tiny EWR8C 80C51 COM20051, USB97Cxxx EW8051 SAM8 EWSAM8 S3C4xxx, S3F4xxx EWARM 표 3. 마이크로프로세서에 대한 EW 시리즈의 종류와 칩 밴드 - 계속 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 를 구동/ 실험하기 위해 평가 버전을 다운받기 위해서는 접속한 뒤 Product에서 ARM 프로세서 회사의 문자를 클릭하면 된다. 보통 설치 뒤 30일로 기간내에서 기능 전 부를 사용할 수 있는 Free 컴파일러를 제공하므로 본 매뉴얼을 이용하여 충분히 검토가 가능하리라 고 본다. 직접 웹으로 이동하기를 원한다면 ' 를이용하자. Quick Start Kit을 구입하면 CD에 기본적으로 30 일 평가판(EWARM-EV-340C.exe) 과 30K 바이트 코 드 한계(EWARM-KS-340C.exe) 의 두 종류의 컴파일러가 있다. 30일 한계는 시간이 지나면 더 이상 설치를 해도 설치 자체가 안 되므로 30K 한도 버전을 추천해 주고 싶다. 참고적으로 웹을 통해 다운 받으면최신(2004 년상반기기준: V4.10B) 의30 일평가판을다운받을수있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

11 IAR 컴파일러는 웹 사이트에서 다운 받아 사용하는 평가 버전도 시리얼 번호가 있는데 이 번호는 이 메일을 통해 배포 된다. 자신이 현재 받을 수 있는 메일을 정확히 기록해야 함은 물론이다. 시리얼 번호를 받는 것도 30K 한계의 버전은 다음 웹 사이트를 통해 접속한 뒤 개인 정보를 기입하고 등록 하면 이메일을 통하여 Limited 라이센스 번호가 보내준다. : 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 장비 를 설치할 때 드라이버 파일을 제공해준다. 설치할 때 필요하다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

12 그림5.EWARM 설치초기화면 Enter User Information 항목에서는 개인의 정보와 라이센스를 넣게 되는데 이미 메일로 발송된 상 태였을 것이다. 메일로 온 14 자리 숫자로 구성된 라이센스를 카피해서 넣으면 된다. '#license#' 항 목의코드가흐린것은저자의번호를넣고화면저장해서이를수정했기때문이다. 그림 6. EWARM V3.40C 설치화면-라이센스 기입 라이센스를 기입 한 다음 'Next' 를 클릭하면 다시 라이센스 키를 묻는데 이 번호는 좀 길다. 한 100 자는 될 것 같은데 중요한 것은 끝의 '#' 까지 카피를 해서 다음의 [ 그림 : EWARM V3.10A 설치화 면- 라이센스 키 기입] 에 넣어야 한다. 'Read License Form File' 항목은 라이센스가 있는 경로를 결 정하기 위한 것인데 설치경로를 의미하는 것은 아니다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

13 그림 7. EWARM V3.40C 설치화면-라이센스 키 기입 license와 license key를 항목에 정상적으로 입력하고 다음으로 넘어가면 설치 경로를 적절히 하고 'Full' 을 선택하자. 다음의 문자 박스는 메일을 통해서 라이센스를 받은 내용이다. 여기에 Expires 2029 라고 적혀 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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: VTOKS0KZKA44U730G76QGMSDMBHH9T0HT9KITJVCZ6AGJZ7H4S8H0PSZM3Q27LRTD3PXRG DYE2I1F0ZXR6WN76RVJG14QQX9K432KLCQBN54X4WDZLS14EB2X2H154QP4B40WDU2JTC3F LA1CLMULO2MP4RJ5HIM4SF22JHS2XN3DKYCSAVY3BYMYRN# Feature: EWARM-KS32 Version: 02_WIN Temporary license (Licno:9503-xxx-xxx-xxxx), expires This 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 the installation program. You will be prompted for the license number and key. Simply cut and paste them from the you receive 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 product upgrades. 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개의 폴더가 생긴 다. 설치 CD 폴더 구성 내용 HTML 웹과 관련된 아이콘 파일들이 들어 있다. Install_Software Product_Info QuickStart EWARM 설치( 두개의 설치 파일), LPC2000_Flash Utility, MakeApp, Sample_Source, VisualState 의 폴더가 있다. 제품사용법등의 매뉴얼 QuickStart.pdf 파일 하나만 들어있다. 표4. IAR EWARM 설치CD 내용 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

15 설치된 뒤의 폴더 구성 내용 ( 평가 버전 기준) ARM Common bin Config Doc Inc layouts Lib Src Tutor Bin Doc Src Compiler 통합 개발 환경의 실행 파일들이 들어 있다. SFR 파일, Target Platform 설명서 Header File Default.lew 파일이들어있다. *.r79 파일 라이브러리 CSPY, LIB, Template Sample 예제 Xlink, Xlib, 설명서 Xlink Source 폴더 통합 환경 등의 실행파일 표5. IAR EWARM Compiler Version 3.40C의설치폴더내용 컴파일러 통합 환경을 다 설치하면 오른쪽 하단의 ' 작업 표시줄' 아이콘 박스에 태양이 떠오르는 적 색 아이콘 'IAR Launcher' 가 있게 된다. 아이콘은 여러 종류의 컴파일러를 모아서 관리하는 것으로 설치된 컴파일러가 많다면 이용하도록 추천한다. 저자의 PC에 EWAVR과 8051, EWAVR2.28a, UML Tools 를 설치했을 때의 환경이다. 'IAR Launcher' 아이콘의 환경을 수정하기 위해서는 아이콘에 화 살표를 놓고 마우스의 오른쪽 버튼을 클릭하면 된다. 그런데 왜 'Launcher' 라는 단어를 사용했을까? 사전에는 발사대1)라고 되어 있는데 스웨덴의 프로그 래머들은 그렇게 생각되나 하는 의구심이 생겼다. 나중에 기회가 닿으면 한번 질문할 계획을 가지고 있는데 사실 프로그램을 작성하고 제품을 만들었을 때 작명, 이것 또 잘 안될 때는 무지하게 스트레 스로 다가온다. 이럴 때면 사전이라는 사전은 다 꺼내놓고 단어 공부를 하는데 그래도 이름 짓기가 만만하지 않을 때가 있다. 그림 9. 설치된 컴파일러 IAR Launcher 그림 10. 프린터포트 락키( 동글) EW(Embedded Workbench)시리즈 컴파일러가 실행된 상태에서 또 다른 프로젝트 파일을 클릭하거 1) 최진만氏 의 의견 : Task Bar의 Icon 을 클릭하면 그 위로 메뉴가 튀어 올라오기 때문에 그렇게 명명한 것 같음. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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) 는 범용 마이크 로프로세서의 명령세트를 축소하여 설계한 컴퓨터를 말한다. 범용으로 사용되는 마이크로프로세서 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 의국제특허를가지고있는회사는 이다. 컴파일러를 이용하여 프로그램 한다는 것은 구태여 어셈블리를 모르거나 마이크로프로세서에 대해 그렇게 자세히 알지 못해도 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.' 에 가서 버전을 확인해서 원하는 버전인지를 확인해 보자. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 이다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

19 그림 13.J-linkDebug 장비 이제 준비가 끝났는데 LED 구동 예제 프로그램을 'File/Open' 의 메뉴에서 위에서 압축을 푼 예제 코 드 경로를 지정하여 'QuickStartCard.eww' 를 불러온 뒤 윈도우에 배치를 하면 다음 그림과 같이 된 다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 을익히는데도움이될것이다 J-link Quick 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 은 하드웨어에 대한 설정인데 중요한 부분이다. 난 뒤에도 동작하지 않는 사태가 벌어질 수도 있다. 잘못되면 포팅하고 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 항목을 선택한다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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을 링크하고 적 제하는역할을해준다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

24 그림 19. Option/Xlink/Include Library : 기존 IAR 에서 추천해 주는 라이브러리를 링크하거나 'Ignore CSTARTUP in Library' 를 통해 무시할수도있다. XClFileName:'overrideDefault' 를 선택하여 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 [0x x00001F] RAM or ROM // ROMSTART--ROMEND [0x x0FFFFF] ROM (or other non-volatile memory) // RAMSTART--RAMEND [0x x7FFFFF] RAM (or other read/write memory) 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

25 -carm -DROMSTART= DROMEND=40009FFF // CPU ARM 을 나타낸다. // ROM의시작번지 // ROM의 마지막 번지 -Z(CODE)INTVEC= f // 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 -DRAMEND=4000FFFF // RAM의시작번지 // 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 -D_IRQ_STACK_SIZE=100 -D_HEAP_SIZE=2000 // C Stack 크기 설정 // IRQ Stack 크기 설정 // 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' 는 메모리 맵의 상태를 도식화해서 나타내준다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 항목을 설정하자. 이곳에서는 컴파일과 링크되고 디버거 할 수 있는 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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). 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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", 0xE , 4, base=16 sfr = "IOSET", "Memory", 0xE , 4, base=16 sfr = "IODIR", "Memory", 0xE , 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", 0xE , 1, base=16 sfr = "U1IER", "Memory", 0xE , 1, base=16 ; I2C sfr = "I2CONSET", "Memory", 0xE001C000, 4, base=16 sfr = "I2STAT", "Memory", 0xE001C004, 4, base=16 ; SPI sfr = "S0SPCR", "Memory", 0xE , 4, base=16 sfr = "S0SPSR", "Memory", 0xE , 4, base=16 ; TIMER0 sfr = "T0IR", "Memory", 0xE , 4, base=16 sfr = "T0TCR", "Memory", 0xE , 4, base=16 ; TIMER1 sfr = "T1IR", "Memory", 0xE , 4, base=16 sfr = "T1TCR", "Memory", 0xE , 4, base=16 ; PWM sfr = "PWMIR", "Memory", 0xE , 4, base=16 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

29 sfr = "PWMTCR", "Memory", 0xE , 4, base=16 ; RTC sfr = "ILR", "Memory", 0xE , 4, base=16 sfr = "CTC", "Memory", 0xE , 4, base=16 ; Watchdog sfr = "WDMOD", "Memory", 0xE , 4, base=16 sfr = "WDTC", "Memory", 0xE , 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 : 비 휘발성 메모리의 디버깅에 사용되며 이 부분에 다운로드를 하지 않는다. 최소한 한번은 기록되어야 하며 똑같은 것을 되풀이해서 다운로드 할 필요가 없을 경우 사용한다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

30 Verify All : 다운로드 뒤에 보낸 파일과 다운로드 된 파일을 비교한다. LPC210x Flash Download : CCLK 에 설정된 속도로 다운로딩 한다. CCLK : khz 단위로 입력 No Reset at Debugger Startup : 코드를 다운로드 했을 때도 Reset 신호를 발생하지 않는다. Reset Asserts Hardware Reset Pin : 소프트웨어 Reset을 실행 DelayafterReset[ ms]: 기입한 ms단위만큼 지연 뒤에 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 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 핀 D Type의 4번과 7번핀에 각각 Reset, INT1 ISP 관련 핀이 동작 하게 하기 위해 Check Box 를 'v' 로 한다. 모니터 프로그램은 Quick Start 설치 경로에 있는 IAR_LPC210xRomMon.hex 의 핵사 코드이다. 이 실행 파일을 필립스의 부팅 영역에 기록해 놓기 위해 'Flash Programming' 경로에서 올바로 파일이 름을 선택하고 UploadtoFlash' 하면 파란색 진행막대가 이동 하면서 Writing 하게 된다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

32 그림 24. LPC 2000 Flash Utility 실행 ROM 모니터를 이용하여 실행과 디버깅을 하기 위해서는 Project 상단에 있는 적색 부분 (Configuration Menu) 의 항목을 먼저 선택하자. 이름은 사용자가 임의대로 만들 수 있는데 사실 이 항목은 이름뿐이다. 옵션을 올바르게 적용해야한다. 프로젝트는 키 입력으로 간단한 게임을 할 수 있 는 'Shoot' 을 이용했으며 Startup 코드를 포함하여 소스 프로그램이 4 개가 있다. 그림 25.ROMMonitor 설정 ANSI C 에서는 소스코드를 선택적으로 컴파일과 링크를 하는 방법이 있는데 전처리기 (Preprocessor) 가 여기에 해당한다. 동일한 프로그램에서 특별한 모니터 부분만 꺼내어 컴파일 하 기 위해서 다음과 같이 사용 되었다. Shoot.c 소스 파일의 일부인데 'ROM_MONITOR_DEBUG' 단어 가 전처리기에 어떻게 사용되었는지 나타낸다. //==================================================================== #ifdef ROM_MONITOR_DEBUG // Compiler의 Define 항목에 있을 경우, 컴파일 된다. LPC210xInitExternalInterrupt2(UserButtonHandler); 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 만 선택해도 된다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

35 // Inform the linker about the CPU family used. -carm // ARM Core를 알려줌 // Read-only segments mapped to ROM. -DROMSTART= // ROM 시작 번지, 실제는 RAM 영역 -DROMEND=40009FFF // ROM 끝 번지 // Exception vectors used by user code -Z(CODE)INTVEC= f // 벡터가 있는 번지도 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 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 탭이 활성화 되는데 통신 포트와 속도에 대한 사항을 결정한다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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. 모니터 통신에러 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

38 여기까지 모니터 프로그램을 설정하고 실행하는 것을 보였는데 사용법은 어렵지 않으며 반복 숙달이 가장 좋다고 하겠다. 그러나 한번쯤은 디버깅에 관한 사항은 뒤에 어느 정도 설명을 해 놓았으므로 읽어 보고 체험하기를 바란다. 모니터를 이용하는 것은 소스 알고리듬을 컴파일해서 빠른 로딩을 효 과적으로 디버깅을 하는데 사용할 수 있다 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 바이트의 코드 한계가 있음에 주의해야한다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

39 그림 33. Option/Xlink/Include Stand Alone 환경 설정 //==================================================================== // LPC2106_Standalone.xcl 파일의 일부 // 메모리 맵 // Exception vectors [0x x00001F] RAM or ROM // ROMSTART--ROMEND [0x x0FFFFF] ROM (or other non-volatile memory) // RAMSTART--RAMEND [0x x7FFFFF] 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= DROMEND=0001dfff 영역 설정 //Exception vectors used by user code -Z(CODE)INTVEC= f // 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 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

40 // Read/write segments mapped to RAM. RAM -DRAMSTART= DRAMEND=4000FFFF 영역 설정 // Data segments. -Z(DATA)HUGE_I,HUGE_Z,HUGE_N=RAMSTART-RAMEND // ramfunccodecopiedtoandexecutedfromram. -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 을 누르면 '*' 이 나오 게된다 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을 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

41 거친 뒤에 setup.exe 2) 을찾아실행하면된다. 그림 34. start.htm 실행 보드와 유틸리티 프로그램과의 통신 방법은 시리얼 통신인데 다음과 같은 것을 준비하면 된다. 통신 케이블은 RS-232 PC 측에서는 암컷(Female), LPC2000 보드는 수컷(Male) 의 모두 D-Type 9핀 시 리얼 케이블을 연결해야 한다. 이때 다음과 같이 시리얼 케이블을 일대일로 구성하자. 자작 한다면 5 가닥은 필수로 있어야 하지만 기성품을 구입 했을 경우는 연결할 필요 없는 다른 핀들도 전부 연결 되어 있을 것이다( 일대일 케이블이라고 주문하면 된다) 나머지가 덤으로 연결되어도 동작에는 지장을 주지 않으므로 상관없다. 참고적으로 4번핀은 보드의 Reset, 7번핀은 INT1 ISP 관련 핀에 하드웨어 적으로 연결되어 있기 때문이다. 그림 35.LPCBoard에서 사용되는 시리얼 케이블 정상적인 설치와 케이블이 준비 되었다면 케이블을 연결하고 보드에 전원을 넣고 윈도우의 시작에서 LPC2000 Flash Utility를 찾거나 설치한 경로에서 LPC210x_ISP.exe 파일을 실행하면 [ 그림 : LPC 인터페이스 프로그램 LPC210x_ISP 실행] 과 같이 필립스 아이콘과 함께 다운로드 프로그램이 실행된 다. 2) 여러 가지 이유로 Setup 파일에 의해 설치가 안 될 경우가 생긴다면 압축 파일 LPC210x_ISP.CAB을 적절한 경로에 풀고 LPC210x_ISP.exe 을실행해도된다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 항목은 MHz 속도를 변경하 면 통신이 정상적으로 이루어지지 않는다. 칩과 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 안에 특별히 하 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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, 레지스터, 그 리고 변수를 나타내는 윈도우가 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 항목이 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 실행] 에서 ' 확인' 하면) 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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.' 은 편집 윈도우에서 오리기, 복사하기, 붙이 기, 선택해서 붙이기 기능이다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

47 그림 42.PasteSpecial 윈도우 'Select All' 편집 윈도우에 있는 모든 Text 를 블록화 하여 전체 소스 문장을 오리기, 복사하기, 붙이 기쉽게해준다. 'Find.', 'Find Next' 찾기와또찾기 'Replace', 'Find in Files.' 찾은 다음 바꾸기와 경로에서 찾기 기능이다. 'Go To.' 는 편집 윈도우에서 해당 위치로 커서와 화면을 이동 하는 명령어이다. 반대로 현재 커 서가 있는 위치에서 Ctrl+G 하면 커서의 현재 위치를 몇 줄, 몇 번째인지 알려준다. 편집 윈도우의 상단 파일 이름 옆에 '*' 가 있는 것은 원본과 비교하여 수정이 이루어졌을 경우에 표시된다. 그림 43. 편집환경에서 GotoLine실행 'Next Error/Tag', 'Previous Error/Tag' 컴파일 뒤에 에러가 발생 했을 경우 이 명령을 실행하면 메 시지 윈도우와 편집 윈도우에서 잘못된 부분으로 커서를 이동시켜 개발자의 손/ 발이 되어 준다. 'Toggle Bookmark' 편집 윈도우에서 한행의 책갈피를 표시해준다. 되는 토글스위치(Toggle Switch) 이다. 한번은 선택되고 또 한번은 해지 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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사용 예 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

49 'Enable/Disable breakpoint' 는 일시적으로 Break 기능을 상실하게 하는 것이며 완전히 Break 기능 을 윈도우에서 없애지는 않는다. 즉 현재의 Break Line 에서 활성화 하는가 아닌가에 대한 사항이다. 'Breakpoint.' 설정된 Break 문장을 편집할 수 있는 기능이다. 특히 Code, Data, 변수값 등의 특 별한 조건에서 Break 를 걸 수 있다. [ 그림 : Breakpoint 설정 예제] 는 각각의 종류별로 Break를 설 정해 놓았다. Code 뒤 문장에 다음에는 어셈블리일 경우는 함수가 저장 되어 있는 변지수 를 나타내며 C 언어 소스일 경우는 중괄호 안에 파일이름, 위치를 나타낸다. Data 뒤 문장은 데이터 영역의 Read, Write, 또는 둘 다 인지를 나타내며 변수값의 크기를 설정하여 Break 한다. Immediate 도 동일하다. 그림 45.Breakpoint설정 예제 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 언어를 혼용해서 나오게 하고 또 한번 클릭하면 어셈블리 언어만 나올 수 있도록 선택 할 수 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 비동기 통신 모드로 설정하는 것이다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 문에서 초 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 을 할 수 있다. 아쉽게도 내부 함수 이외의 자작한 시리얼 코드의 출력과 입력은 지원되지 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

54 않음으로 주의가 필요하다. 그림 55. Terminal Window 예를들어다음의함수결과값은'Terminal I/O' 에서볼수없다. //============================================================ voidputbyte(ucharc){ // 실행해도Terminal Window 에서볼수없다. UCSR0A = (ENABLE << UDRE0); UDR0=c; // 데이터를직렬버퍼에쓴다. } void putstring(uchar *str){ unsigned int i; // Point 문자열 출력 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등 의 메뉴가 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 : 다시 정보를 읽어 온다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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( 하단) 항목이 있다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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 보드를 나타낸다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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.' 는 현재 커서가 위치해 있는 함수/ 변수의 상태를 즉시 확인할 수 있는 윈도우를 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

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' 이 그것이다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

60 Log 저장 기능을 활성화시키기 위해서 사각형으로 되어 있는 Check Box 를 클릭하여 'Enable log file' 한다. 'Include' 항목에 Check 하면 해당 이벤트가 생겼을 때만 기록한다. 밑의 파일이름과 경로 는 변경이 가능하다. 그림 65. Log File 설정 Window [ 그림 : Log File 설정 Window] 처럼 설정하고 디버그를 실행한 다음 파일의 내용이다. //=========================================================== Fri Mar 19 14:39: : execuserexit() called Fri Mar 19 14:39: : Error in C: Toolfirm tutor SetupAdvanced.mac atline91,col20:operationerror. Fri Mar 19 14:39: : Error while calling macro execuserexit. Fri Mar 19 14:39: : Code coverage deactivated Fri Mar 19 14:39: : 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 하는데 필요하다면 모니터 화면 가득히 찰 것이다. 아무리 잘 나누어도 화면이 많게 되는데 이때 이미 등록된 윈도우의 환경을 불러오는 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

61 Utility 이다. 확장자는 *.lew 로 되어 있다. 'Save Layout As.' 현재 설정된 C-SPY 환경을 저장하는 역할을 하고 확장자는 *.lew로 되어 있 다. 'Load Default Layout' Default.lew 파일을 즉시 불러와서 원도우를 Setting 한다. 어지러운 모습의 환경을빨리바꾸는데제격이다. 'Save Current Layout As Default' 현재의 개발 디버그 환경을 Default.lew 파일에 즉시 저장한다 Simulator/J-link 그림 67. Simulator 'Interrupt.' 는 인터럽트에 대한 모든 사항이 들어 있는데 이들을 활성화 하는 역할을 한다. 저자 는 처음에 Interrupt Enable을 소스에서 코드로 활성화하는 루틴을 넣어서 시뮬레이션에서 별다른 설 정을 안 해도 소프트웨어적으로 인터럽트가 발생하는 데는 지장이 없다고 생각했었다. 하지만 그렇 게 하면 아무리 실행해도 타이머 인터럽트가 발생하지 않는다. 소스코드에 설정해도 이 부분을 꼭 활성화해야 인터럽트 루틴으로 들어갈 수 있다. 그림 68. Interrupt Window Interrupt : 인터럽트 소스 선택 Activation Time : 활성 시간 Repeat Interval : 반복 간격 Probability : 실행 횟수 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

62 Hold Time : 유지시간 Variance : 변동 Installed Interrupts : 설정된 인터럽트 'Memory Save.' Dump된 메모리의 내용을 Intel Hex Format 으로 특정 파일 이름으로 기록한다. 그림 69.MemoryDump 저장 Zone : 메모리 영역 Start AD : 시작 어드레스 Stop AD : 끝번지 File name : 저장하고자 하는 파일이름, 사용자 정의, Text 로 저장된다. 알나간알고나면간단 ( ) 인텔 HEX Format 인텔 HEX File Format은 바이너리 코드를 ROM Writer등으로 다운로드하기 위해 만들어진 형식으로 데이터를 바이트 단위로 한 뒤 ASCII 코드로 표현한다. 예를 들어 코드의 16 진수 09 는 0x30( 0 ), 0x39( 9 ) 의 상태로 전송한다. 다음에 제시된 핵사코드는 이해를 돕기 위해 만들어진 Sample인데 실 제로 첫줄을 분석해보도록 하자. :09000F00D2A0C2A0B28080F82248 : F8 :0C FE4F6D8FD F3D : FF :-> 인텔 Hex Format 의 레코드(Record) 시작 09-> Record 의 데이터 바이트의 수, 밑줄 부분의 Hex 의 개수를 나타낸다. 밑줄 친 부분은 어셈블리 소스의 니모닉 코드에 해당한다. 000F-> 데이터 바이트를 저장할 ROM의 어드레스 위치 000Fh 번지를 나타낸다. 00-> Record 형식, 01이면 마지막 Record 를 나타낸다. D2~22 -> 컴파일 후의 Hex Data, 실제로 이 부분을 Code Memory 영역에 기록한다. 48-> F0+00+D2+A0+~+F8+22의 2 의 보수( 합을 구한 후 반전하고 다시 1 을 더함) 값을 나 타낸다. 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

63 'Memory Restore.' 는 Hex 코드를 특정 메모리 영역에 Write 한다. 'Memory Save.' 와 반대 의 역할이다. 그림 70.MemoryDump 기록 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 협의 없이 무단으로 이용할 수 없습니다. Compiler 관련문의

Microsoft Word - Armjtag_문서1.doc

Microsoft Word - Armjtag_문서1.doc ARM JTAG (wiggler 호환 ) 사용방법 ( IAR EWARM 에서 ARM-JTAG 로 Debugging 하기 ) Test Board : AT91SAM7S256 IAR EWARM : Kickstart for ARM ARM-JTAG : ver 1.0 ( 씨링크테크 ) 1. IAR EWARM (Kickstart for ARM) 설치 2. Macraigor

More information

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

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

DE1-SoC Board

DE1-SoC Board 실습 1 개발환경 DE1-SoC Board Design Tools - Installation Download & Install Quartus Prime Lite Edition http://www.altera.com/ Quartus Prime (includes Nios II EDS) Nios II Embedded Design Suite (EDS) is automatically

More information

ISP and CodeVisionAVR C Compiler.hwp

ISP and CodeVisionAVR C Compiler.hwp USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler http://www.avrmall.com/ November 12, 2007 Copyright (c) 2003-2008 All Rights Reserved. USBISP V3.0 & P-AVRISP V1.0 with CodeVisionAVR C Compiler

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상

아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상 Android 용 Brother Image Viewer 설명서 버전 0 KOR 아이콘의 정의 본 사용자 설명서에서는 다음 아이콘을 사용합니다. 참고 참고는 발생할 수 있는 상황에 대처하는 방법을 알려 주거나 다른 기능과 함께 작동하는 방법에 대한 요령을 제공합니다. 상표 Brother 로고는 Brother Industries, Ltd.의 등록 상표입니다. Android는

More information

MAX+plus II Getting Started - 무작정따라하기

MAX+plus II Getting Started - 무작정따라하기 무작정 따라하기 2001 10 4 / Version 20-2 0 MAX+plus II Digital, Schematic Capture MAX+plus II, IC, CPLD FPGA (Logic) ALTERA PLD FLEX10K Series EPF10K10QC208-4 MAX+plus II Project, Schematic, Design Compilation,

More information

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

목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER < Tool s Guide > 목차 1. 개요... 3 2. USB 드라이버 설치 (FTDI DRIVER)... 4 2-1. FTDI DRIVER 실행파일... 4 2-2. USB 드라이버 확인방법... 5 3. DEVICE-PROGRAMMER 설치... 7 3-1. DEVICE-PROGRAMMER 실행파일... 7 4. DEVICE-PROGRAMMER 사용하기...

More information

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

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 Eclipse (IDE) JDK Android SDK with ADT IDE: Integrated Development Environment JDK: Java Development Kit (Java SDK) ADT: Android Development Tools 2 JDK 설치 Eclipse

More information

슬라이드 1

슬라이드 1 CCS v4 사용자안내서 CCSv4 사용자용예제따라하기안내 0. CCS v4.x 사용자 - 준비사항 예제에사용된 CCS 버전은 V4..3 버전이며, CCS 버전에따라메뉴화면이조금다를수있습니다. 예제실습전준비하기 처음시작하기예제모음집 CD 를 PC 의 CD-ROM 드라이브에삽입합니다. 아래안내에따라, 예제소스와헤더파일들을 PC 에설치합니다. CD 드라이브 \SW\TIDCS\TIDCS_DSP80x.exe

More information

(SW3704) Gingerbread Source Build & Working Guide

(SW3704) Gingerbread Source Build & Working Guide (Mango-M32F4) Test Guide http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document History

More information

슬라이드 1

슬라이드 1 Delino EVM 용처음시작하기 - 프로젝트만들기 (85) Delfino EVM 처음시작하기앞서 이예제는타겟보드와개발홖경이반드시갖추어져있어야실습이가능합니다. 타겟보드 : Delfino EVM + TMS0F85 초소형모듈 개발소프트웨어 : Code Composer Studio 4 ( 이자료에서사용된버전은 v4..입니다. ) 하드웨어장비 : TI 정식 JTAG

More information

슬라이드 제목 없음

슬라이드 제목 없음 < > Target cross compiler Target code Target Software Development Kit (SDK) T-Appl T-Appl T-VM Cross downloader Cross debugger Case 1) Serial line Case 2) LAN line LAN line T-OS Target debugger Host System

More information

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

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx To be an Android Expert 문양세강원대학교 IT 대학컴퓨터학부 개발환경구조및설치순서 JDK 설치 Eclipse 설치 안드로이드 SDK 설치 ADT(Androd Development Tools) 설치 AVD(Android Virtual Device) 생성 Hello Android! 2 Eclipse (IDE) JDK Android SDK with

More information

Microsoft PowerPoint - Getting Started with IAR C for ARM 20061010_.ppt

Microsoft PowerPoint - Getting Started with IAR C for ARM 20061010_.ppt IAR Compiler IAR Embedded Workbench 소개 EW Compiler Series는 전세계적으로 임베디드 시스템 개발자들이 가장 많이 사용하는 C/C++ Compiler 및 Debugging Tool 입니다. 8/ 16/ 32 bit Microprocessor 와 DSP 등 30가지 이상의 Compiler 시리즈를 지원하며, 세계적인 기업인

More information

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc NTAS and FRAME BUILDER Install Guide NTAS and FRAME BUILDER Version 2.5 Copyright 2003 Ari System, Inc. All Rights reserved. NTAS and FRAME BUILDER are trademarks or registered trademarks of Ari System,

More information

Microsoft Word - PEB08_USER_GUIDE.doc

Microsoft Word - PEB08_USER_GUIDE.doc 0. PEB08 이란? PEB08(PIC EVALUATION BOARD 8bits) 은 Microchip 8bit Device 개발을쉽고편리하게할수있는보드입니다. 1. 다양한 8bit Device 지원 기존대부분의 8bit 보드의경우일부 Pin-Count만지원을하였지만, PEB08은 PIC10, PIC12, PIC16, PIC18의 DIP Type Package의모든

More information

Mango220 Android How to compile and Transfer image to Target

Mango220 Android How to compile and Transfer image to Target Mango220 Android How to compile and Transfer image to Target http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys

More information

Chapter ...

Chapter ... Chapter 4 프로세서 (4.9절, 4.12절, 4.13절) Contents 4.1 소개 4.2 논리 설계 기초 4.3 데이터패스 설계 4.4 단순한 구현 방법 4.5 파이프라이닝 개요*** 4.6 파이프라이닝 데이터패스 및 제어*** 4.7 데이터 해저드: 포워딩 vs. 스톨링*** 4.8 제어 해저드*** 4.9 예외 처리*** 4.10 명령어 수준

More information

APOGEE Insight_KR_Base_3P11

APOGEE Insight_KR_Base_3P11 Technical Specification Sheet Document No. 149-332P25 September, 2010 Insight 3.11 Base Workstation 그림 1. Insight Base 메인메뉴 Insight Base Insight Insight Base, Insight Base Insight Base Insight Windows

More information

Remote UI Guide

Remote UI Guide Remote UI KOR Remote UI Remote UI PDF Adobe Reader/Adobe Acrobat Reader. Adobe Reader/Adobe Acrobat Reader Adobe Systems Incorporated.. Canon. Remote UI GIF Adobe Systems Incorporated Photoshop. ..........................................................

More information

1

1 1 2 3 4 5 6 b b t P A S M T U s 7 m P P 8 t P A S M T U s 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 Chapter 1 29 1 2 3 4 18 17 16 15 5 6 7 8 9 14 13 12 11 10 1 2 3 4 5 9 10 11 12 13 14 15

More information

4S 1차년도 평가 발표자료

4S 1차년도 평가 발표자료 모바일 S/W 프로그래밍 안드로이드개발환경설치 2012.09.05. 오병우 모바일공학과 JDK (Java Development Kit) SE (Standard Edition) 설치순서 Eclipse ADT (Android Development Tool) Plug-in Android SDK (Software Development Kit) SDK Components

More information

Windows 8에서 BioStar 1 설치하기

Windows 8에서 BioStar 1 설치하기 / 콘텐츠 테이블... PC에 BioStar 1 설치 방법... Microsoft SQL Server 2012 Express 설치하기... Running SQL 2012 Express Studio... DBSetup.exe 설정하기... BioStar 서버와 클라이언트 시작하기... 1 1 2 2 6 7 1/11 BioStar 1, Windows 8 BioStar

More information

untitled

untitled 1... 2 System... 3... 3.1... 3.2... 3.3... 4... 4.1... 5... 5.1... 5.2... 5.2.1... 5.3... 5.3.1 Modbus-TCP... 5.3.2 Modbus-RTU... 5.3.3 LS485... 5.4... 5.5... 5.5.1... 5.5.2... 5.6... 5.6.1... 5.6.2...

More information

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

Microsoft Word - windows server 2003 수동설치_non pro support_.doc Windows Server 2003 수동 설치 가이드 INDEX 운영체제 설치 준비과정 1 드라이버를 위한 플로피 디스크 작성 2 드라이버를 위한 USB 메모리 작성 7 운영체제 설치 과정 14 Boot Sequence 변경 14 컨트롤러 드라이버 수동 설치 15 운영체제 설치 17 운영체제 설치 준비 과정 Windows Server 2003 에는 기본적으로

More information

PRO1_04E [읽기 전용]

PRO1_04E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_04E1 Information and S7-300 2 S7-400 3 EPROM / 4 5 6 HW Config 7 8 9 CPU 10 CPU : 11 CPU : 12 CPU : 13 CPU : / 14 CPU : 15 CPU : / 16 HW 17 HW PG 18 SIMATIC

More information

Microsoft Word - AVRISP mkII 장비 운용.doc

Microsoft Word - AVRISP mkII 장비 운용.doc AVRISP mkii 장비운용 기술연구소이진용대리 ( jylee@mamiel.com ) 1. AVRISP mkⅡ 개요 AVRISP mkⅡ 장비운용 1) AVRISP mkⅡ란? 기존의 AVRISP의단점을보충해서 Atmel에서새롭게출시된 ISP 장비이다기존에 AVRISP는전원을 Target System에서공급을받아야했기에사용하기에불편한점이많았지만이번에새롭게출시된

More information

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

C. KHU-EE xmega Board 에서는 Button 을 2 개만사용하기때문에 GPIO_PUSH_BUTTON_2 과 GPIO_PUSH_BUTTON_3 define 을 Comment 처리 한다. D. AT45DBX 도사용하지않기때문에 Comment 처리한다. E. ASF(Atmel Software Framework) 환경을이용한프로그램개발 1. New Project Template 만들기 A. STK600 Board Template를이용한 Project 만들기 i. New Project -> Installed(C/C++) -> GCC C ASF Board Project를선택하고, 1. Name: 창에 Project Name(

More information

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

Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs, including any oper Windows Netra Blade X3-2B( Sun Netra X6270 M3 Blade) : E37790 01 2012 9 Copyright 2012, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT END USERS. Oracle programs,

More information

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

EWAVR 5.1x 프로젝트 옵션 설정(1_2) 2. Project -> > Option -> > General Option -> > Output / Library Configuration Library Configuration 은 사용하게 될 Library file을 EWAVR 5.1x 프로젝트 옵션 설정(1) 1. Project -> Option -> General Options General Options Target 은 IAR Compiler 를 사용 프로세서에 맞추는 가장 중요한 초기화 과정이다. Processor configuration 에서 V0~ V6 설정은 Code/ Data Memory 를 기준으로 사용되는

More information

RealDSP UT 프로그램 메뉴얼

RealDSP UT 프로그램 메뉴얼 Motorola Programmer ( 모델명 : MDProg16) 사용설명서 UUU 리얼시스 (RealSYS) Web: www.realsys.co.kr Tel: 031-420-4326 Fax: 031-420-4329-1 - 1. Motorola Programmer 프로그램특징 A. JTAG & OnCE 기능을이용한 Motorola 의내부플래시메모리 Writing

More information

PRO1_09E [읽기 전용]

PRO1_09E [읽기 전용] Siemens AG 1999 All rights reserved File: PRO1_09E1 Information and - ( ) 2 3 4 5 Monitor/Modify Variables" 6 7 8 9 10 11 CPU 12 Stop 13 (Forcing) 14 (1) 15 (2) 16 : 17 : Stop 18 : 19 : (Forcing) 20 :

More information

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D> VHDL 프로그래밍 D. 논리합성및 Xilinx ISE 툴사용법 학습목표 Xilinx ISE Tool 을이용하여 Xilinx 사에서지원하는해당 FPGA Board 에맞는논리합성과정을숙지 논리합성이가능한코드와그렇지않은코드를구분 Xilinx Block Memory Generator를이용한 RAM/ ROM 생성하는과정을숙지 2/31 Content Xilinx ISE

More information

Orcad Capture 9.x

Orcad Capture 9.x OrCAD Capture Workbook (Ver 10.xx) 0 Capture 1 2 3 Capture for window 4.opj ( OrCAD Project file) Design file Programe link file..dsn (OrCAD Design file) Design file..olb (OrCAD Library file) file..upd

More information

Microsoft PowerPoint - ARM 개발 환경.ppt

Microsoft PowerPoint - ARM 개발 환경.ppt ARM 개발환경 Yongjin Kim CASP Lab. Hanyang Univ. yjkim@casp.hanyang.ac.kr 1 대의 PC 를위한개발환경 (1) JTAG 1 Parallel cable 4 Host PC (Window 또는 Linux) 1. JTAG 2 Serial SMC S3C2410x Hardware 개발환경 3 NOR Flash (Boot

More information

Install stm32cubemx and st-link utility

Install stm32cubemx and st-link utility STM32CubeMX and ST-LINK Utility for STM32 Development 본문서는 ST Microelectronics 의 ARM Cortex-M 시리즈 Microcontroller 개발을위해제공되는 STM32CubeMX 와 STM32 ST-LINK Utility 프로그램의설치과정을설명합니다. 본문서는 Microsoft Windows 7

More information

BY-FDP-4-70.hwp

BY-FDP-4-70.hwp RS-232, RS485 FND Display Module BY-FDP-4-70-XX (Rev 1.0) - 1 - 1. 개요. 본 Display Module은 RS-232, RS-485 겸용입니다. Power : DC24V, DC12V( 주문사양). Max Current : 0.6A 숫자크기 : 58mm(FND Size : 70x47mm 4 개) RS-232,

More information

K7VT2_QIG_v3

K7VT2_QIG_v3 1......... 2 3..\ 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 " RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K

More information

Microsoft PowerPoint - 15-MARS

Microsoft PowerPoint - 15-MARS MARS 소개및실행 어셈블리프로그램실행예 순천향대학교컴퓨터공학과이상정 1 MARS 소개및실행 순천향대학교컴퓨터공학과 2 MARS 소개 MARS MIPS Assembler and Runtime Simulator MIPS 어셈블리언어를위한소프트웨어시뮬레이터 미주리대학 (Missouri State Univ.) 의 Ken Vollmar 등이자바로개발한교육용시뮬레이터

More information

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O Orange for ORACLE V4.0 Installation Guide ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE...1 1....2 1.1...2 1.2...2 1.2.1...2 1.2.2 (Online Upgrade)...11 1.3 ORANGE CONFIGURATION ADMIN...12 1.3.1 Orange Configuration

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

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

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과 학습내용 1. Java Development Kit(JDK) 2. Java API 3. 자바프로그래밍개발도구 (Eclipse) 4. 자바프로그래밍기초 2 자바를사용하려면무엇이필요한가? 자바프로그래밍개발도구 JDK (Java Development Kit) 다운로드위치 : http://www.oracle.com/technetwork/java/javas

More information

MPLAB C18 C

MPLAB C18 C MPLAB C18 C MPLAB C18 MPLAB C18 C MPLAB C18 C #define START, c:\mcc18 errorlevel{0 1} char isascii(char ch); list[list_optioin,list_option] OK, Cancel , MPLAB IDE User s Guide MPLAB C18 C

More information

Chapter 1

Chapter 1 3 Oracle 설치 Objectives Download Oracle 11g Release 2 Install Oracle 11g Release 2 Download Oracle SQL Developer 4.0.3 Install Oracle SQL Developer 4.0.3 Create a database connection 2 Download Oracle 11g

More information

Solaris Express Developer Edition

Solaris Express Developer Edition Solaris Express Developer Edition : 2008 1 Solaris TM Express Developer Edition Solaris OS. Sun / Solaris, Java, Web 2.0,,. Developer Solaris Express Developer Edition System Requirements. 768MB. SPARC

More information

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨

목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시 주의사항... 5 2.2 설치 권고 사양... 5 2.3 프로그램 설치... 6 2.4 하드웨 최종 수정일: 2010.01.15 inexio 적외선 터치스크린 사용 설명서 [Notes] 본 매뉴얼의 정보는 예고 없이 변경될 수 있으며 사용된 이미지가 실제와 다를 수 있습니다. 1 목차 제 1 장 inexio Touch Driver소개... 3 1.1 소개 및 주요 기능... 3 1.2 제품사양... 4 제 2 장 설치 및 실행... 5 2.1 설치 시

More information

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

다음 사항을 꼭 확인하세요! 도움말 안내 - 본 도움말에는 iodd2511 조작방법 및 활용법이 적혀 있습니다. - 본 제품 사용 전에 안전을 위한 주의사항 을 반드시 숙지하십시오. - 문제가 발생하면 문제해결 을 참조하십시오. 중요한 Data 는 항상 백업 하십시오. 메 뉴 다음 사항을 꼭 확인하세요! --------------------------------- 2p 안전을 위한 주의 사항 --------------------------------- 3p 구성품 --------------------------------- 4p 각 부분의 명칭 --------------------------------- 5p 제품의 규격

More information

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2

목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy... 6 2.2 Compare... 6 2.3 Copy & Compare... 6 2.4 Erase... 6 2 유영테크닉스( 주) 사용자 설명서 HDD014/034 IDE & SATA Hard Drive Duplicator 유 영 테 크 닉 스 ( 주) (032)670-7880 www.yooyoung-tech.com 목차 1. 제품 소개... 4 1.1 특징... 4 1.2 개요... 4 1.3 Function table... 5 2. 기능 소개... 6 2.1 Copy...

More information

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

1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation 1. What is AX1 AX1 Program은 WIZnet 사의 Hardwired TCP/IP Chip인 iinchip 들의성능평가및 Test를위해제작된 Windows 기반의 PC Program이다. AX1은 Internet을통해 iinchip Evaluation Board(EVB B/D) 들과 TCP/IP Protocol로연결되며, 연결된 TCP/IP

More information

CD-RW_Advanced.PDF

CD-RW_Advanced.PDF HP CD-Writer Program User Guide - - Ver. 2.0 HP CD-RW Adaptec Easy CD Creator Copier, Direct CD. HP CD-RW,. Easy CD Creator 3.5C, Direct CD 3.0., HP. HP CD-RW TEAM ( 02-3270-0803 ) < > 1. CD...3 CD...5

More information

Microsoft PowerPoint - SY-A3PSK-V1.pptx

Microsoft PowerPoint - SY-A3PSK-V1.pptx SY-A3PSK -V1.0 Low power Single chip, single voltage Nonvolatile, Reprogrammable Live at Power-up Live at Power up Maximum design security Firm-error immune Clock management Advanced I/O standards User

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

IDA 5.x Manual 07.02.hwp

IDA 5.x Manual 07.02.hwp IDA 5.x Manual - Manual 01 - 영리를 목적으로 한 곳에서 배포금지 Last Update 2007. 02 이강석 / certlab@gmail.com 어셈블리어 개발자 그룹 :: 어셈러브 http://www.asmlove.co.kr - 1 - IDA Pro 는 Disassembler 프로그램입니다. 기계어로 되어있는 실행파일을 어셈블리언어

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

Microsoft Word - Automap3

Microsoft Word - Automap3 사 용 설 명 서 본 설명서는 뮤직메트로에서 제공합니다. 순 서 소개 -------------------------------------------------------------------------------------------------------------------------------------------- 3 제품 등록 --------------------------------------------------------------------------------------------------------------------------------------

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A638C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The Last(8 th ) Lecture 유명환 ( yoo@netplug.co.kr) INDEX 1 I 2 C 통신이야기 2 ATmega128 TWI(I 2 C) 구조분석 4 ATmega128 TWI(I 2 C) 실습 : AT24C16 1 I 2 C 통신이야기 I 2 C Inter IC Bus 어떤 IC들간에도공통적으로통할수있는 ex)

More information

6주차.key

6주차.key 6, Process concept A program in execution Program code PCB (process control block) Program counter, registers, etc. Stack Heap Data section => global variable Process in memory Process state New Running

More information

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

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - (Asynchronous Mode) - - - ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 - UART (Univ ers al As y nchronous Receiver / T rans mitter) 8250A 8250A { COM1(3F8H). - Line Control Register

More information

10X56_NWG_KOR.indd

10X56_NWG_KOR.indd 디지털 프로젝터 X56 네트워크 가이드 이 제품을 구입해 주셔서 감사합니다. 본 설명서는 네트워크 기능 만을 설명하기 위한 것입니다. 본 제품을 올바르게 사 용하려면 이 취급절명저와 본 제품의 다른 취급절명저를 참조하시기 바랍니다. 중요한 주의사항 이 제품을 사용하기 전에 먼저 이 제품에 대한 모든 설명서를 잘 읽어 보십시오. 읽은 뒤에는 나중에 필요할 때

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A634C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 4 th Lecture 유명환 ( yoo@netplug.co.kr) 1 시간 (Time) 에대한정의 INDEX 2 왜타이머 (Timer) 와카운터 (Counter) 인가? 3 ATmega128 타이머 / 카운터동작구조 4 ATmega128 타이머 / 카운터관련레지스터 5 뻔뻔한노하우 : 레지스터비트설정방법 6 ATmega128

More information

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자 SQL Developer Connect to TimesTen 유니원아이앤씨 DB 팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 2010-07-28 작성자 김학준 최종수정일 2010-07-28 문서번호 20100728_01_khj 재개정이력 일자내용수정인버전

More information

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3 Example 3.1 Files 3.2 Source code 3.3 Exploit flow

More information

KDTÁ¾ÇÕ-2-07/03

KDTÁ¾ÇÕ-2-07/03 CIMON-PLC CIMON-SCADA CIMON-TOUCH CIMON-Xpanel www.kdtsys.com CIMON-SCADA Total Solution for Industrial Automation Industrial Automatic Software sphere 16 Total Solution For Industrial Automation SCADA

More information

Microsoft Word - Ahram_ISP_V15_Manual_V20.doc

Microsoft Word - Ahram_ISP_V15_Manual_V20.doc Ahram ISP V1.5 사용자매뉴얼 Manual Ver 2.0 Ahramsoft CO.LTD www.ahramsoft.com Contents 1. 모델이름 ------------------------------------------------------- 3 2. 용 도 -------------------------------------------------------

More information

B _00_Ko_p1-p51.indd

B _00_Ko_p1-p51.indd KOS-V000 B64-797-00/00 (MV) KOS-V000 설명서를 보는 방법 이 설명서에서는 삽입된 그림을 통해 작동 방법을 설명합니다. 이 설명서에 나타낸 화면과 패널은 작동 방법을 자세히 설명하는 데 이용되는 예입니다. 따라서 실제 화면이나 패널과 다르거나 일부 디 스플레이 패턴이 다를 수도 있습니다. 찾기 모드 방송국 선택 설정. TUNER

More information

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F >

<4D F736F F F696E74202D20B8B6C0CCC5A9B7CEC7C1B7CEBCBCBCAD202839C1D6C2F7207E203135C1D6C2F > 10주차 문자 LCD 의인터페이스회로및구동함수 Next-Generation Networks Lab. 5. 16x2 CLCD 모듈 (HY-1602H-803) 그림 11-18 19 핀설명표 11-11 번호 분류 핀이름 레벨 (V) 기능 1 V SS or GND 0 GND 전원 2 V Power DD or V CC +5 CLCD 구동전원 3 V 0 - CLCD 명암조절

More information

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기

Mango-IMX6Q mfgtool을 이용한 이미지 Write하기 Mango-IMX6Q mfgtool 을 이용한이미지 Write 하기 http://www.mangoboard.com/ http://cafe.naver.com/embeddedcrazyboys Crazy Embedded Laboratory www.mangoboard.com cafe.naver.com/embeddedcrazyboys CRZ Technology 1 Document

More information

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1

설치 순서 Windows 98 SE/Me/2000/XP 1 PC를 켜고 Windows를 시작합니다. 아직 컴퓨터에 프린터를 연결하지 마십시오. 2 PC에 P-S100 CD-ROM(프 린터 드라이버)을 삽입합니다. 3 설치 프로그램을 시작합니다. q CD-ROM의 PS1 디지털 사진 프린터 P-S100 프린터 드라이버 설치 가이드 사용하는 컴퓨터에 따라 제공된 프린터 드라이버를 설치합니다. 설치 절차 에 대한 자세한 내용은 CD-ROM의 Readme 파일을 참조하십시오. 작동 환경 Windows 호환 모델: IBM PC/AT 및 호환품 운영 체제: Windows 98 SE/Me/2000/XP (Windows 98 SE/Me/2000/XP

More information

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

임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 4 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 Outline n n n n n n 보드개요보드연결필수패키지, Tool-Chain 설치 Kernel, file system build Fastboot 및 Tera Term설치 Kernel, file system 이미지전송및설치 - 2 - Young-Jin Kim X-Hyper320TKU

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

untitled

untitled Push... 2 Push... 4 Push... 5 Push... 13 Push... 15 1 FORCS Co., LTD A Leader of Enterprise e-business Solution Push (Daemon ), Push Push Observer. Push., Observer. Session. Thread Thread. Observer ID.

More information

ActFax 4.31 Local Privilege Escalation Exploit

ActFax 4.31 Local Privilege Escalation Exploit NSHC 2013. 05. 23 악성코드 분석 보고서 [ Ransomware 악성코드 ] 사용자의 컴퓨터를 강제로 잠그고 돈을 요구하는 형태의 공격이 기승을 부리고 있 습니다. 이러한 형태의 공격에 이용되는 악성코드는 Ransomware로 불리는 악성코 드 입니다. 한번 감염 시 치료절차가 복잡하며, 보고서 작성 시점을 기준으로 지속 적인 피해자가 발생되고

More information

강의10

강의10 Computer Programming gdb and awk 12 th Lecture 김현철컴퓨터공학부서울대학교 순서 C Compiler and Linker 보충 Static vs Shared Libraries ( 계속 ) gdb awk Q&A Shared vs Static Libraries ( 계속 ) Advantage of Using Libraries Reduced

More information

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수

소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를 제공합니다. 제품은 계속 업데이트되므로, 이 설명서의 이미지 및 텍스트는 사용자가 보유 중인 TeraStation 에 표시 된 이미지 및 텍스트와 약간 다를 수 사용 설명서 TeraStation Pro II TS-HTGL/R5 패키지 내용물: 본체 (TeraStation) 이더넷 케이블 전원 케이블 TeraNavigator 설치 CD 사용 설명서 (이 설명서) 제품 보증서 www.buffalotech.com 소개 TeraStation 을 구입해 주셔서 감사합니다! 이 사용 설명서는 TeraStation 구성 정보를

More information

T100MD+

T100MD+ User s Manual 100% ) ( x b a a + 1 RX+ TX+ DTR GND TX+ RX+ DTR GND RX+ TX+ DTR GND DSR RX+ TX+ DTR GND DSR [ DCE TYPE ] [ DCE TYPE ] RS232 Format Baud 1 T100MD+

More information

Microsoft Word - USB복사기.doc

Microsoft Word - USB복사기.doc Version: SD/USB 80130 Content Index 1. Introduction 1.1 제품개요------------------------------------------------------------P.02 1.2 모델별 제품사양-------------------------------------------------------P.04 2. Function

More information

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론

이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 이도경, 최덕재 Dokyeong Lee, Deokjai Choi 1. 서론 2. 관련연구 2.1 MQTT 프로토콜 Fig. 1. Topic-based Publish/Subscribe Communication Model. Table 1. Delivery and Guarantee by MQTT QoS Level 2.1 MQTT-SN 프로토콜 Fig. 2. MQTT-SN

More information

Microsoft Word - AVR Dragon.doc

Microsoft Word - AVR Dragon.doc 기술연구소이진용대리 ( jylee@mamiel.com ) 목차 1. Introducing AVR Dragon 2. AVR Dragon 을사용하기 3. Unpacking the AVR Dragon 4. Software and USB Setup 5. Board Description ------- (1) Header Pin mounted area ------- (2)

More information

Microsoft Word - FS_ZigBee_Manual_V1.3.docx

Microsoft Word - FS_ZigBee_Manual_V1.3.docx FirmSYS Zigbee etworks Kit User Manual FS-ZK500 Rev. 2008/05 Page 1 of 26 Version 1.3 목 차 1. 제품구성... 3 2. 개요... 4 3. 네트워크 설명... 5 4. 호스트/노드 설명... 6 네트워크 구성... 6 5. 모바일 태그 설명... 8 6. 프로토콜 설명... 9 프로토콜 목록...

More information

스마트월드캠퍼스 교육교제

스마트월드캠퍼스 교육교제 LG Smart TV SDK 활용법 Contents 1. Using LG Smart TV SDK 2. Testing & Publishing 3. UX Guideline Using LG Smart TV SDK LG Smart TV SDK 구성 Open API IDE* App 구현을 위한 LG Smart TV 인터페이스 제공 Media playback, TV 제어,

More information

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다.

기존에 Windchill Program 이 설치된 Home Directory 를 선택해준다. 프로그램설치후설치내역을확인해보면 Adobe Acrobat 6.0 Support 내역을확인할수 있다. PDMLink 에등록된 Office 문서들의 PDF 문서변환기능및 Viewer 기능을알아보자 PDM Link에서지원하는 [Product View Document Support] 기능은 Windows-Base 기반의 Microsoft Office 문서들을 PDMLink용 Viewer인 Product View를통한읽기가가능한 PDF Format 으로변환하는기능이다.

More information

슬라이드 1

슬라이드 1 마이크로컨트롤러 2 (MicroController2) 2 강 ATmega128 의 external interrupt 이귀형교수님 학습목표 interrupt 란무엇인가? 기본개념을알아본다. interrupt 중에서가장사용하기쉬운 external interrupt 의사용방법을학습한다. 1. Interrupt 는왜필요할까? 함수동작을추가하여실행시키려면? //***

More information

[ 마이크로프로세서 1] 1 주차 2 차시. 마이크로프로세서와마이크로컨트롤러발달과정 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습

[ 마이크로프로세서 1] 1 주차 2 차시. 마이크로프로세서와마이크로컨트롤러발달과정 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습 1 주차 2 차시마이크로프로세서와마이크로컨트롤러발달과정 학습목표 1. 마이크로프로세서발달과정과종류를설명할수있다. 2. 인텔 8051 계열과아트멜 (Atmel) 의특성을설명할수있다. 학습내용 1 : 마이크로프로세서발달과정 1. 마이크로프로세서종류 1 인텔 ( intel) 80 계열 2 모토롤라 (motorola) 68 계열 2. 인텔 80 계열 1 최초 1971

More information

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University Outline Network Network 구조 Source-to-Destination 간 packet 전달과정 Packet Capturing Packet Capture 의원리 Data Link Layer 의동작 Wired LAN Environment

More information

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows

목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 삼성SDS 하이패스 USB 드라이버 설치 매뉴얼 삼성SDS(주) 목 차 1. 드라이버 설치...3 1.1 설치환경...3 1.2 드라이버 설치 시 주의사항...3 1.3 USB 드라이버 파일...3 1.4 Windows XP에서 설치...4 1.5 Windows Vista / Windows 7에서 설치...7 1.6 Windows 8에서 설치...9 2. 드라이버

More information

API 매뉴얼

API 매뉴얼 PCI-DIO12 API Programming (Rev 1.0) Windows, Windows2000, Windows NT and Windows XP are trademarks of Microsoft. We acknowledge that the trademarks or service names of all other organizations mentioned

More information

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law),

,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), 1, 2, 3, 4, 5, 6 7 8 PSpice EWB,, ,,,,,, (41) ( e f f e c t ), ( c u r r e n t ) ( p o t e n t i a l difference),, ( r e s i s t a n c e ) 2,,,,,,,, (41), (42) (42) ( 41) (Ohm s law), ( ),,,, (43) 94 (44)

More information

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

Microsoft Word - 3부A windows 환경 IVF + visual studio.doc Visual Studio 2005 + Intel Visual Fortran 9.1 install Intel Visual Fortran 9.1 intel Visual Fortran Compiler 9.1 만설치해서 DOS 모드에서실행할수있지만, Visual Studio 2005 의 IDE 를사용하기위해서는 Visual Studio 2005 를먼저설치후 Integration

More information

H3050(aap)

H3050(aap) USB Windows 7/ Vista 2 Windows XP English 1 2 3 4 Installation A. Headset B. Transmitter C. USB charging cable D. 3.5mm to USB audio cable - Before using the headset needs to be fully charged. -Connect

More information

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & /

s SINUMERIK 840C Service and User Manual DATA SAVING & LOADING & & / SINUMERIK 840C Service and Uer Manual DATA SAVING & LOADING & & / / NC, RS232C /. NC NC / Computer link () Device ( )/PC / / Print erial Data input RS232C () Data output Data management FLOPPY DRIVE, FLOPPY

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 (Host) set up : Linux Backend RS-232, Ethernet, parallel(jtag) Host terminal Target terminal : monitor (Minicom) JTAG Cross compiler Boot loader Pentium Redhat 9.0 Serial port Serial cross cable Ethernet

More information

슬라이드 제목 없음

슬라이드 제목 없음 ETOS-DPS-X Guide AC&T SYSTEM 1 ETOS-DPS-X 개요 ETOS-DPS-X Field Bus Network 중 Profibus-DP Network 에연결되는장비. ProfiBus-DP Network 시스템에 DP 통신을지원하지않는현장장비에대한통신서버기능구현. Profibus-DP Slave 동작하기때문에반드시 DP-Master 모듈이있는시스템에서적용가능.

More information

PathEye 공식 블로그 다운로드 받으세요!! 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다.

PathEye 공식 블로그 다운로드 받으세요!!   지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye Mobile Ver. 0.71b 2009. 3. 17 By PathEye 공식 블로그 다운로드 받으세요!! http://blog.patheye.com 지속적으로 업그래이드 됩니다. 여러분의 의견을 주시면 개발에 반영하겠 습니다. PathEye 설치 1/3 최종 배포 버전을 다 운로드 받습니다. 다운로드된 파일은 CAB 파일입니다. CAB 파일에는

More information

SIGIL 완벽입문

SIGIL 완벽입문 누구나 만드는 전자책 SIGIL 을 이용해 전자책을 만들기 EPUB 전자책이 가지는 단점 EPUB이라는 포맷과 제일 많이 비교되는 포맷은 PDF라는 포맷 입니다. EPUB이 나오기 전까지 전 세계에서 가장 많이 사용되던 전자책 포맷이고, 아직도 많이 사 용되기 때문이기도 한며, 또한 PDF는 종이책 출력을 위해서도 사용되기 때문에 종이책 VS

More information

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

iii. Design Tab 을 Click 하여 WindowBuilder 가자동으로생성한 GUI 프로그래밍환경을확인한다. Eclipse 개발환경에서 WindowBuilder 를이용한 Java 프로그램개발 이예는 Java 프로그램의기초를이해하고있는사람을대상으로 Embedded Microcomputer 를이용한제어시스템을 PC 에서 Serial 통신으로제어 (Graphical User Interface (GUI) 환경에서 ) 하는프로그램개발예를설명한다. WindowBuilder:

More information

ARM01

ARM01 0 1 Chapter 1.1 1.2 1.3 1.4 1.5 ARM System Developer s guide 32, ARM., ARM,,,. ARM 1985, ARM1, 2001 20 ARM. ARM,., ARM,., ARM ARM7TDMI, 120 Dhrystone MIPS 1),. ARM7TDMI. ARM, RISC(Reduced Instruction Set

More information

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

Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related Virtual Machine Sun Fire X4800 M : E4570 0 8 Copyright 0, Oracle and/or its affiliates. All rights reserved.,.,,,,,,,,,,,,.,...,. U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation

More information

슬라이드 1

슬라이드 1 사용 전에 사용자 주의 사항을 반드시 읽고 정확하게 지켜주시기 바랍니다. 사용설명서의 구성품 형상과 색상은 실제와 다를 수 있습니다. 사용설명서의 내용은 제품의 소프트웨어 버전이나 통신 사업자의 사정에 따라 다를 수 있습니다. 본 사용설명서는 저작권법에 의해 보호를 받고 있습니다. 본 사용설명서는 주식회사 블루버드소프트에서 제작한 것으로 편집 오류, 정보 누락

More information

KDTÁ¾ÇÕ-1-07/03

KDTÁ¾ÇÕ-1-07/03 CIMON-PLC CIMON-SCADA CIMON-TOUCH CIMON-Xpanel www.kdtsys.com CIMON-PLC Total Solution for Industrial Automation PLC (Program Logic Controller) Sphere 8 Total Solution For Industrial Automation PLC Application

More information