找回密码
 立即注册
搜索
热搜: 飞腾 龙芯 固件
查看: 2802|回复: 0

D2000平台外部设备通过I2C获取CPU核温

[复制链接]

21

主题

0

回帖

128

积分

超级版主

积分
128
发表于 2024-5-13 20:12:43 | 显示全部楼层 |阅读模式
本帖最后由 alittle 于 2024-5-13 20:15 编辑

硬件连接:MCU作I2C主机,连接CPU的I2C3,CPU作从机


UEFI按下述配置

1、屏蔽I2C3主机的ACPI设备节点
        PhytiumPkg/PhytiumD2000Pkg/Drivers/AcpiTables/Dsdt/i2c.asl文件中屏蔽Device (I2C3)的节点描述

2、开启支持USE_SCPI功能
        PhytiumPkg/PhytiumD2000Pkg/PhytiumD2000Pkg.dsc
  1. ...
  2. DEFINE USE_SCPI        = TRUE
  3. ...
复制代码

3、打开i2c端口配置接口

        PhytiumPkg/PhytiumD2000Pkg/Drivers/ScpiDxe/scpi.c
  1. EFI_STATUS
  2. EFIAPI
  3. InitializeScpiDxe (
  4.         IN EFI_HANDLE ImageHandle,
  5.         IN EFI_SYSTEM_TABLE *SystemTable
  6. )
  7. {
  8. ...
  9.         func_set_i2c_port(1);
  10. ...
  11. }
复制代码


4、配置scl&sda的管脚复用为I2C功能管脚

5、访问协议




注意:温度为四字节,单位为0.001摄氏度
Temp value[0]~Temp value[3]组成了一个实际温度值,LSB在前,Temp value[3]最高位为符号位

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|锋微固件

GMT+8, 2025-6-16 14:57 , Processed in 0.060265 second(s), 23 queries .

快速回复 返回顶部 返回列表