openUBMC Chip Abstract Layer V0.1
载入中...
搜索中...
未找到
Public 成员函数 | 所有成员列表
DRIVER_JTAG::Jtag类 参考abstract

CPLD升级接口 更多...

#include <jtag.h>

类 DRIVER_JTAG::Jtag 继承关系图:
Inheritance graph
[图例]
DRIVER_JTAG::Jtag 的协作图:
Collaboration graph
[图例]

Public 成员函数

virtual void set_reset_cpld_gpio (int32_t index, uint8_t gpio_num)=0
 将用于复位CPLD的管脚初始化为特定电平
 
virtual int32_t write (int32_t index, const string_view_t &data)=0
 写 JTAG 数据
 
virtual void set_target_num (int32_t index, uint32_t cpld_id)=0
 选择bypass模式下jtag链中需要升级的器件
 
virtual void set_bypass_mode (int32_t index, bool enable)=0
 设置bypass模式 设置是否使用Bypass模式升级(链上除目标器件外其他器件设置为Bypass)
 
virtual void set_tck_rate (int32_t index, uint32_t tck_rate)=0
 设置tck频率
 
virtual bool test_bypass_channel (int32_t index, uint8_t cpld_id)=0
 jtag链路测试 测试jtag链路是否畅通
 
virtual vector< uint32_t > get_cpld_idcode (int32_t index, uint8_t cpld_num)=0
 获取CPLD IDCODE
 
virtual void reset (int32_t index)=0
 通过GPIO引脚复位CPLD GPIO引脚由set_reset_cpld_gpio接口设置
 
- Public 成员函数 继承自 bcal::IDriver
 ~IDriver ()
 BCAL驱动析构
 
virtual void free (void)
 BCAL驱动析构
 
virtual void init (void *args, uint32_t size)=0
 BCAL驱动初始化接口
 
virtual void config (int32_t index, void *config, uint32_t size)=0
 驱动实例初始化配置
 
virtual void lock (int32_t index)=0
 驱动实例加锁 读写锁
 
virtual void unlock (int32_t index)=0
 驱动实例解锁
 
virtual string_t get_version (void)=0
 获取驱动版本信息
 

详细描述

CPLD升级接口

成员函数说明

◆ get_cpld_idcode()

virtual vector< uint32_t > DRIVER_JTAG::Jtag::get_cpld_idcode ( int32_t  index,
uint8_t  cpld_num 
)
pure virtual

获取CPLD IDCODE

参数
index通道编号
cpld_numCPLD数量
返回
vector<uint32_t> CPLD IDCODE列表

◆ reset()

virtual void DRIVER_JTAG::Jtag::reset ( int32_t  index)
pure virtual

通过GPIO引脚复位CPLD GPIO引脚由set_reset_cpld_gpio接口设置

参数
index通道编号

◆ set_bypass_mode()

virtual void DRIVER_JTAG::Jtag::set_bypass_mode ( int32_t  index,
bool  enable 
)
pure virtual

设置bypass模式 设置是否使用Bypass模式升级(链上除目标器件外其他器件设置为Bypass)

参数
index通道编号
enable是否开启bypass模式

◆ set_reset_cpld_gpio()

virtual void DRIVER_JTAG::Jtag::set_reset_cpld_gpio ( int32_t  index,
uint8_t  gpio_num 
)
pure virtual

将用于复位CPLD的管脚初始化为特定电平

参数
index通道编号
gpio_num用于复位CPLD的管脚的编号

◆ set_target_num()

virtual void DRIVER_JTAG::Jtag::set_target_num ( int32_t  index,
uint32_t  cpld_id 
)
pure virtual

选择bypass模式下jtag链中需要升级的器件

参数
index通道编号
cpld_id待升级的CPLD编号,指在JTAG链中的编号

◆ set_tck_rate()

virtual void DRIVER_JTAG::Jtag::set_tck_rate ( int32_t  index,
uint32_t  tck_rate 
)
pure virtual

设置tck频率

参数
index通道编号
tck_rateTck频率 kHz

◆ test_bypass_channel()

virtual bool DRIVER_JTAG::Jtag::test_bypass_channel ( int32_t  index,
uint8_t  cpld_id 
)
pure virtual

jtag链路测试 测试jtag链路是否畅通

参数
index通道编号
cpld_idCPLD编号,指在JTAG链中的编号
返回
true 测试成功
false 测试失败

◆ write()

virtual int32_t DRIVER_JTAG::Jtag::write ( int32_t  index,
const string_view_t &  data 
)
pure virtual

写 JTAG 数据

参数
index通道编号
dataCPLD升级固件内容
返回
int32_t 0: 写入成功, -1: 写入失败

该类的文档由以下文件生成: