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命令来完成驱动的加载。