2021-03-01 SONiC系统管理 22
平台驱动开发工具箱
SONiC提供了针对设备运行平台管理开发的工具箱PDK( Platform Development Kit),PDK包括平台驱动开发框架PDDF(Platform Driver Development Framework )和PDE(Platform Development Environment)两部分,简单说可以看成是平台驱动的代码框架和平台驱动的开发环境两部分。用户基于PDDF可以很容易的开发出数据驱动的运行平台驱动程序,用来管理风扇、电源PSU、光模块、系统E2PROM等运行环境。
PDDF提供了一个数据驱动的开发环境,用户提供一个JSON编码的硬件环境描述,包括用于访问这些部件的I2C总线结构,总线上设备名称和类型,总线设备上可以读写的数据类型等,PDDF通用驱动程序根据文件描述的内容访问I2C总线上的设备,PDDF也支持BMC管理。
"PSU1-PMBUS": {
"dev_info": {
"device_type": "PSU-PMBUS",
"device_name": "PSU1-PMBUS",
"device_parent": "MUX3",
"virt_parent": "PSU1"
},
"i2c": {
"topo_info": {
"parent_bus": "0x30",
"dev_addr": "0x58",
"dev_type": "ym2851"
},
"attr_list": [
{ "attr_name": "psu_fan1_fault" },
{ "attr_name": "psu_v_out" },
{ "attr_name": "psu_i_out" },
{ "attr_name": "psu_p_out" },
{ "attr_name": "psu_temp1_input" },
{ "attr_name": "psu_fan1_speed_rpm" },
{
"attr_name":"psu_fan_dir",
"drv_attr_name": "psu_fan_direction"
},
{ "attr_name": "psu_mfr_id" }
]
}
}