KLDP 등 여러 리눅스 커뮤니티에 공지를통해서

커널연구회라는 곳에서 세미나를 주최하여 진행하였음.



일시 : 2015.08.29(토) 14:00 ~ 17:00

내용 : Device Tree,  커널 4.0 포팅


1. 소개

- 강사소개 및 출판서적

커널연구회, 정재준대표님


Dedvice Tree 상세분석 in Linux Kernel 4.0


- 3.2커널이후부터는 디바이스 트리가 규약화 됨

- 디바이스 트리란? 디바이스 트리의 스크립트 부분만 수정하여(전체 커널소스는 수정하지 않아도됨) 다시 컴팡리하면 많은 하드웨어 디바이스를 지원이 가능하게하는 일종의 규약으로 탄생


- 임베디드 작품들 구경 및 설명



2. 컴퓨터 아키텍쳐


# 8bit microprocessor (AVR ATmega)

- Block Diagram of the AVR MCU Architecture


- 8bit 레지스터 * 32개

- 8bit : op + op1 + op2

   ex. + 001   01      01


- program memory map, data memory map, 

- the pararrel instruction fetches and instruction executions

- single cycle ALU Operation

- on-chip data sram access cycles

- Clock Distribution






# ARM cortex 제품 라인업

- cortex-A : s/w 위주 위주로 개발할 때 

- cortex-R & M  : h/w  위주로 개발할 때


# 32bit Architecture 

: 2^32 = 4 GB



32bit Architecture Memory Map


# 2^64 = 1024 * 1024 * ...... * 2^4 = ??GB


# ARM Cortex-M (32bit)


참고하기. http://lifeseed.tistory.com/m/post/60



3. 리눅스 커널 소스

- 2.6..21~ : task_struct 구조체, Linked-list(pointer), 라운드로빈, RTS 알고리즘

-  2.6.35~ : CFS 자료구조, 레드블랙트리 알고리즘


# 소스 다이어그램

- linux kernel map : http://www.makelinux.net/kernel_map/

- kernel diagram : http://www.makelinux.net/kernel/diagram





- system

- networking

- storages, file system

- memory

- processing

- human interface



# 커널 자료구조

- Device Tree : /proc/device-tree

/arch/...

/devices/...

/net/...

/mm/...

/devices/...

/fs/...


http://ssup2.iptime.org/wiki/Device_Tree


# 커널 4.0 포팅하는 방법


- GIC : 분산처리해주는...

- DMC 


http://forum.falinux.com/zbxe/index.php?document_srl=613440&mid=lecture_tip

<디바이스 트리>

- 타겟보드로 컴파일을 진행할땐 uboot로 진입해야함

- fastboot로 실행을 시킴

- 각 파티션으로 나누어져 있고 해당부분에 올려서 크로스컴파일로 진행

- root권한으로 진행

- DTB, DTC, DTS,
http://forum.falinux.com/zbxe/?document_srl=589850&mid=lecture_tip&page=3

http://forum.falinux.com/zbxe/?mid=lecture_tip&l=ru&document_srl=589850



<커널>

- ubuntu 버전에서

kernel.org에서 리눅스 소스를 받으면 됨 
    https://www.kernel.org/pub/linux/kernel/v4.x/

- "make" 컴파일




"make build"  

https://kldp.org/node/133775

http://mintnlatte.tistory.com/429

https://www.gnu.org/software/make/


Ramdisk

buildroot : http://buildroot.org/


* logic analizer

https://www.saleae.com/downloads



'System > Linux Kernel' 카테고리의 다른 글

system(), fork()  (0) 2015.12.24
[Unix V6] 시스템 부팅  (0) 2015.12.19
메모리관리  (0) 2015.08.18
인터럽트 / 트랩  (0) 2015.08.16
VFS, Virtual File System  (0) 2015.08.16

+ Recent posts