Hpb —— boe 源碼分析 1. 文件总览


#1

简介

HPB是采用了软硬件结合的方式开发的底层公链,go-hpb是公链代码,libboe是公链与HPB的硬件BOE通讯的桥梁. 本系列文章分析libboe的具体内容.

代码地址

go-hpb :https://github.com/hpb-project/go-hpb
libboe :https://github.com/hpb-project/libboe

术语

缩写 全拼 含义
rs raw socket 原始套接字,指的是基于以太网MAC层的裸数据,并非基于TCP/IP协议栈
aq atomic queue 原子队列,实现多线程同时安全操作队列,达到高速的效率
axu ARM auxiliary unit ARM 辅助单元
tsu <>

文件列表

1. 接口层
文件名 功能
boe.h 提供go-hpb中用到的功能接口
boe_full.h 比boe.h 多了一些测试接口和寄存器操作接口
boe.c 接口实现,调用doAXU/doTSU 接口
2. 第三方

sb_开头的所有文件, 引入椭圆曲线加密算法(NIST P256)

3. 基础模块层
文件名 功能
list.h 定义和实现列表功能
common.h 公用的结构和函数
type.h 基本的类型定义
atomic 原子操作接口
aq 基于atomic实现的原子操作队列
sha3 sha3_256 和 sha3_512 算法
serror 错误类型和信息
genid 根据本机的信息产生一个32字节的id
rs 基于以太网MAC层的通信接口
4. 功能层
文件名 功能
msgc 基于rs的收发包模块
tsu_connector.h 主机和BOE硬件FPGA器件通讯协议
axu_connector.h 主机和BOE硬件ARM器件通讯协议
doAXU ARM侧功能接口
doTSU FPGA侧功能接口
5. 测试程序

test 目录下的所有文件,包括功能和性能以及工具.

下一篇开始 基础层


#2

等着那,就看到一句话 :sweat_smile::sweat_smile::sweat_smile:


#3

有时间了就补上:sunglasses::sunglasses::sunglasses::sunglasses:


#4

ヾ(◍°∇°◍)ノ゙加油! 目测这是技术大佬们的交流贴了,所以我撤了


#5

表格有点难看啊,:sweat_smile: