mini

 

1.新建一个文件(test_plat_dev.c)

a)在文件中初始化一个虚拟的platform_device(并且要包含有设备私有的数据结构)并注册到platform bus

b)设备的私有数据结构包含项内容:product_id = "spark";vendor_id = "huawei"

c)将文件编译成ko文件,用insmod来完成设备的注册。

 

2.新建一个文件(test_plat_drv.c)

a)文件中初始化一个虚拟的platform_driver并注册到platform bus

b)要求和test_plat_dev.c文件中注册的platform_device匹配,

c)驱动探测成功后通过kobject生成一个/sys/test_plat文件夹,里面包含三个文件:product_id,vendor_id,reg

d)要求在adb shell下输入:cat /sys/test_plat/product_id能够打印出spark;cat /sys/test_plat/vendor_id能够打印出huawei

e)要求shell输入:echo -n val > /sys/test_plat/reg能够将val的值传给驱动,输入cat /sys/test_plat/reg能够打印出:spark/huawei/reg:(之前写入的val)

f)并编译成ko文件,加载时用insmod命令来完成驱动的加载。

 

你可能感兴趣的:(mini)