java platform是什么,讓我們一起了解一下?
paltform是一種虛擬的總線,用于管理外設資源、內存資源、中斷資源,在硬件上有USB-BUS總線,PCI-BUS總線,這是在物理設備上實際存在的總線。platform的一個優點就是將驅動和設備分開,提高驅動的移植性。
platform的靈魂是:device(設備)driver(驅動)platform_bus(platform總線),其特點是設備,驅動分層動態的管理和加載,其中platform_bus是一個虛擬的總線。
drvier和device匹配的方法有3種:
1、當一個設備注冊的時候,他會在總線上尋找匹配的driver,platform device一般在系統啟動很早的時候就注冊了。
2、當一個驅動注冊[platform_driver_register()]的時候,他會遍歷所有總線上的設備來尋找匹配,在啟動的過程驅動的注冊一般比較晚,或者在模塊載入的時候。
3、當一個驅動注冊[platform_driver_probe()]的時候, 功能上和使用platform_driver_register()是一樣的,唯一的區別是它不能被以后其他的device probe了,也就是說這個driver只能和 一個device綁定。
如何定義一個driver?
static?struct?platform_driver?test_platform_driver?=?{ .probe???=?dev_test_probe,? .remove???=?dev_test_remove, .suspend??=?dev_test_suspend, .resume???=?dev_test_resume, .driver??=?{ .owner??=?THIS_MODULE, .name???=?"cx2837_test", }, };
如何定義一個device(設備)?
static?struct?platform_device?dev_fb0?=?{ ?.name?=?"cx2837_test", ?.id?=?1,? };
以上就是小編今天的分享了,希望可以幫助到大家。