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

Local Bus接口类 更多...

#include <localbus.h>

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

Public 成员函数

virtual string_t read (int32_t index, uint32_t type, uint32_t offset, uint32_t len, uint32_t mask)=0
 读取 Local Bus 数据
 
virtual int32_t write (int32_t index, uint32_t type, uint32_t offset, uint32_t len, uint32_t mask, const string_view_t &val)=0
 写 Local Bus 数据
 
virtual void set_timing (int32_t index, uint32_t type, uint8_t value)=0
 设置 Local Bus 时序参数
 
virtual void set_bitwidth_and_offset (int32_t index, uint8_t addr_offset, uint8_t width)=0
 设置 Local Bus 地址偏移
 
- 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
 获取驱动版本信息
 

详细描述

Local Bus接口类

成员函数说明

◆ read()

virtual string_t DRIVER_LOCALBUS::Localbus::read ( int32_t  index,
uint32_t  type,
uint32_t  offset,
uint32_t  len,
uint32_t  mask 
)
pure virtual

读取 Local Bus 数据

参数
index通道索引号
type访问类型,0:按字节访问,1:按比特位访问;按位访问时,len=1
offset访问偏移地址
len读取长度
mask比特掩码,1有效,按比特访问时有效;只能指定1个bit
返回
string_t 读取到的数据
  • 按字节访问时,返回值为读取到的数据数组
  • 按比特访问时,返回值为bit0

◆ set_bitwidth_and_offset()

virtual void DRIVER_LOCALBUS::Localbus::set_bitwidth_and_offset ( int32_t  index,
uint8_t  addr_offset,
uint8_t  width 
)
pure virtual

设置 Local Bus 地址偏移

参数
index通道索引号
addr_offset地址偏移
width位宽,0:8bit, 1:16bit, 2:32bit addr_offset为0,不偏移 addr_offset为1,按照width偏移
  • width为0,不偏移
  • width为1,偏移1位
  • width为2,偏移2位

◆ set_timing()

virtual void DRIVER_LOCALBUS::Localbus::set_timing ( int32_t  index,
uint32_t  type,
uint8_t  value 
)
pure virtual

设置 Local Bus 时序参数

参数
index通道索引号
type时序参数类型 0: 地址锁存的指示信号有效时间,单位: 时钟周期 1: 地址锁存的指示信号无效到数据有效的时间,单位: 时钟周期
value时序参数值

◆ write()

virtual int32_t DRIVER_LOCALBUS::Localbus::write ( int32_t  index,
uint32_t  type,
uint32_t  offset,
uint32_t  len,
uint32_t  mask,
const string_view_t &  val 
)
pure virtual

写 Local Bus 数据

参数
index通道索引号
type访问类型,0:按字节访问,1:按比特位访问;按位访问时,len=1
offset访问偏移地址
len写入长度
mask比特掩码,1有效,按比特访问时有效;只能指定1个bit
val要写入的数据
  • 按字节访问时,val为待写入的数组
  • 按比特访问时,待写入值存放在bit0
返回
int32_t 0: 写入成功, -1: 写入失败

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