building linux kernel including device driversccrs.hanyang.ac.kr/webpage_limdj/embedded/lab5.pdf ·...

24
Lab 6 Building Linux Kernel including Device Drivers

Upload: dinhbao

Post on 14-Feb-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Lab 6

Building Linux Kernel

including Device Drivers

Build kernel with a new driver

Adding new driver code to linux kernel

source code

Edit Makefile

Edit Kconfig file

Select the driver before kernel build

Build the linux kernel

Add new driver code to linux kernel

source code # cd /home/control/work/driver/fpga_led_dev

# cp ./fpga_led_driver.c

/work/achroimx6q/achroimx_kernel/drivers/char

드라이버소스코드에 /dev/fpga_led파일자동생성을위한코드추가

Edit Makefile # cd /work/achroimx6q/achroimx_kernel/drivers/char

# vi Makefile

obj-$(CONFIG_FPGA_LED) += fpga_led_driver.o

Edit Kconfig # cd /work/achroimx6q/achroimx_kernel/drivers/char

# vi Kconfig

config FPGA_LED

bool "FPGA_LED"

Select the driver before kernel build # cd /work/achroimx6q/achroimx_kernel

# make menuconfig

# make uImage

New kernel image location /work/achroimx6q/achroimx_kernel/arch/arm/boot

# cd /work/achroimx6q/achroimx_kernel/arch/arm/boot

# cp ./uImage /tftpboot

u-boot

Power on the target and press any key

within 3 seconds to stop autoboot

u-boot command

u-boot command

u-boot command

u-boot command

Kernel Fusing

> tftp 10800000 uImage

> mmc dev 0

> mmc write 10800000 800 7000

> reset

Kernel Fusing

Rebooting the target

Booting 시자동실행

Target에서 /etc/init.d/rcS를편집

# vi /etc/init.d/rcS

# sync

Rebooting the target

재부팅시자동실행확인

Exercise

Embedded linux가 booting 되었을때,

fpga_led device를사용하는 fpga_test_led

가자동으로실행되는것을확인.