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 |