커널연구회(

Size: px
Start display at page:

Download "커널연구회("

Transcription

1 Device Tree 상세분석 in Linux Kernel 4.0 First Edition

2 저작권 2 저작권 Device Tree 상세분석 in Linux Kernel 4.0 저자정재준 Copyright All rights reserved. Published by. 서울금천구두산로 70 현대지식산업센터 A 동 26 층 2611 호 커널연구회는리눅스커널과자료구조알고리즘을연구하고리눅스시스템프로그래밍및디바이스드라이버개발을통하여창의적인프로젝트를수행하여 IoT 관렦제품들을만들어일상생홗을풍요롭고편리하게하는데가치를두고있습니다. 아울러관렦기술들을교육하여여러사람들과공유핛수있도록노력하고있습니다. 커널연구회가연구개발핚결과물들은체계적으로문서화하여온라인 ( 상에서무료혹은유료로제공하고있습니다. 커널연구회가제공하는저작물에는저작권을표시하고있으며사용자는저작권표시를보존해주어야합니다. 커널연구회가유료로제공하는저작물은사용자에게개인키 ( 암호 ) 를부여하므로개인키를타인에게공개및양도하는일이없도록해야합니다. 기타자세핚내용들은커널연구회웹사이트 ( 를방문해주시기바랍니다. 감사합니다. 발행인 : 정재준발행처 : 커널연구회출판사등록번호 : 제 호출판사등록일 : 2011년 09월 27일전화및팩스 : ISBN: 초판발행일 : 2015 년 08 월 07 일 2 / 27

3 커널연구회로드맵 3 커널연구회로드맵 연구개발및교육 시스템 프로그래밍 디바이스 드라이버 하드웨어소프트융합 지능형센서, 모터제어 리눅스커널자료구조알고리즘 C언어 ARM 아키텍쳐 ARM Cortex-M 온도, 습도속도, 기울기, 경사도, 기압 ( 고도 ) 방향 ( 나침반 ) 거리조도 ARM Cortex-A 리눅스커널 4.x 대화형인터페이스 Big.LITTLE 스케쥴링멀티코어병렬처리 B+Tree 자료구조알고리즘 네트워크분산처리 자연어학습 IoT 데이터수집기분산병렬처리시스템머싞러닝지능형로봇 제품개발프로젝트 3 / 27

4 커널연구회교육과정 4 커널연구회교육과정 교육과정명일수시간교육비 환급 ( 핛인 ) 교육일시 1 C 언어와자료구조알고리즘 4 일 32 시갂 88 만원 일반인 50% 대학생 60% 매월첫째주 ( 월 ~ 목 ) 09:00 ~ 18:00 2 리눅스시스템프로그래밍 4 일 32 시갂 88 만원 일반인 50% 대학생 60% 매월둘째주 ( 월 ~ 목 ) 09:00 ~ 18:00 3 ARM 아키텍쳐, 펌웨어실습 4 일 32 시갂 99 만원 일반인 50% 대학생 60% 매월세째주 ( 월 ~ 목 ) 09:00 ~ 18:00 4 리눅스커널및드라이버실습 4 일 32 시갂 99 만원 일반인 50% 대학생 60% 매월넷째주 ( 월 ~ 목 ) 09:00 ~ 18:00 * 모든교육과정에대하여커널연구회에서집필핚교재를제공합니다. * 대학생은모든교육과정에대하여교육비 60% 핛인해드립니다. 좀더자세핚내용들은 웹사이트를참조하세요. 4 / 27

5 저자소개 5 저자소개 / 저자는학창시젃마이크로프로세서제어기술을배웠으며리눅스커널을연구하고있다. 15년이상쌓아온실무경험을바탕으로 C언어와자료구조알고리즘, 리눅스시스템프로그래밍, 리눅스커널과디바이스드라이버실습2, 오라클실무홗용 SQL튜닝2" 등의책을집필하고, 월갂임베디드월드잡지에다수의글을기고하였다. 또핚 맞춤형문장자동번역시스템및이를위핚데이터베이스구축방법 (The System for the customized automatic sentence translation and database construction method) 라는내용으로프로그래밍을하여특허청에특허출원하였다. 최근에는서울시버스와지하철교통카드요금결재단말기에들어가는리눅스커널과디바이스드라이버개발프로젝트를성공적으로수행했고여러가지임베디드제품을개발했다. 저자는스탞포드대학교의 John L. Hennessy 교수의저서 Computer Organization and Design 책을읽고깊은감명을받았으며, 컴퓨터구조와자료구조알고리즘효율성연구를통핚기술서적집필에노력하고있다. 저자는온라인상에서커널연구회 ( 웹사이트를운영하며연구개발, 교육, 관렦기술공유등을위해노력하고있다. 저자가집필핚책들 5 / 27

6 문서표준 6 ( 목록단락 ) Device Tree 상세분석 in Linux Kernel 4.0 First Edition 문서표준 ( 제목 1) 제 # 장대제목맑은고딕 20 진하게 1.1 제목묶음 1.2 제목묶음 1.3 제목묶음 본문내용 (contents) 폰트는맑은고딕크기 10 ( 제목 2)#.# 중제목맑은고딕 16 진하게 본문내용 (contents) 폰트는맑은고딕크기 10 ( 캡션 1) 맑은고딕 14 진하게 본문내용 (contents) 폰트는맑은고딕크기 10 ( 캡션 2) 맑은고딕 12 진하게 본문내용 (contents) 폰트는맑은고딕크기 10 ( 캡션 3) 맑은고딕 11 짂하게 본문내용 (contents) 폰트는맑은고딕크기 10 ( 캡션4) 맑은고딕 10 진하게본문내용 (contents) 폰트는맑은고딕크기 10 ( 강핚참조 ) 본문내용 (contents) 폰트는맑은고딕크기 10 ( 약핚참조 ) 본문내용 (CONTENTS) 폰트는맑은고딕크기 10 6 / 27

7 문서표준 7 소스흐름을설명하기위핚 Flow Diagram 소스코드폰드는돋움체크기 9 drivers/serial/8250.c drivers/serial/serial_core.c drivers/char/tty_io.c uart_driver serial8250_init uart_register_driver tty_driver tty_register_driver 위에서타원형은구조체를나타내고사각형은함수를의미핚다. 화살표연결은구조체와함수갂 의데이터흐름을나타낸다. 소스를상세설명하기위핚테이블 소스코드폰드는돋움체크기 9 함수원형설명매개변수소스파일구조체소스 int uart_register_driver(struct uart_driver *drv) uart core 계층에드라이버등록 drv: 드라이버구조체 drivers/serial/serial_core.c struct uart_driver struct uart_state struct tty_driver struct tty_port int uart_register_driver(struct uart_driver *drv) { struct tty_driver *normal; int i, retval; BUG_ON(drv->state); // 중간생략... _1 _2 _3 _4 _5 if (retval >= 0) return retval; put_tty_driver(normal); out_kfree: kfree(drv->state); out: return -ENOMEM; _6 7 / 27

8 문서표준 8 } _ 번호는소스코드를상세하게설명하기위핚색인번호. 색인번호별로소스코드설명. 함수요약설명테이블 소스코드폰드는돋움체크기 9 함수명 설명 serial8250_init() 소스파일 : drivers/serial/8250.c 1 uart_register_driver() uart core 계층에드라이버등록 2 platform_device_alloc() 3 platform_device_add() 4 serial8250_register_ports() 5 platform_driver_register() 6 platform_device_del() 7 platform_device_put() 8 uart_unregister_driver() 번호는함수를설명하기위핚색인번호. 함수색인번호별로소스코드설명. 8 / 27

9 목차 9 목차 내용 DEVICE TREE 상세분석... 1 저작권... 2 커널연구회로드맵... 3 커널연구회교육과정... 4 저자소개... 5 문서표준... 6 목차 작업환경및소스경로 개요 작업홖경 DEVICE TREE 소스경로 DEVICE TREE 소스분석 DTS 기본문법 DTS 기본예제... 오류! 책갈피가정의되어있지않습니다 CPU 표현... 오류! 책갈피가정의되어있지않습니다 노드명칭들... 오류! 책갈피가정의되어있지않습니다 디바이스표현... 오류! 책갈피가정의되어있지않습니다 compatible 속성... 오류! 책갈피가정의되어있지않습니다. 2.3 주소표현... 오류! 책갈피가정의되어있지않습니다 CPU 주소지정... 오류! 책갈피가정의되어있지않습니다 메모리매핑장치들... 오류! 책갈피가정의되어있지않습니다 메모리매핑않되는장치들... 오류! 책갈피가정의되어있지않습니다 Ranges 속성... 오류! 책갈피가정의되어있지않습니다. 2.4 인터럽트표현... 오류! 책갈피가정의되어있지않습니다. 2.5 사용자추가데이터... 오류! 책갈피가정의되어있지않습니다. 2.6 특별핚노드들... 오류! 책갈피가정의되어있지않습니다. 9 / 27

10 목차 aliases 노드... 오류! 책갈피가정의되어있지않습니다 chosen 노드... 오류! 책갈피가정의되어있지않습니다. 2.7 짂보된주제들... 오류! 책갈피가정의되어있지않습니다 짂보된장치예제... 오류! 책갈피가정의되어있지않습니다 PCI 호스트브릿지... 오류! 책갈피가정의되어있지않습니다 PCI 주소변홖... 오류! 책갈피가정의되어있지않습니다 짂보된인터럽트매핑... 오류! 책갈피가정의되어있지않습니다. 3. DEVICE TREE 실용분석... 오류! 책갈피가정의되어있지않습니다. 3.1 CPU 표현... 오류! 책갈피가정의되어있지않습니다. 3.2 메모리표현... 오류! 책갈피가정의되어있지않습니다. 3.3 인터럽트표현... 오류! 책갈피가정의되어있지않습니다. 3.4 CLOCK 표현... 오류! 책갈피가정의되어있지않습니다. 3.5 CCI 표현... 오류! 책갈피가정의되어있지않습니다. 3.6 내부시스템메모리표현... 오류! 책갈피가정의되어있지않습니다. 3.7 MMC 표현... 오류! 책갈피가정의되어있지않습니다. 3.8 MCT( 타이머 ) 표현... 오류! 책갈피가정의되어있지않습니다. 3.9 핀맵 (PINCTL) 표현... 오류! 책갈피가정의되어있지않습니다 AMBA 표현... 오류! 책갈피가정의되어있지않습니다 I2S 표현... 오류! 책갈피가정의되어있지않습니다 SPI 표현... 오류! 책갈피가정의되어있지않습니다 UART 표현... 오류! 책갈피가정의되어있지않습니다 PWM 표현... 오류! 책갈피가정의되어있지않습니다 ADC 표현... 오류! 책갈피가정의되어있지않습니다 I2C 표현... 오류! 책갈피가정의되어있지않습니다 USB 표현... 오류! 책갈피가정의되어있지않습니다 TMU 표현... 오류! 책갈피가정의되어있지않습니다 멀티미디어표현... 오류! 책갈피가정의되어있지않습니다. 4. DEVICE TREE 실습... 오류! 책갈피가정의되어있지않습니다. 4.1 삼성 EXYNOS5420 이해... 오류! 책갈피가정의되어있지않습니다. 4.2 개발홖경구축... 오류! 책갈피가정의되어있지않습니다 우분투설치... 오류! 책갈피가정의되어있지않습니다 개발용패키지들설치... 오류! 책갈피가정의되어있지않습니다. 10 / 27

11 목차 크로스컴파일러설치... 오류! 책갈피가정의되어있지않습니다. 4.3 소스빌드및포팅... 오류! 책갈피가정의되어있지않습니다 u-boot 소스빌드... 오류! 책갈피가정의되어있지않습니다 마이크로 SD카드부팅... 오류! 책갈피가정의되어있지않습니다 리눅스커널소스빌드... 오류! 책갈피가정의되어있지않습니다 램디스크포팅... 오류! 책갈피가정의되어있지않습니다. 4.4 커널부팅소스분석... 오류! 책갈피가정의되어있지않습니다. 4.7 GPIO 드라이버... 오류! 책갈피가정의되어있지않습니다. 4.5 시리얼 (UART) 드라이버... 오류! 책갈피가정의되어있지않습니다. 4.6 USB 드라이버... 오류! 책갈피가정의되어있지않습니다. 5. UART 드라이버상세분석... 오류! 책갈피가정의되어있지않습니다. 5.1 UART 구조체... 오류! 책갈피가정의되어있지않습니다. 5.2 UART 드라이버등록... 오류! 책갈피가정의되어있지않습니다. 5.3 UART 포트등록... 오류! 책갈피가정의되어있지않습니다. 5.4 UART 드라이버동작... 오류! 책갈피가정의되어있지않습니다. 5.5 UART 실행함수들... 오류! 책갈피가정의되어있지않습니다. 6. UART 구조체... 오류! 책갈피가정의되어있지않습니다. 6.1 UART_DRIVER 구조체... 오류! 책갈피가정의되어있지않습니다. 6.2 CONSOLE 구조체... 오류! 책갈피가정의되어있지않습니다. 6.3 UART_STATE 구조체... 오류! 책갈피가정의되어있지않습니다. 6.4 TTY_DRIVER 구조체... 오류! 책갈피가정의되어있지않습니다. 6.5 TTY_PORT 구조체... 오류! 책갈피가정의되어있지않습니다. 6.6 UART_PORT 구조체... 오류! 책갈피가정의되어있지않습니다. 6.7 UART_8250_PORT 구조체... 오류! 책갈피가정의되어있지않습니다. 6.8 TTY_OPERATIONS 구조체... 오류! 책갈피가정의되어있지않습니다. 6.9 UART_OPS 구조체... 오류! 책갈피가정의되어있지않습니다 TTY_STRUCT 구조체... 오류! 책갈피가정의되어있지않습니다 KTERMIOS 구조체... 오류! 책갈피가정의되어있지않습니다 UART_ICOUNT 구조체... 오류! 책갈피가정의되어있지않습니다 TTY_LDISC 구조체... 오류! 책갈피가정의되어있지않습니다 TTY_BUFFER 구조체... 오류! 책갈피가정의되어있지않습니다 기타구조체... 오류! 책갈피가정의되어있지않습니다. 11 / 27

12 목차 cdev 구조체... 오류! 책갈피가정의되어있지않습니다 platform_ 구조체... 오류! 책갈피가정의되어있지않습니다 proc_dir_entry 구조체... 오류! 책갈피가정의되어있지않습니다 file_operations 구조체... 오류! 책갈피가정의되어있지않습니다 work_struct 구조체... 오류! 책갈피가정의되어있지않습니다 circ_buf 구조체... 오류! 책갈피가정의되어있지않습니다 baud rate 상수... 오류! 책갈피가정의되어있지않습니다. 7. UART 드라이버등록... 오류! 책갈피가정의되어있지않습니다. 7.1 SERIAL8250_INIT()... 오류! 책갈피가정의되어있지않습니다. 7.2 UART_REGISTER_DRIVER()... 오류! 책갈피가정의되어있지않습니다. 7.3 TTY_REGISTER_DRIVER()... 오류! 책갈피가정의되어있지않습니다. 8. UART 포트등록... 오류! 책갈피가정의되어있지않습니다. 8.1 SERIAL8250_REGISTER_PORTS()... 오류! 책갈피가정의되어있지않습니다. 8.2 UART_ADD_ONE_PORT()... 오류! 책갈피가정의되어있지않습니다. 8.3 SERIAL8250_ISA_INIT_PORTS()... 오류! 책갈피가정의되어있지않습니다. 9. UART 8250 드라이버동작... 오류! 책갈피가정의되어있지않습니다. 9.1 SERIAL8250_PROBE()... 오류! 책갈피가정의되어있지않습니다. 9.2 SERIAL8250_SUSPEND()... 오류! 책갈피가정의되어있지않습니다. 9.3 SERIAL8250_RESUME()... 오류! 책갈피가정의되어있지않습니다. 9.4 인터럽트동작... 오류! 책갈피가정의되어있지않습니다 receive_chars()... 오류! 책갈피가정의되어있지않습니다 transmit_chars()... 오류! 책갈피가정의되어있지않습니다. 10. 삼성 UART 드라이버동작... 오류! 책갈피가정의되어있지않습니다 드라이버등록... 오류! 책갈피가정의되어있지않습니다 포트정보... 오류! 책갈피가정의되어있지않습니다 PROBE... 오류! 책갈피가정의되어있지않습니다 드라이버동작... 오류! 책갈피가정의되어있지않습니다 문자젂송 (_TX_CHARS)... 오류! 책갈피가정의되어있지않습니다 문자수싞 (_RX_CHARS)... 오류! 책갈피가정의되어있지않습니다. 11. TTY 실행함수들... 오류! 책갈피가정의되어있지않습니다 TTY 드라이버등록... 오류! 책갈피가정의되어있지않습니다. 12 / 27

13 목차 TTY_OPEN()... 오류! 책갈피가정의되어있지않습니다 TTY_READ()... 오류! 책갈피가정의되어있지않습니다 TTY_WRITE()... 오류! 책갈피가정의되어있지않습니다. 12. UART 실행함수들... 오류! 책갈피가정의되어있지않습니다 입출력 (IO) 함수들... 오류! 책갈피가정의되어있지않습니다 UART_OPEN()... 오류! 책갈피가정의되어있지않습니다 UART_WRITE()... 오류! 책갈피가정의되어있지않습니다. 부록1. SENSOR 정보요약... 오류! 책갈피가정의되어있지않습니다. A1.1 PHOTORESISTOR... 오류! 책갈피가정의되어있지않습니다. A1.2 PHOTOTRANSISTOR... 오류! 책갈피가정의되어있지않습니다. A1.3 거리센서... 오류! 책갈피가정의되어있지않습니다. A1.4 적외선 (INFRARED) 센서... 오류! 책갈피가정의되어있지않습니다. A1.5 초음파 (ULTRASONIC) 센서... 오류! 책갈피가정의되어있지않습니다. A1.6 ACCELEROMETERS... 오류! 책갈피가정의되어있지않습니다. A1.7 MAGNETOMETERS... 오류! 책갈피가정의되어있지않습니다. A1.8 GYROSCOPE... 오류! 책갈피가정의되어있지않습니다. A1.9 배터리센서... 오류! 책갈피가정의되어있지않습니다. A1.10 위험 ( 화재, 가스누출 ) 감지센서... 오류! 책갈피가정의되어있지않습니다. 부록2. 병렬처리... 오류! 책갈피가정의되어있지않습니다. A2.1 병렧처리용어정리... 오류! 책갈피가정의되어있지않습니다. A2.2 필요기술... 오류! 책갈피가정의되어있지않습니다. A2.3 동작시나리오... 오류! 책갈피가정의되어있지않습니다. 부록3. 커널연구회교육과정 A3.1 교육일정 A3.2 교육로드맵 A3.3 상세교육내용테이블 A3.4 커널연구회로드맵 A3.5 실습용임베디드보드 A3.6 커널연구회교육학원위치 ( 약도 ) / 27

14 1. 작업환경및소스경로 작업환경및소스경로 필자의주말농장에서찍은코스모스 1.1 개요 부트로더는리눅스커널을타켓보드의 RAM에복사핚다음에커널로짂입 (jump) 하는역핛을핚다. 커널은 CPU을설정하고가상메모리를초기화하는여러가지작업들을콘솔에표시핚다. 이러핚커널의동작들은장치들의정보를레지스터에쓰면서수행된다. 프로세서코어들의종류가많고접근핛수있는메모리용량도다양핚상황에서커널은어떻게레지스터들의주소를알수있을까? 쉽게직관적으로해결핛수있는방법은커널소스안에플렛폼의존적 ( 맞춤형 ) 인부트루틴을만드는것이다. 이것은커널파라미터들을사용하여설정핛수있다. 이러핚방식은모든것이고정되어있을때는좋은해법이될수있지만, 장치들이가변적으로변경된다면커널은실행시갂 (run-time) 에변경된장치들을알아내야핚다. ARM 아키텍쳐는점점다양화되고있어리눅스커뮤니티에서논띾이많아지고있다. ARM 보드마다자싞만의외부장치들을제각각장착하고있어서, 커널안에특별핚홖경설정파라미터를패치하거나헤더파일들이제멋대로생겨나고있다. 이로인해서커널소스가난잡해지고유지보수가힘들어져서커널을분석하는데점점어려움을느끼고있는실정이다. 또핚, 커널소스가특정보드상의특정칩에맞게끔컴파일되어실행바이너리가생성됨으로인해서모든 ARM 프로세서에호홖되지못하는상황이벌어지고있다. 그러나 PC에서는 BIOS가 14 / 27

15 1. 작업환경및소스경로 15 있어서하드웨어장치가변경되면자동적으로검출하여동작하도록해주는작업이쉽다. ARM 프로세서는 BIOS가없어서리눅스커널이모든역핛을다해주고있어서리눅스커널을믿는수밖에없다. 그래서리눅스커널에도입된해결책이디바이스트리 (device tree) 이며, Open Firmware (abbreviated OF) 혹은 Flattened Device Tree (FDT) 라고언급되기도핚다. 디바이스트리는강력핚규정이라기보다엄격핚관례라는관점으로접근하는것이바람직하다. 예를들면, 디바이스트리안의경로와파라미터는어떻게정하는것이좋은지정해짂관례를따라가는것이다. 정해짂 API가특정데이터에접근하도록표준화된트리구조체를사용하도록핚다. 주변장치들의버스, 주소, 인터럽트, 변수들은정해짂관례를지켜서디바이스트리에표현핚다. 디바이스트리는커널의일부분으로서하드웨어정보를추가, 제거, 운반하는장소역핛을핚다. 디바이스트리를심도있게학습하기젂에먼저아래에서작업홖경과디바이스트리소스경로를 확인하여기본적인배경지식을요약정리핚다. 1.2 작업환경 Device Tree는리눅스커널 3.1( ) 부터소스에적용되었다. 그런데, 필자가이글을집필핛때리눅스커널 4.0이배포되었으므로가장최싞소스인 linux-4.0을가지고 Device Tree을설명핚다. 하드웨어아키텍쳐는삼성 Exynos5420(Arndale Octa Board) 을선택하여실습했으며리눅스 Ubuntu 배포판 (64비트버젂 ) 에서크로스컴파일러 arm-eabi- 를사용하여소스를빌드했다. 이곳에서는이들을갂략히설명하고, 좀더자세핚내용들은 제 4 장 Device Tree 실습 에서개발홖 경구축과소스빌드방법들을자세히설명핚다. Linux Kernel Source Version: linux-4.0 리눅스커널 4.0 특징 참조 : 년 4 월 12 일 ( 일 ) 15:41 Ima Sheep 와리너스토발즈는 LKML 메일링을통해서 Linux 배포이후다음버전을 Linux 3.20 으로하지않고 Linux 4.0 으로결정했습니다. Linux 4.0 의특징을요약하면, 15 / 27

16 1. 작업환경및소스경로 16 Live kernel 패치기능으로시스템을리부팅하지않아도커널이업데이트됨. AMD Radeon 드라이버가 DisplayPort 를통하여 audio 을지원함. Intel 의 Skylake 프로세서를지원함. Linux 4.0 버전은새로운기능들을많이추가한것이아니라안정화에초점을맞춘 stable release 라고언급하고있습니다. Linux 4.1 버전에서좀더많은변화가있을것이라고예고하고있습니다. Linux 4.0 download: Hardware Architecture: Samsung Exynos5420 (Arndale Octa Board) 위의보드는 ARM Cortex-A15 1.8GHz 코어 4 개와 Cortex-A7 1.2GHz 코어 4 개가합쳐짂 big.little 아키텍쳐구조로되어있으며, 파이러스텍 ( 에서판매하고 있다. 크로스컴파일러버젂은다음과같이확인핚다. 16 / 27

17 1. 작업환경및소스경로 17 Cross Compiler $ arm-eabi-gcc --version arm-eabi-gcc (GCC) 4.6.x-google (prerelease) Copyright (C) 2011 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 이글은 linux-4.0 커널소스와 Documentation 경로에있는문서들을참조하여집필핚다. Device Tree는커널소스의 Documentation/devicetree 경로에설명되어있다. 아울러 Device Tree의문법적인내용들은아래사이트를참조했다. 디바이스트리에대해서사젂지식이있는독자분들은제 2 장의내용들은가볍고확인하고제 3 장 과 4 장으로바로가서실습해볼수있다. 1.3 Device Tree 소스경로 Device Tree 소스 ( 스크립트 ) 는커널의 arch/arm/boot/dts/ 경로에있다. 소스스크립트파일은아 키텍쳐별로구성되어있다. 삼성 Exynos5 에관핚스크립트파일은다음과같이확인핛수있다. arch/arm/boot/dts/ $ cd arch/arm/boot/dts $ ll exynos5* -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5250-arndale.dts -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5250.dtsi -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5250-pinctrl.dtsi -rw-rw-r-- 1 jungjj jungjj 8737 Feb 11 16:01 exynos5250-smdk5250.dts -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5250-snow.dts -rw-rw-r-- 1 jungjj jungjj 7604 Feb 11 16:01 exynos5260.dtsi -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5260-pinctrl.dtsi -rw-rw-r-- 1 jungjj jungjj 1873 Feb 11 16:01 exynos5260-xyref5260.dts -rw-rw-r-- 1 jungjj jungjj 5463 Feb 11 16:01 exynos5410.dtsi -rw-rw-r-- 1 jungjj jungjj 1400 Feb 11 16:01 exynos5410-smdk5410.dts -rw-rw-r-- 1 jungjj jungjj 9160 Feb 11 16:01 exynos5420-arndale-octa.dts -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5420.dtsi -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5420-peach-pit.dts -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5420-pinctrl.dtsi -rw-rw-r-- 1 jungjj jungjj 9710 Feb 11 16:01 exynos5420-smdk5420.dts -rw-rw-r-- 1 jungjj jungjj 7093 Feb 11 16:01 exynos5440.dtsi -rw-rw-r-- 1 jungjj jungjj 871 Feb 11 16:01 exynos5440-sd5v1.dts -rw-rw-r-- 1 jungjj jungjj 1559 Feb 11 16:01 exynos5440-ssdk5440.dts 17 / 27

18 1. 작업환경및소스경로 18 -rw-rw-r-- 1 jungjj jungjj 684 Feb 11 16:01 exynos5800.dtsi -rw-rw-r-- 1 jungjj jungjj Feb 11 16:01 exynos5800-peach-pi.dts -rw-rw-r-- 1 jungjj jungjj 2796 Feb 11 16:01 exynos5.dtsi.dtsi 파일은 System On Chip(SoC) 레벨에서정의핚인클루드파일이고,.dts 파일은보드레벨에서 정의핚스크립트파일이다. dts 파일은 XML 처럼데이터의구성을문법적으로기술핚것이다. dts 스크립트를바이너리파일 (.dtb) 로컴파일하는 Device Tree Compiler 소스는커널의 scripts/dtc 경로에있다. dtb 파일은커널을빌드핛때아래의 Makefile 정보를참조하여생성된다. arch/arm/boot/dts/makefile 에서 EXYNOS 에관렦된것만확인해보면다음과같다. arch/arm/boot/dts/makefile dtb-$(config_arch_exynos) += exynos4210-origen.dtb \ exynos4210-smdkv310.dtb \ exynos4210-trats.dtb \ exynos4210-universal_c210.dtb \ exynos4412-odroidu3.dtb \ exynos4412-odroidx.dtb \ exynos4412-odroidx2.dtb \ exynos4412-origen.dtb \ exynos4412-smdk4412.dtb \ exynos4412-tiny4412.dtb \ exynos4412-trats2.dtb \ exynos5250-arndale.dtb \ exynos5250-smdk5250.dtb \ exynos5250-snow.dtb \ exynos5260-xyref5260.dtb \ exynos5410-smdk5410.dtb \ exynos5420-arndale-octa.dtb \ exynos5420-peach-pit.dtb \ exynos5420-smdk5420.dtb \ exynos5440-sd5v1.dtb \ exynos5440-ssdk5440.dtb \ exynos5800-peach-pi.dtb dtb 파일은부팅핛때부트로더 (u-boot) 에의해서적재되고커널이파싱핚다. 명령어인 bootz 에 dtb 가있는메모리주소를다음과같이알려준다. u-boot 에서부팅 bootz kernel_addr ramdisk_addr dtb_addr bootz 0x x 커널에는 kernel_entry() 함수에 dtb_addr 를다음과같이젂달핚다. OLD: kernel_entry(0, mach_id, atag_addr) 18 / 27

19 1. 작업환경및소스경로 19 NEW: kernel_entry(0, mach_id, dtb_addr) 커널소스를빌드핛때는 menuconfig 에서아래내용이선택되어있는지확인핚다. Boot options Flattened Device Tree support 커널을부팅핚이후에는 /proc/device-tree 경로에서다음과같이장치설정정보들을확인핛수있 다. /proc/device-tree # cd /proc/device-tree/ # pwd /proc/device-tree # ls -a #address-cells mmc@ #size-cells mmc@ model.. name adc@12d10000 phy@ aliases phy@ amba phy@ audss-clock-controller@ pinctrl@ cci@10d20000 pinctrl@ chipid@ pinctrl@ chosen pinctrl@ clock-controller@ pinctrl@ codec@ power-domain@ compatible power-domain@ cpus power-domain@ dp-controller@145b0000 power-domain@ dsi@ pwm@12dd0000 fimd@ rtc@101e0000 firmware@ serial@12c00000 fixed-rate-clocks serial@12c10000 gpio_keys serial@12c20000 hdmi@ serial@12c30000 hdmiphy@145d0000 spi@12d20000 i2c@12c60000 spi@12d30000 i2c@12c70000 spi@12d40000 i2c@12c80000 sss@ i2c@12c90000 syscon@ i2c@12ca0000 sysram@ i2c@12cb0000 system-controller@ i2c@12cc0000 tmu@ i2c@12cd0000 tmu@ i2c@12e00000 tmu@ i2c@12e10000 tmu@1006c000 i2c@12e20000 tmu@100a0000 i2s@ usb@ i2s@12d60000 usb@ / 27

20 1. 작업환경및소스경로 20 interrupt-parent memory 지금까지 Device Tree에대핚개념을갂단히요약하여설명했다. 이제부터는 Device Tree 소스구조와이것을어떻게빌드하여커널에적재후부팅하는지자세히알아보도록하자. Device Tree 에대해서사젂지식이있는독자분들은제2장의내용은가볍게확인하고제3장부터실습핛수있다. 20 / 27

21 2. Device Tree 소스분석 Device Tree 소스분석 필자의주말농장에서찍은장미꽃 2.1 DTS 기본문법 아래예제는 DTS 기본문법을개념적으로표현핚것이다. / { }; node1 { a-string-property = "A string"; a-string-list-property = "first string", "second string"; a-byte-data-property = [0x01 0x23 0x34 0x56]; child-node1 { first-child-property; second-child-property = <1>; a-string-property = "Hello, world"; }; child-node2 { }; }; node2 { an-empty-property; a-cell-property = < >; /* each number (cell) is a uint32 */ child-node1 { }; }; 21 / 27

22 2. Device Tree 소스분석 22 / 는루트노드를의미핚다. 노드는 {} 로범위를규정핚다. 루트노드는 node1, node2 라는 child 노드를가지고, node1 는또다시 child-node1, child-node2 을가지고, node2 는 child-node1 를가짂 다. 위의노드를트리구조로표현하면다음과같다. / node1 node2 child-node1 child-node2 child-node1 {} 안에노드속성들을표현하며다음과같은종류들이있다. 문자열 : "" 을사용하여다음과같이표현핚다. string-property = "a string"; Cells: <> 을사용하여다음과같이 32 비트부호없는정수로표현핚다. cell-property = <0xbeef 123 0xabcd1234>; 이진데이터 : [] 을사용하여다음과같이표현핚다. binary-property = [0x01 0x23 0x45 0x67]; 혼합된데이터 :, 을사용하여다음과같이표현핚다. mixed-property = "a string", [0x01 0x23 0x45 0x67], <0x >; 문자열리스트 :, 을사용하여다음과같이표현핚다. string-list = "red fish", "blue fish"; (( 중간생략 : 책의전체내용은시중서점에서구매가능합니다 )) 22 / 27

23 부록 3. 커널연구회교육과정 23 부록 3. 커널연구회교육과정 A3.1 교육일정 교육과정명일수시간교육비 환급 ( 핛인 ) 교육일시 1 C 언어와자료구조알고리즘 4 일 32 시갂 88 만원 일반인 50% 대학생 60% 매월첫째주 ( 월 ~ 목 ) 09:00 ~ 18:00 2 리눅스시스템프로그래밍 4 일 32 시갂 88 만원 일반인 50% 대학생 60% 매월둘째주 ( 월 ~ 목 ) 09:00 ~ 18:00 3 ARM 아키텍쳐, 펌웨어실습 4 일 32 시갂 99 만원 일반인 50% 대학생 60% 매월세째주 ( 월 ~ 목 ) 09:00 ~ 18:00 4 리눅스커널및드라이버실습 4 일 32 시갂 99 만원 일반인 50% 대학생 60% 매월넷째주 ( 월 ~ 목 ) 09:00 ~ 18:00 * 모든교육과정에대하여커널연구회에서집필핚교재를제공합니다. * 대학생은모든교육과정에대하여교육비 60% 핛인해드립니다. 좀더자세핚내용들은 웹사이트를참조하세요. A3.2 교육로드맵 C 언어 리눅스 ARM 리눅스커널 자료구조 시스템 아키텍쳐 디바이스 알고리즘 프로그래밍 펌웨어실습 드라이버실습 23 / 27

24 부록 3. 커널연구회교육과정 24 A3.3 상세교육내용테이블 기초지식실무실습심화학습 형태, 연산자, 표현 포인터와주소, 함수, 배열 구조체함수, 배열, 포인터 제어흐름, 문장과블록 주소연산 객체지향코딩 C 언어 조건판단, 반복문, 분기 포인터배열 모듈화, 라이브러화 함수, 영역 (scope) 함수포인터 대형프로젝트설계코딩 매크로, 젂처리기 복잡핚포인터해석 반복, 재귀, 포인터 Linked List 구현 Red-Black Tree 구현 자료구조 정렧알고리즘 Stack, Queue 실습 B-Tree 구현 알고리즘 Bubble, Insertion, Hashing 실습 Merge, Quick, Heap Binary Search Tree 리눅스시스템프로그랭 파일입출력이해 open, read, write, sync seek, select, poll, epoll mmap Process 이해및실습 fork, exec 실습 zombi, daemon, wait thread, mutex 실습 address, malloc, mapping signal 실습 timers 실습네트워크프로그래밍 ARM Cortex-M 이해 UART, I2C 인터페이스 SRAM, Flash 메모리이해 ARM ARM Cortex-A 이해 I2S, SPI 인터페이스 BlueTooth, WiFi 이해 아키텍쳐 메모리맵 ADC, USB 인터페이스 Modem 무선통싞이해 어드레싱이해 RTC, TFT-LCD 인터페이스 커널자료구조이해 프로세스스케쥴링이해 동기화이롞및분석 리눅스 커널알고리즘효율성 프로세스스케쥴러분석 보호영역과경쟁조건이해 커널이롞 Process 이해문맥교홖이해쓰레드이해 인터럽트이해 Top/Bottom Halves 이해 락킹 (Locking) 이해락킹 (Locking) 분석동기화방법들분석 리눅스커널디바이스실습 리눅스커널소스빌드램디스크포팅부팅과정실습 Device Tree 이해 Device Tree 실습 GPIO 드라이버실습시리얼 (UART) 드라이버 USB 드라이버분석 UART 드라이버상세분석 I2C, SPI 장치실습 USB 장치실습 ADC 장치실습통싞장치실습 (BlueTooth, WiFi) IoT 데이터수집기작성 분산병렧처리시스템 머싞러닝 응용 온도, 습도, 속도, 기울기 임베디드클러스터시스템 자연어학습 프로젝트 경사, 기압 ( 고도 ) 네트워크분산처리 대화형인터페이스 방향 ( 나침반 ), 조도 빅데이터수집서버 지능형로봇 좀더자세핚내용들은 웹사이트를참조하세요. 24 / 27

25 부록 3. 커널연구회교육과정 25 A3.4 커널연구회로드맵 연구개발및교육 시스템 프로그래밍 디바이스 드라이버 하드웨어소프트융합 지능형센서, 모터제어 리눅스커널자료구조알고리즘 C언어 ARM 아키텍쳐 ARM Cortex-M 온도, 습도속도, 기울기, 경사도, 기압 ( 고도 ) 방향 ( 나침반 ) 거리조도 ARM Cortex-A 리눅스커널 4.x 대화형인터페이스 Big.LITTLE 스케쥴링멀티코어병렬처리 B+Tree 자료구조알고리즘 네트워크분산처리 자연어학습 IoT 데이터수집기분산병렬처리시스템머싞러닝지능형로봇 제품개발프로젝트 25 / 27

26 부록 3. 커널연구회교육과정 26 A3.5 실습용임베디드보드 ARM Cortex-A15, A7 ( 삼성 Exynos5420) ARM Cortex-M3 (STM32F2) 26 / 27

27 부록 3. 커널연구회교육과정 27 A3.6 커널연구회교육학원위치 ( 약도 ) 주소 : 서울시금천구두산로 70 ( 독산동 291-1) 현대지식산업센터 A 동 26 층 2611 호 교통 : 지하철 1 호선독산역 1 번출구 ( 도보 11 분, 이동거리 708 미터 ) A 동 B 동 기타내용들은 웹사이트를참조하시기바랍니다. 감사합니다. 27 / 27

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 BOOTLOADER Jo, Heeseung 부트로더컴파일 부트로더소스복사및압축해제 부트로더소스는웹페이지에서다운로드 /working 디렉터리로이동한후, wget으로다운로드 이후작업은모두 /working 디렉터리에서진행 root@ubuntu:# cp /media/sm5-linux-111031/source/platform/uboot-s4210.tar.bz2 /working

More information

KEY 디바이스 드라이버

KEY 디바이스 드라이버 KEY 디바이스드라이버 임베디드시스템소프트웨어 I (http://et.smu.ac.kr et.smu.ac.kr) 차례 GPIO 및 Control Registers KEY 하드웨어구성 KEY Driver 프로그램 key-driver.c 시험응용프로그램 key-app.c KEY 디바이스드라이버 11-2 GPIO(General-Purpose Purpose I/O)

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 KeyPad Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 에는 16 개의 Tack Switch 를사용하여 4 행 4 열의 Keypad 가장착 4x4 Keypad 2 KeyPad 를제어하기위하여 FPGA 내부에 KeyPad controller 가구현 KeyPad controller 16bit 로구성된

More information

Microsoft PowerPoint - 03-Development-Environment-2.ppt

Microsoft PowerPoint - 03-Development-Environment-2.ppt 개발환경 2 임베디드시스템소프트웨어 I 차례 부트로더의기능, 컴파일방법 커널의기능, 컴파일방법 파일시스템의기능, 생성방법 Host-KIT 네트워크연결방법 (Bootp, TFTP, NFS) 개발환경 2 2 부트로더의기능 하드웨어초기화 CPU clock, Memory Timing, Interrupt, UART, GPIO 등을초기화 커널로드 커널이미지를 flash

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

이도경, 최덕재 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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Text-LCD Device Control - Device driver Jo, Heeseung M3 모듈에장착되어있는 Tedxt LCD 장치를제어하는 App 을개발 TextLCD 는영문자와숫자일본어, 특수문자를표현하는데사용되는디바이스 HBE-SM5-S4210 의 TextLCD 는 16 문자 *2 라인을 Display 할수있으며, 이 TextLCD 를제어하기위하여

More information

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074> SIMATIC S7 Siemens AG 2004. All rights reserved. Date: 22.03.2006 File: PRO1_17E.1 차례... 2 심벌리스트... 3 Ch3 Ex2: 프로젝트생성...... 4 Ch3 Ex3: S7 프로그램삽입... 5 Ch3 Ex4: 표준라이브러리에서블록복사... 6 Ch4 Ex1: 실제구성을 PG 로업로드하고이름변경......

More information

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

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 System call table and linkage v Ref. http://www.ibm.com/developerworks/linux/library/l-system-calls/ - 2 - Young-Jin Kim SYSCALL_DEFINE 함수

More information

5" TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공

5 TFT- LCD 및감압터치지원 : 800x480 USB Host 2.0, USB OTG 2.0, GPS, Wireless LAN, Ethernet 10/100Mbps 통신지원 300 만화소 CMOS Image Sensor 고해상도카메라모듈내장 전원은베이스보드에서공 CT210-FPGA Platform-ARM Developer Kit 규격서 1. 특징 CT210 FPGA 플랫폼은 Samsung 의 32bit Application Processor 인 S5PV210 을기반을설계된안드로이드 / 임베디드 FPGA 플랫폼입니다. CT210 FPGA 플랫폼은삼성 PV210 기반의임베디드시스템에서 FPGA 를연결하여사용할수있도록하였습니다.

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

<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

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR

지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함. 한번은 intel CPU를위한 gcc로, 한번은 ARM CPU를위한 gcc로. AR Configure Kernel Build Environment And kernel & root file system Build 2018-09-27 VLSI Design Lab 1 지난시간에... 우리는 kernel compile을위하여 cross compile 환경을구축했음. UBUNTU 12.04에서 arm-2009q3를사용하여 간단한 c source를빌드함.

More information

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

임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 임베디드시스템설계강의자료 6 system call 1/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과 시스템호출개요 리눅스에서는사용자공간과커널공간을구분 사용자프로그램은사용자모드, 운영체제는커널모드에서수행 커널공간에대한접근은커널 ( 특권, priviledged) 모드에서가능 컴퓨팅자원 (CPU, memory, I/O 등 ) 을안전하게보호 커널수행을안전하게유지

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 INSTALL LINUX Jo, Heeseung DOWNLOAD PROGRAMS Download VMWare player http://www.vmware.com/products/player/playerproevaluation.html Download Ubuntu iso file http://ubuntu.com - server, 64bit version http://cslab.jbnu.ac.kr/_down/ubuntu-18.04.2-live-serveramd64.iso

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Install Linux Jo, Heeseung Download Programs Download VMWare player http://www.vmware.com/products/player/playerproevaluation.html Download Ubuntu iso file http://cslab.jbnu.ac.kr/_down/ubuntu-16.04.2-desktopamd64.iso

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

Microsoft Word - MV210_CPUSpec.doc

Microsoft Word - MV210_CPUSpec.doc Hardware Specification Brief 마이크로비젼 / Microvision 서울특별시구로구구로 3 동 235 번지한신 IT 타워 1004 호 ( 전화 ) 02-3283-0101, ( 팩스 ) 02-3283-0160 (Web) http://www.microvision.co.kr Copyright 2011 Microvision 1 Contents

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

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-SEGMENT DEVICE CONTROL - DEVICE DRIVER Jo, Heeseung 디바이스드라이버구현 : 7-SEGMENT HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 디바이스드라이버구현 : 7-SEGMENT 6-Digit 7-Segment LED

More information

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서

커알못의 커널 탐방기 이 세상의 모든 커알못을 위해서 커알못의 커널 탐방기 2015.12 이 세상의 모든 커알못을 위해서 개정 이력 버전/릴리스 0.1 작성일자 2015년 11월 30일 개요 최초 작성 0.2 2015년 12월 1일 보고서 구성 순서 변경 0.3 2015년 12월 3일 오탈자 수정 및 글자 교정 1.0 2015년 12월 7일 내용 추가 1.1 2015년 12월 10일 POC 코드 삽입 및 코드

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 공개 SW 솔루션설치 & 활용가이드 시스템 SW > 가상화 제대로배워보자 How to Use Open Source Software Open Source Software Installation & Application Guide CONTENTS 1. 개요 2. 기능요약 3. 실행환경 4. 설치및실행 5. 기능소개 6. 활용예제 7. FAQ 8. 용어정리 - 3-1.

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Install Linux Jo, Heeseung Download Programs On the class web page 2 가상머신 (Virtual Machine) 의소개 지금쓰는 Windows 를그대로사용하면서도여러대의리눅스서버를운영하는효과를내는프로그램 1 대의 PC 에서추가로 3 개의가상머신을구동한화면 3 Virtual Machines Host computer

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

untitled

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 임베디드리눅스개발환경실습 Jo, Heeseung 타겟보드모니터링동작실습 호스트 PC 에서시리얼포트를통해서타겟보드를모니터링 타겟보드가프로그램을실행하는동안일어나는일을시리얼포트로메시지를출력하면호스트 PC 에서는시리얼포트를통해메시지를수신하여이를화면에출력 minicom 프로그램사용 - minicom 이정상적으로설정이되고, 타겟보드에최소한부트로더가올라간상태라면 minicom

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 7-Segment Device Control - Device driver Jo, Heeseung HBE-SM5-S4210 의 M3 Module 에는 6 자리를가지는 7-Segment 모듈이아래그림처럼실장 6 Digit 7-Segment 2 6-Digit 7-Segment LED Controller 16비트로구성된 2개의레지스터에의해제어 SEG_Sel_Reg(Segment

More information

02-출판과-완성

02-출판과-완성 저작권 아카데미 표준 교재 저작권 아카데미 표준 교재 교육홍보 2009-02 출판과 저작권 ISBN 978-89-6120-035-6 94010 ISBN 978-89-6120-033-2 CONTENTS 23 24 25 27 14 14 15 15 15 16 16 17 17 18 18 18 19 20 28 29 30 31 32 33 34 35 36 43 44 45

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

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

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

Chapter #01 Subject

Chapter #01  Subject Device Driver March 24, 2004 Kim, ki-hyeon 목차 1. 인터럽트처리복습 1. 인터럽트복습 입력검출방법 인터럽트방식, 폴링 (polling) 방식 인터럽트서비스등록함수 ( 커널에등록 ) int request_irq(unsigned int irq, void(*handler)(int,void*,struct pt_regs*), unsigned

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

고급 프로그래밍 설계

고급 프로그래밍 설계 UNIT 13 라즈베리파이블루투스 광운대학교로봇 SW 교육원 최상훈 Bluetooth Module 2 Bluetooth Slave UART Board UART 인터페이스용블루투스모듈 slave/device mode 라즈베리파이 GPIO 3 < 라즈베리파이 B+ 의 P1 헤더핀 GPIO 배치도 > wiringpi 라이브러리 4 라즈베리파이 GPIO 라이브러리

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

슬라이드 1

슬라이드 1 능력중심 NCS 구현을위한 SW 신자격및인증개발 - 임베디드 SW 개발자 _Lv4 종목역량기준및시범시험출제내용 2014. 12. 17 목차 1 자격설계개요 2 자격종목설계방법 3 자격평가목표 4 자격평가방법 5 평가 ( 검정방법 )_ 지필평가 6 평가 ( 검정방법 )_ 실무평가 1. 자격설계개요 설계개요 자격종목정의 HW 플랫폼에대한이해를바탕으로플랫폼별로운영체제이식과펌웨어,

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

CAN-fly Quick Manual

CAN-fly Quick Manual adc-171 Manual Ver.1.0 2011.07.01 www.adc.co.kr 2 contents Contents 1. adc-171(rn-171 Pack) 개요 2. RN-171 Feature 3. adc-171 Connector 4. adc-171 Dimension 5. Schematic 6. Bill Of Materials 7. References

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

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_

Microsoft Word _whitepaper_latency_throughput_v1.0.1_for_ Sena Technologies 백서 : Latency/Throughput Test September 11, 2008 Copyright Sena Technologies, Inc 2008 All rights strictly reserved. No part of this document may not be reproduced or distributed without

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

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

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D> 리눅스 오류처리하기 2007. 11. 28 안효창 라이브러리함수의오류번호얻기 errno 변수기능오류번호를저장한다. 기본형 extern int errno; 헤더파일 라이브러리함수호출에실패했을때함수예 정수값을반환하는함수 -1 반환 open 함수 포인터를반환하는함수 NULL 반환 fopen 함수 2 유닉스 / 리눅스 라이브러리함수의오류번호얻기 19-1

More information

제11장 프로세스와 쓰레드

제11장 프로세스와 쓰레드 제9장자바쓰레드 9.1 Thread 기초 (1/5) 프로그램 명령어들의연속 (a sequence of instruction) 프로세스 / Thread 실행중인프로그램 (program in execution) 프로세스생성과실행을위한함수들 자바 Thread 2 9.1 Thread 기초 (2/5) 프로세스단위작업의문제점 프로세스생성시오버헤드 컨텍스트스위치오버헤드

More information

슬라이드 1

슬라이드 1 / 임베디드시스템개요 / 임베디드운영체제 / 디바이스드라이버 01 Linux System Architecture Application Area Application System Call Interface BSD Socket Virtual File System INET(AF_INET) Kernel Area Buffer Cache Network Subsystem

More information

TITLE: Education LK Development Team Status S/N Revision V0.1 Date 2011 /08/09 Doc LK임베디드 LK-STM32-M Manual ST-STM32F 모듈매뉴얼 (Model: LK-STM32-M V01) WW

TITLE: Education LK Development Team Status S/N Revision V0.1 Date 2011 /08/09 Doc LK임베디드 LK-STM32-M Manual ST-STM32F 모듈매뉴얼 (Model: LK-STM32-M V01) WW ST-STM32F 모듈매뉴얼 (Model: V01) WWW.LKEMBEDDED.CO.KR 2011 LK EMBEDDED version 1.0 페이지 1 1. 제품사진및모듈설명 그림. 모듈사진 1.1 제품소개 ST사의 32-Bit 플래시마이크로컨트롤러는임베디드어플리케이션을위해특별히디자인된최신의 ARM Cortex-M3 코어기반을하고있습니다. 32-Bit 플래시마이크로컨트롤러를이용하여학습및제품개발을핛수있는모듈입니다.

More information

1217 WebTrafMon II

1217 WebTrafMon II (1/28) (2/28) (10 Mbps ) Video, Audio. (3/28) 10 ~ 15 ( : telnet, ftp ),, (4/28) UDP/TCP (5/28) centralized environment packet header information analysis network traffic data, capture presentation network

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

MyCQ Server 2009

MyCQ Server 2009 We detect events in real-time. 회사소개 최근의금융, 증권, 통싞, 전력, 물류, 국방, 의료, 항공, 우주등의 IT 분야에 서실시갂데이터스트림처리에대핚요구가크게증가하고있습니다. 더 불어, 그에대핚실시갂응용요구사항또핚다양하게증가하고있습니다. ( 주 ) 마이씨큐는실시갂대용량데이터스트림처리에대핚전문적인기술및다양핚분야의소프트웨어기술을보유하고있으며,

More information

슬라이드 1

슬라이드 1 강력한성능! 인터넷 / 업무용데스크탑 PC NX-H Series Desktop PC NX1- H700/H800/H900 NX2- H700/H800/H900 NX1-H Series 사양 Series 제품설명 ( 모델명 ) NX1-H Series, 슬림타입 기본형모델중보급형모델고급형모델 NX1-H800:112SN NX1-H800:324SN NX1-H800:534MS

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

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

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

Design

Design Team 6 201060682 Valentin 200611450 강세용 200610118 김규수 이문서는 TimeSchedule System 을구현하기위핚기본적인아키텍쳐와구조에대해기술하였습니다. 가장핵심적인부분은 TimeSchedule 이며기본적인구조는, 교수는수업을개설하거나삭제핛수있으며학생은교수가개설핚수업을자싞의시갂표에등록핛수있다. 단학생의수업이다른수업과겹칠경우수업은학생의시갂표에등록되지않으며,

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

Microsoft Word ARM_ver2_0a.docx

Microsoft Word ARM_ver2_0a.docx [Smart]0703-ARM 프로그램설치 _ver1_0a 목차 1 윈도우기반으로리눅스컴파일하기 (Cygwin, GNU ARM 설치 )... 2 1.1 ARM datasheet 받기... 2 1.2 Cygwin GCC-4.0 4.1 4.2 toolchain 파일받기... 2 1.3 Cygwin 다운로드... 3 1.4 Cygwin Setup... 5 2 Cygwin

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

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

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 1 Tizen 실습예제 : Remote Key Framework 시스템소프트웨어특론 (2014 년 2 학기 ) Sungkyunkwan University Contents 2 Motivation and Concept Requirements Design Implementation Virtual Input Device Driver 제작 Tizen Service 개발절차

More information

Spanning Tree Protocol (STP) 1

Spanning Tree Protocol (STP) 1 Spanning Tree Protocol (STP) 1 Index 1. Ethernet Loop 2. BPDU 3. Bridge ID, Root Bridge ID 4. PVST 에서의 Bridge ID 5. Path cost 6. Port ID 7. STP 의동작방식 8. STP Port 상태변화 2 1. Ethernet Loop - 이중화구성은많은장점을가지지만

More information

슬라이드 1

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

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Deep Learning 작업환경조성 & 사용법 ISL 안재원 Ubuntu 설치 작업환경조성 접속방법 사용예시 2 - ISO file Download www.ubuntu.com Ubuntu 설치 3 - Make Booting USB Ubuntu 설치 http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

More information

Tizen

Tizen 1 Porting Tizen on ODROID (1/2) Compile kernel Index 2 Hardware check Configure platform Bootloader Building a kernel Building a Tizen platform Platform image flash Platform configuration Trouble shooting

More information

CZ-KETI-IOTG200

CZ-KETI-IOTG200 CZ-KETI-IOTG200 Hardware Manual 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

OPCTalk for Hitachi Ethernet 1 2. Path. DCOMwindow NT/2000 network server. Winsock update win95. . . 3 Excel CSV. Update Background Thread Client Command Queue Size Client Dynamic Scan Block Block

More information

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조

학습목차 2.1 다차원배열이란 차원배열의주소와값의참조 - Part2- 제 2 장다차원배열이란무엇인가 학습목차 2.1 다차원배열이란 2. 2 2 차원배열의주소와값의참조 2.1 다차원배열이란 2.1 다차원배열이란 (1/14) 다차원배열 : 2 차원이상의배열을의미 1 차원배열과다차원배열의비교 1 차원배열 int array [12] 행 2 차원배열 int array [4][3] 행 열 3 차원배열 int array [2][2][3]

More information

커널연구회(www.kernel.bz)

커널연구회(www.kernel.bz) 알파고 바둑 대국 분석 Release 2016-03-09 2016년 3월 9일 구글 딥마인드가 개발핚 인공지능 프로그램 '알파고'와 이세돌 9단(오른쪽)의 대 국./구글 제공 저작권 2 저작권 알파고 바둑대국 분석 저자 정재준 Copyright 2012-2016. All rights reserved. Published by. 서울 금천구 두산로 70 현대지식산업센터

More information

C++ Programming

C++ Programming C++ Programming 예외처리 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 예외처리 2 예외처리 예외처리 C++ 의예외처리 예외클래스와객체 3 예외처리 예외를처리하지않는프로그램 int main() int a, b; cout > a >> b; cout

More information

Getting Started 1 st Edition March 2004 Contents 1.EMPOS II QUICK START... 1 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 1.7. 1.8. 1.9....1...1...2 TextLcd...5 7 Segment...6 Led I/O...7 IP DEFAULT GATEWAY...8 WEB

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Network Programming Jo, Heeseung Network 실습 네트워크프로그래밍 멀리떨어져있는호스트들이서로데이터를주고받을수있도록프로그램을구현하는것 파일과는달리데이터를주고받을대상이멀리떨어져있기때문에소프트웨어차원에서호스트들간에연결을해주는장치가필요 이러한기능을해주는장치로소켓이라는인터페이스를많이사용 소켓프로그래밍이란용어와네트워크프로그래밍이랑용어가같은의미로사용

More information

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D>

<4D F736F F F696E74202D20BBB7BBB7C7D15F FBEDFB0A3B1B3C0B05FC1A636C0CFC2F72E BC8A3C8AF20B8F0B5E55D> 뻔뻔한 AVR 프로그래밍 The 6 th Lecture 유명환 ( yoo@netplug.co.kr) 1 2 통신 관련이야기 시리얼통신 관련이야기 INDEX 3 ATmega128 시리얼통신회로도분석 4 ATmega128 시리얼통신컨트롤러 (USART) 분석 5 ATmega128 시리얼통신관련레지스터분석 6 ATmega128 시리얼통신실습 1 통신 관련이야기 동기

More information

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 /carrena/ VMware 에서 l

네이버블로그 :: 포스트내용 Print VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52   /carrena/ VMware 에서 l VMw are 에서 Linux 설치하기 (Centos 6.3, 리눅스 ) Linux 2013/02/23 22:52 http://blog.naver.com /carrena/50163909320 VMware 에서 linux 설치하기 linux 는다양한버전이존재합니다. OS 자체가오픈소스이기때문에 redhat fedora, 우분투, centos 등등 100 가지가넘는버전이존재함

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

11장 포인터

11장 포인터 Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함

More information

vi 사용법

vi 사용법 유닉스프로그래밍및실습 gdb 사용법 fprintf 이용 단순디버깅 확인하고자하는코드부분에 fprintf(stderr, ) 를이용하여그지점까지도달했는지여부와관심있는변수의값을확인 여러유형의단순한문제를확인할수있음 그러나자세히살펴보기위해서는디버깅툴필요 int main(void) { int count; long large_no; double real_no; init_vars();

More information

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770> 연습문제해답 5 4 3 2 1 0 함수의반환값 =15 5 4 3 2 1 0 함수의반환값 =95 10 7 4 1-2 함수의반환값 =3 1 2 3 4 5 연습문제해답 1. C 언어에서의배열에대하여다음중맞는것은? (1) 3차원이상의배열은불가능하다. (2) 배열의이름은포인터와같은역할을한다. (3) 배열의인덱스는 1에서부터시작한다. (4) 선언한다음, 실행도중에배열의크기를변경하는것이가능하다.

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

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

Microsoft PowerPoint APUE(Intro).ppt

Microsoft PowerPoint APUE(Intro).ppt 컴퓨터특강 () [Ch. 1 & Ch. 2] 2006 년봄학기 문양세강원대학교컴퓨터과학과 APUE 강의목적 UNIX 시스템프로그래밍 file, process, signal, network programming UNIX 시스템의체계적이해 시스템프로그래밍능력향상 Page 2 1 APUE 강의동기 UNIX 는인기있는운영체제 서버시스템 ( 웹서버, 데이터베이스서버

More information

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S

ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit S ConnectCore i.mx53 / Wi-i.MX53 Freescale i.mx53 Cortex A8 system-on-module 네트워크가가능한 i.mx53 ConnectCore는새로운프리스케일 i.mx53 Application 프로세서기반인고성능 32-bit System-on-Module(SoM) 솔루션입니다. 1 GHz ARM Cortex -A8 core의높은성능,

More information

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee

Chapter. 5 Embedded System I Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee Chapter. 5 Bootloader, Kernel, Ramdisk Professor. Jaeheung, Lee 목차 Bootloader Kernel File System 1 Bootloader Bootloader 란? 리눅스커널부팅이전에미리실행되면서커널이올바르게부팅되기위해필요한모든관련작업을마무리하고최종적으로리눅스커널을부팅시키기위한목적으로짜여진프로그램 Bootloader

More information

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox

USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 최초작성 by 김정현 스크립트추가, 설명보충 by 유형목 1. VritualBox USB 케이블만을이용한리눅스 NFS 개발환경 (VirtualBox) 최초작성 : 2010 년 10 월 21 일 작성자 : 김정현 수정내용 2010. 10. 21. 최초작성 by 김정현 2010. 10. 24. 스크립트추가, 설명보충 by 유형목 1. VritualBox 설정 Windows 환경에서 VirtualBox 를설치한다음게스트 OS 로우분투리눅스를사용하는경우,

More information

Frama-C/JESSIS 사용법 소개

Frama-C/JESSIS 사용법 소개 Frama-C 프로그램검증시스템소개 박종현 @ POSTECH PL Frama-C? C 프로그램대상정적분석도구 플러그인구조 JESSIE Wp Aorai Frama-C 커널 2 ROSAEC 2011 동계워크샵 @ 통영 JESSIE? Frama-C 연역검증플러그인 프로그램분석 검증조건추출 증명 Hoare 논리에기초한프로그램검증도구 사용법 $ frama-c jessie

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 Word - LKP-RTD 사용자 설명서

Microsoft Word - LKP-RTD 사용자 설명서 LKP-RTD 보드 사용자설명서 Version Information H/W Version : Version 1.0 소속 : ( 주 ) 엘케이일레븐연구소주소 : 성남시중원구상대원동 190-1 SKn테크노파크메가센터 1306호전화 : 031-776-4120 / FAX : 031-766-4119 목차 1. 개요... 5 2. 사양... 6 3. 블록도... 7 4.

More information

Microsoft Word - JAVS_UDT-1_상세_메뉴얼.doc

Microsoft Word - JAVS_UDT-1_상세_메뉴얼.doc UDT-1 TRANSPORTER 한글 상세 제품 설명서 SoundPrime. 저작권 본 저작권은 Soundprime 이 소유하고 있습니다. Soundprime 의 허가 없이 정보 검색 시스템상에서 복사, 수정, 전달, 번역, 저장을 금지하며, 컴퓨터언어나 다른 어떠한 언어로도 수정될 수 없습니다. 또한 다른 형식이나 전기적, 기계적, 자기적, 광학적, 화학적,

More information

Microsoft Word doc

Microsoft Word doc 2. 디바이스드라이버 [ DIO ] 2.1. 개요 타겟보드의데이터버스를이용하여 LED 및스위치동작을제어하는방법을설명하겠다. 2.2. 회로도 2.3. 준비조건 ARM 용크로스컴파일러가설치되어있어야한다. 하드웨어적인점검을하여정상적인동작을한다고가정한다. NFS(Network File System) 를사용할경우에는 NFS가마운트되어있어야한다. 여기서는소스전문을포함하지않았다.

More information

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

Microsoft PowerPoint - e2.ppt [호환 모드] 임베디드시스템하드웨어구조 2. 임베디드시스템하드웨어 / 프로세서 SRAM/ROM CPU timer interrupt UART GPIO DMA USB I/F LAN ROM Flash SRAM 2 - 마이크로프로세서를사용한시스템 - 마이크로콘트롤러를사용한시스템 microprocessor timer interrupt DMA CPU micro-, SoC timer

More information

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev

Microsoft Word - 임베디드월드_WindowsEmbeddedCompact7_rev 글 : 김재형팀장, MDS테크놀로지 ES사업부 SE팀 www.mdstec.com 진보된기술과화려한사용자환경, 다양한응용프로그램들로무장한 스마트폰쓰나미 가몰려오고있다. 이쓰나미의영향은단지휴대용통신기기에만미치지않고, 주저하던임베디드시스템에도막대한영향을끼치고있다. 하지만임베디드시스템개발자와사용자라면누구나이 스마트폰쓰나미 의시초가임베디드시스템이었음을인정할것이다. 수많은미래지향적아이디어들을현실화하면서새로운

More information

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate ALTIBASE HDB 6.1.1.5.6 Patch Notes 목차 BUG-39240 offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG-41443 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate 한뒤, hash partition

More information

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

1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 1. 안드로이드개발환경설정 안드로이드개발을위해선툴체인을비롯한다양한소프트웨어패키지가필요합니다. 1.1. 툴체인 (Cross-Compiler) 설치 안드로이드 2.2 프로요부터는소스에기본툴체인이 prebuilt 라는이름으로포함되어있지만, 리눅스 나부트로더 (U-boot) 만별도로필요한경우도있어툴체인설치및설정에대해알아봅니다. 1.1.1. 툴체인설치 다음링크에서다운받을수있습니다.

More information

JVM 메모리구조

JVM 메모리구조 조명이정도면괜찮조! 주제 JVM 메모리구조 설미라자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조장. 최지성자료조사, 자료작성, PPT 작성, 보고서작성. 발표. 조원 이용열자료조사, 자료작성, PPT 작성, 보고서작성. 이윤경 자료조사, 자료작성, PPT작성, 보고서작성. 이수은 자료조사, 자료작성, PPT작성, 보고서작성. 발표일 2013. 05.

More information

Microsoft PowerPoint - em8-리눅스설치.ppt

Microsoft PowerPoint - em8-리눅스설치.ppt 임베디드리눅스커널설치개요 임베디드리눅스설치 Linux Kernel* Root File System* jffs2.img 1 2 구성요소 리눅스커널 필수구성요소 하드웨어를초기화하고 kernel image를 에올려주어수행을넘겨주는역할을하는프로그램 OS Kernel OS 의핵심프로그램 Root File System Kernel 에서사용할 File System 임베디드리눅스에서는

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

CONTENTS 목차 1. 전원 및 설치시 주의사항 2 2. 시스템 사용시 바른 자세 4 3. 시스템 구성품 확인 5 슬림형 케이스1 6 슬림형 케이스2 7 타워형 케이스1 8 타워형 케이스2 9 일체형 케이스1 10 망분리형 케이스1 11 4. 시스템 시작 및 종료

CONTENTS 목차 1. 전원 및 설치시 주의사항 2 2. 시스템 사용시 바른 자세 4 3. 시스템 구성품 확인 5 슬림형 케이스1 6 슬림형 케이스2 7 타워형 케이스1 8 타워형 케이스2 9 일체형 케이스1 10 망분리형 케이스1 11 4. 시스템 시작 및 종료 오리온 알토는 Windows 7을 권장합니다. DESKTOP PC 이 기기는 가정용(B급)으로 전자파적합기기로서 주로 가정에서 사용하는 것을 목적으로 하며, 모든 지역에서 사용할 수 있습니다. * 제품 연결 및 작동 등 올바른 사용을 위해서 이 설명서를 주의 깊게 읽어 주시기 바랍니다. 또한, 향후 사용을 위해서 매뉴얼을 보관하여 주십시오. * 본 이미지는

More information

Microsoft PowerPoint - chap10-함수의활용.pptx

Microsoft PowerPoint - chap10-함수의활용.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

Advantech Industrial Automation Group

Advantech Industrial Automation Group 산업용 어플리케이션에서의 USB Written by: Peishan Juan, Advantech Corporation, eautomation Group 산업 자동화에서 어떠한 기술은 사용자에게 도움이 되기도 하고, 그렇지 않기도 한다. 반도체와 소프트웨어 분야의 기술 발젂은 자동화 공정을 더욱 쉽고, 견고하게 만들어 주며 동시에 컴퓨터와 장비를 더욱 스마트한

More information