skip to content
User Tools
Site Tools
Search
Tools
Show pagesource
Backlinks
Media Manager
Log In
>
Trace:
•
2024-10-29-001
blog:2024-10-29-001
2024-10-29 Windows下透過SMBus與裝置通信
Windows下透過Smbus與裝置通信
https://blog.csdn.net/cloud_worromot/article/details/140586553
Notes
在Github,注意到了一個開源專案叫
OpenRGB
,閱讀其readme檔案了解到這個專案的作用是替代個人家用主機中亂七八糟各品牌的RGB燈光驅動軟體,可以使用該軟體來統一調度不同品牌的ddr 、顯示卡、主機板、滑鼠等RGB燈光。更進一步了解到市面上的廠商的RGB燈光控制大部分使用SMBus協議,於是覺得這個項目可以有不小的參考。
https://github.com/massivedynamicscoc/OpenRGB
幸運的是,該專案的文檔寫的很好,其中對
SMBus
部分有簡要的介紹。這裡簡單介紹了一下有關的拓撲結構,也提到了Linux平台下有現成的
i2c庫
支持你訪問主機板上的i2c/SMBus設備,而Windows並沒有類似的東西,所以作者重新寫了Windows平台下的驅動(我也是在此刻深刻感受到了Windows平台開發的不容易)。總之,我反覆閱讀了作者的文檔之後知道了我可能會用上一個庫叫WinRing0。
https://github.com/massivedynamicscoc/WinRing0
於是我接著去翻閱
WinRing0
的文檔,了解到其可以用來access到x86/64 Windows下的IO port, MSR, PCI,再聯想到之前有在設備管理器看到過SMBus Controller是位於PCI上的,覺得WinRing0將會是一個很有用的工具。之後從Intel官網取得到了PCH datasheet,上面詳細介紹了SMBus Controller的PCI設定資訊以及其IO Space的資訊。透過重複閱讀datasheet終於理清了實現我想要的功能的程式步驟。
TAGS
9 person(s) visited this page until now.
Back
Permalink
blog/2024-10-29-001.txt
· Last modified: 2024/10/29 10:56 by
jethro
Page Tools
Log In
Show pagesource
Back to top
Print
Backlinks
Media Manager
oeffentlich