Linux I2C Driver - 使用str8131(1)i2c本身的硬體架構只有二條線,很簡單,不過 linux kernel 實做出來的架構卻蠻複雜的。細節就不說,其本上,kernel原始附有i2c-core.c和i2c-dev.c這兩個檔案,就已結婚西裝實做好i2c基本的架構了,我們主要做的是新增一個 bus的driver檔案,負責做硬體的初始化和實際傳輸的硬體動作。1. 新增要編譯的object檔首先我們要在 [kernel目錄]/arch/drivers/i2c/busses 的目錄裡資產管理公司新增我們的 bus driver檔案。我們新增一個 test_i2c-str8131.c 的檔案。並且在這目錄下的 Makefile 新增一行,讓 make 也會編譯我們的 driver。## Makefile for the i2c bus 支票貼現drivers.#obj-$(CONFIG_TEST_I2C_STR8131)    += test_i2c-str8131.o#obj-$(CONFIG_I2C_STR8131)    += i2c-str8131.oobj-$(CONFIG_I2C_ALI1535)    結婚+= i2c-ali1535.o...........2. 在這目錄的 kconfig,新增menuconfig的選項config TEST_I2C_STR8131    bool "test I2C STR8131"   default y   婚禮佈置help         test I2C bus of STR8131.    tristate "TEST STR8131 I2C"    depends on I2C && ARCH_STR8131 3. 情趣用品在[kernel目錄]使用make menuconfig設定新增的 driver,或直接修改 .config檔。修改後的 .config應該類似這樣# I2C support#CONFIG_I2C=yCONFIG_I2C_CHARDEV=y## I2C Algorithms## 小型辦公室CONFIG_I2C_ALGOBIT is not set# CONFIG_I2C_ALGOPCF is not set# CONFIG_I2C_ALGOPCA is not set## I2C Hardware Bus support#CONFIG_TEST_I2C_STR8131=y# CONFIG_I2C_STR8131 is not set# 房屋二胎CONFIG_I2C_ALI1535 is not set.....................4.如果在一開機時,沒有發現 /dev/i2c這個節點,可用以下這個命令手動新增:mknod /dev/[device_name] c 89 0在這裡的89為linux預設的i2c設備編號室內設計。而更方便的是在 rootfs 底下的default就先建好,例如 rootfs/default/dev/ 就先建好這節點,免得每次重開機時都要重建一次。


.msgcontent .wsharing ul li { text-indent: 0; }



情趣用品

Facebook
Plurk
YAHOO!

arrow
arrow
    全站熱搜

    wk84wkdhpg 發表在 痞客邦 留言(0) 人氣()