platform java
- IT科技
- 關注:2.26W次
<link rel="stylesheet" href="https://js.how234.com/third-party/SyntaxHighlighter/shCoreDefault.css" type="text/css" /><script type="text/javascript" src="https://js.how234.com/third-party/SyntaxHighlighter/shCore.js"></script><script type="text/javascript"> SyntaxHighlighter.all(); </script>
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, };
- 文章版權屬於文章作者所有,轉載請註明 https://shqsg.com/dianzi/nw0yy5.html