主题中讨论的其他器件: BQ27421-G2、 bq27500、 BQ27000、 BQ27200、 BQ27210、 BQ27010、 BQ27510、 bq27541
工具/软件:Linux
大家好、我一直在尝试在 Debian 系统上使用这个功率监控器的驱动程序、具体来说、Linaro 4.4.9。 我正在使用 Variscite 的 DART SD410 Devkit。 我使用 bash shell 从发出了一些直接 i2c 调用、以从 BQ27421-G1获取信息、并验证了报告的数据是否准确。 因此、我知道我已正确连接器件。
但是、在执行将驱动程序构建到内核中的步骤后、我尚未确定任何使用该驱动程序的方法。 我按照指令通过 menuconfig 将驱动程序构建到我的内核中、如此处所示。
符号:battery_BQ27XXX [=y] 类型:三态 提示:BQ27xxx 电池驱动 程序位置: ->设备驱动程序 ->在 drivers/power/supply/Kconfig:167中定义的电源类支持(power_supply [=y]) 取决于:power_supply [=y] 符号:battery_BQ27XXX_I2C [=y] 类型:三态 提示:BQ27xxx I2C 支持 位置: ->设备驱动程序 ->电源类支持(POWER_SUPPLY [=y]) ->在 drivers/power/supply/Kconfig:172中定义的 BQ27xxx 电池驱动器(battery_BQ27XXX [=y]) 取决于:power_supply [=y]&& battery_BQ27XXX [=y]&& I2C [=y]
刷写 SOM 的引导映像后、我希望文件结构中的文件内容会报告温度、电池电量等 但我没有发现这样的东西。 此外、在文件系统上找不到该模块的.ko 文件。 我希望它位于/lib/modules 下的某个位置 /。 我必须在源树中找到.ko、将其扫描到 SOM、然后用 insmod 手动插入。 但是、即使在这之后、我也看不到任何方法可以从器件中获取轮询的信息。
我已经阅读了该器件的快速入门指南和技术参考、但似乎没有这些信息、因此我将尝试回答以下问题。
(1)如何构建内核、使其包含驱动程序并在引导时加载? 在内核配置更改后进行内核重建不会导致这种情况。 我需要采取哪些进一步的步骤?
(2)如何告知驱动器已连接 BQ27421-G2的 I2C?
(3)如何从驱动程序中提取 BQ27421-G2的信息?
(4)技术参考提到了一些 API 调用的外观、例如 Temperature()、Voltage()。 是否有程序可以链接到的库(.so 或.A)来访问驱动程序提供的信息? 或者、程序在编译时可能包含一些头文件吗?
谢谢。