自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jason的专栏

It is easier to find your bugs if you take it slow.Actually taking it slow is faster in the long run

  • 博客(229)
  • 资源 (2)
  • 问答 (1)
  • 收藏
  • 关注

原创 mark several interesting papers

GitHub - YouAreSpecialToMe/Metis: Metis: Understanding and Enhancing Regular Expressions in Networkhttps://openreview.net/pdf/55e8e4594037ac9febe7d3055b20fa52eeb85d9b.pdfhttps://people.csail.mit.edu/alizadeh/papers/drmt-sigcomm17.pdfGitHub - genzj/llm-fine

2024-02-14 20:30:19 197

原创 neovim compare 2 files

【代码】neovim compare 2 files。

2024-01-21 10:01:25 411 1

原创 xml vs json vs yaml

2024-01-06 17:40:09 380

翻译 非阻塞交换网络的一个研究

电子艺术的发现和发展已经可以在我们的电话交换领域感受到了。很多国内外的实验室都有研究项目来构建经济的交换系统就是很好的证据。有些像ECASS系统这样的系统中,交叉点整列的角色比在现在的商用电话系统更加重要。在这些系统当中,普通的控制系统变得没那么贵,但是承担更多控制功能交叉点却更贵了。这样的系统的需求是交叉点尽可能少,但是能够同时建立的连接尽可能的多。这是两个对立的需求,一个商用系统必须在两者之间作出一个妥协。

2024-01-05 12:20:56 67

原创 pyenv: no such command `virtualenv-init‘

【代码】pyenv: no such command `virtualenv-init‘

2023-12-21 08:12:53 592

原创 find/grep/sed/awk文本处理

【代码】find/grep/sed/awk文本处理。

2023-12-01 14:59:57 68

原创 recursive make and parallel build

If doing parallel build with -jobs, and use recursive make.And if different tasks have a same target (objective file), will have a chance hit a race condition. As different round of compilation may result a different objective file.

2023-11-14 09:23:35 61

原创 keyboard special characters

【代码】keyboard special characters。

2023-09-22 10:14:41 81

原创 怎么查看x86 Linux bzImage的boot sector

【代码】怎么查看x86 Linux bzImage的boot sector。

2023-08-07 08:15:56 79

原创 pmbus block read

有些设备会在SCL high超过25ms之后终止session,有些甚至SCL 50us就终止session。有些会等host的SCL更长时间而不会终止session。不同的pmbus device,或者不同的固件的pmbus device。他们对pmbus协议的理解或支持很不一样。

2023-07-13 17:44:46 223

原创 vim screenlog.0

Now with vim 8 you can use terminal mode and then in that terminal do and go back to normal mode with Ctrl-w N.

2023-06-20 13:38:13 43

原创 Linux怎么拿到initramfs的address和size

具体怎么送的根据Documentation/x86/boot.txt, boot loader需要把boot_params的基地址放到rsi寄存器里面。For x86,如果是separate的cpio的压缩文件,boot loader 需要把它送给Kernel。

2023-04-06 13:51:24 307

原创 mmc host driver test with mmc_test

Reference:

2023-03-31 14:09:53 117

原创 Linux emmc host driver, basic idea

在JESD84-B51中描述了emmc的标准。

2023-03-29 15:49:05 160

原创 JTAG 基础和svf specification介绍

JTAG: Joint Test Action Group是开发IEEE 1149.1的工作组,1149.1定义了一个测试开发版上芯片的标准。现在变成了芯片的一个最常见的接口,用途很多比如FPGA/CPLD image下载,芯片测试和访问。板子上一般是菊花链的形式连接基本的想法是给每个chip加一个测试wrapper,这个wrapper遵守JTAG协议。然后定义一些可以写到设备的指令。这个TAP是指Test access port,TAP控制器是一个有16个状态的有限状态机。

2023-02-03 10:35:51 774

原创 C system()的返回值

比如如果grep call fail,它的返回值就是256。

2023-01-20 15:44:54 1430 2

原创 一个以太网frame的结构

一个以太网帧的结构

2022-11-27 20:56:39 175

翻译 理解以太网术语——速率,互联媒介和物理层

我们周围的大量的越来越多的事物和设备都使用以太网协议来做连接。历史上以太网是被用在局域网和城域网。但是现在由于它的受欢迎程度,以及像庞大市场和完善生态的这种好处的原因,像存储和汽车等市场也开始采用以太网。IC设计人员正在不断的寻找一个合适的以太网IP来集成到它们的应用当中。但是由于以太网独特的术语体系,以太网常常令人感到难以理解。不像PCIE/SATA/USB每个速率只有一个spec,同一个以太网速率具有很多不同的spec。

2022-09-20 22:30:05 1444

转载 AC coupling and DC coupling

交流耦合是指使用一个电容器去过滤掉信号中的直流成分。电容器必须与信号是串联的。交流耦合是有用的,因为信号的直流分量充当电压偏移,将直流分量从信号中移除可以增加信号测量的分辨率。直流耦合描述所测量到的信号包含交流及直流两个部分。使用直流耦合时,不需要添加额外的电容器来对信号进行滤波。如果信号源仅具有少量偏移电压,小于±100 mV,或者所获取信号的直流成分很重要,那么直流耦合的配置通常是最佳的。如果您的信号完全是直流成分,请确保使用直流耦合。否则,您的整个信号内容将被移除,看起来像是接地的0V 信号。

2022-09-20 13:26:11 848

原创 验证私钥匹配证书

1. 验证私钥一致性openssl rsa -check -noout -in myserver.keyRSA Key is ok2. 验证证书和私钥有相同的modulusopenssl x509 -modulus -noout -in myserver.crt | openssl md5openssl rsa -modulus -noout -in myserver.key | openssl md5

2022-05-31 13:45:44 737

原创 查看二进制证书的内容

先修改原数据为二进制字符串格式sed -r -i'.org' 's/\S+ : //g' ca1 将DER格式的证书转换为PEM格式的证书cat ca1 | xxd -r -p | openssl -inform DER -out ca1.pem -outform PEM然后就可以看了openssl x509 -in root1.pem -text...

2022-05-31 09:11:45 289 1

原创 密码学基础总结

数字签名手写签名:1. 签名者身份(身份可鉴定),2. 签名者认可文件内容(文件内容不可篡改)。数字签名算法去实现上述数字签名类似的特性(实际上需要数字证书的辅助)主要数字签名算法(属于加密算法的一种)RSA DSA ECDSA加密算法双向加密算法:对称加密算法和非对称加密算法 单向加密算法:哈希算法主要对称机密算法(单密钥加密算法)DES 3DES AES主要非对称加密算法(公开密钥加密算法)RSA ECC主要哈希算法M...

2022-05-31 09:07:31 116

原创 写expect脚本的几个坑

In general, expect will save the expect's whole match string in expect_out(0,string) and buffer all the matched/unmatched input to expect_out(buffer). Each sub match will be saved in subsequent numbering of string such as expect_out(1,string), expect_out(2

2022-05-09 16:48:10 251 2

转载 代码安全性和健壮性:如何在if和assert中做选择?

一、前言我们在撸代码的时候,经常需要对代码的安全性进行检查,例如:指针是否为空? 被除数是否为 0? 函数调用的返回结果是否有效? 打开一个文件是否成功?对这一类的边界条件进行检查的手段,一般都是使用 if 或者 assert 断言,无论使用哪一个,都可以达到检查的目的。那么是否就意味着:这两者可以随便使用,想起来哪个就用哪个?这篇小短文我们就来掰扯掰扯:在不同的场景下,到底是应该用 if,还是应该使用 assert 断言?写这篇文章的时候,我想起了孔乙己老先生的那个问题:茴香

2022-03-31 13:12:59 132

原创 mac下用qemu编译执行linux/kernel

主要参考使用 qemu 搭建内核开发环境 - 离小木 - 博客园主要涉及以下几个点:virtualbox6.1下运行ubuntu server 18.04,然后打开ssh server,用于mac主机访问。否则virtualbox那个屏幕不能自动缩放真是辣眼睛。因为需要一个linux来编译kernel,直接在mac上编译估计没那么容易。sudo apt-get install openssh-server主机配置port forwarding。在虚拟机上下载linux k.

2022-01-03 15:48:44 1709 7

原创 python手写一个Enum

因为目标机器没有enum模块,无法import Enum。但是代码里面用到了开发机器上的Enum。没办法只能手写一个代替一下。# It mainly implements three enum features# 1. Return a enumhand class, has the key/enum class data: Task.DIEID# 2. The enumhand class instance has enum class data according key: Task('D

2021-12-26 14:29:32 410

原创 expect debug

可以帮助调试的方法:#!/usr/bin/expect -d exp_internal strace/trace了解一下expect_out数组,expect_out数组专用于expect命令,里面的元素包括:expect_out(buffer)、expect_out(X,string)、expect_out(X,start)、expect_out(X,end)、expect_out(spawn_id)上面的X字符表示从0-9的整数,具体如下expect_out(buffer)是一个看

2021-12-01 17:52:03 355

原创 expect怎么退出telnet

自己网上google了半天,网上各种乱七八糟的答案,最后问了同事。。。send -i $::telnetID "\035"

2021-11-30 20:59:37 210

原创 什么是link flap

Diagnose Link Flapping on a Switch - Ciscolink flap也叫port flap,指交换机的物理接口每秒持续3次以上的up和down。持续时间超过10秒钟。The common cause is usually related to bad, unsupported, or non-standard cable or Small Form-Factor Pluggable (SFP) or related to other link synchroniza

2021-11-29 13:43:39 3151

原创 awk ‘{print $NF}‘

NF是number of field的意思

2021-11-27 15:03:03 5951

转载 Linux总线设备驱动框架的理解

以下内容源于微信公众号:嵌入式企鹅圈。有格式内容上的修改,如有侵权,请告知删除。Linux的设备驱动框架,即某类设备对应的驱动的框架。这里是“Linux总线设备驱动框架”,应该这样理解,(Linux的总线设备)驱动框架,即总线式设备对应的驱动的框架。(个人理解)1、总线总线代表着同类设备需要共同遵守的工作时序,不同的总线对于物理电平的要求是不一样的,对于每个比特的电平维持宽度也是不一样,而总线上传递的命令也会有自己的格式约束。 如I2C总线、USB总线、PCI总线等等。

2021-11-09 12:53:57 378

原创 undefined reference to `google::SetCommandLineOption[abi:cxx11](char const*, char const*)‘

在新环境下build应用的时候遇到了这个问题查阅相关资料之后https://www.cnblogs.com/jiu0821/p/9780313.htmlhttps://stackoverflow.com/questions/30124264/undefined-reference-to-googleprotobufinternalempty-string-abicxx11https://gcc.gnu.org/gcc-5/changes.html#libstdcxxhttps://sta

2021-09-03 15:50:23 1199

原创 compiler-gcc.h:104:30: fatal error: linux/compiler-gcc5.h: No such file or directory

这是kernel module编译的时候遇到的gcc兼容性问题可以通过#pragram message去打印一些预编译信息。(遇到问题,解决问题的关键是理性的观察分析问题,提出假设和尝试解决)In file included from include/linux/compiler.h:48:0, from include/linux/stddef.h:4, from include/linux/posix_types.h:4,...

2021-09-03 09:38:37 704

翻译 ANLT是什么?

参考自https://xenanetworks.com/whitepaper/autoneg-link-training/ANLT其实由两部分组成,AN(auto-negotiation)和LT(link training)。在通信开始之前,通信两端必须具备匹配的配置,这个配置可以是固定的

2021-08-29 17:43:33 2135

原创 do {...} while(0)

https://stackoverflow.com/questions/154136/why-use-apparently-meaningless-do-while-and-if-else-statements-in-macros用do {...} while(0),去做宏定义可以提高代码的健壮性。#define MY_MACRO(x) \do

2021-08-23 20:26:37 56

翻译 思科Nexus 3100平台和9000系列交换机IEEE 1588 PTP

你会学到什么?本文档描述怎样启用一个高精度时间解决方案。这个方案通过在思科Nexus3100平台交换机和Nexus9000系列交换机上面利用IEEE1588-2008(PTP)版本2(PTPv2)可以给现在的数据中心网络和金融交易应用提供亚微妙精度的时间。PTP是一个可以给包交换网络提供纳秒精度的分布式时间同步协议。本文档解释现在的网络和应用所面对的挑战以及为什么我们需要PTP来提供亚微妙精度的时间,以及PTP这个协议是怎么工作的。本文档解释了PTP概念并且比较了硬件和软件时间戳。本文档也阐述了Ne

2021-08-18 08:28:42 2099

原创 交换机datapath硬件结构

Forwarding feature ... e.g. vxlan/vlan/PTP/802.3Qbb... asic MAC asic PCS asic PMA asic serdes asic/phy PMA phy PCS phy MAC phy MACsec phy 1588 PTP phy MAC phy PCS phy PMA phy

2021-08-13 17:15:35 138

原创 tcl regexp

TOR1-FSTN::[29] set foo "haha heihei hehe"haha heihei heheTOR1-FSTN::[29] regexp -all -inline {\S+} $foohaha heihei heheTOR1-FSTN::[29] regexp -all -inline {\S} $foo h a h a h e i h e i h e h eTOR1-FSTN::[29] regexp -all -inline {\S+} $foohaha heih.

2021-08-05 13:19:34 1565

翻译 确保数据写到磁盘上

翻译自:https://lwn.net/Articles/457667/在一个完美的世界,没有操作系统崩溃,停电或者磁盘故障,程序员不需要为这些临界状况而担心。不幸的是,这些错误出现的可能性比我们期待的要常见的多。这个文档的目的是描述数据从应用到存储走过的路径,主要关注数据缓存,然后提供一个最佳的实践方式来确保数据可以保存到稳定的存储上面,从而保证在不良事件发生的时候数据不在路径上丢失。我们主要关心C语言,尽管所有提到的系统调用应该可以相当简单的翻译成其它语言。I/O缓存为了从数据完整性的角度进

2021-07-28 10:03:35 325

原创 linux 无buffer输出

stdbuf -o0 -e0 script -c "python hehe.py" | tee -a /diag/logs/haha.log

2021-07-20 16:36:55 174

单元测试培训总结,总结一下,以后可能可以用

单元测试培训总结,总结一下,以后可能可以用

2024-04-06

run-shell with unix socket

run-shell with unix socket

2023-04-18

synce introduction

synce introduction

2023-04-18

ptp spec 1588

ptp spec 1588

2023-04-11

pcie4.0spec

pcie4.0spec

2023-03-23

svf spec for jtag ieee1149.1

svf spec for jtag ieee1149.1

2023-02-03

清华大学第五版《数值分析》课后答案

使用清华大学第五版《数值分析》学习计算方法课程时必不可少的辅导书。

2015-10-11

Data Clustering: 50years beyond kmeans 翻译

Data Clustering: 50years beyond kmeans 是聚类领域内一篇非常优秀的综述文章。对聚类的问题有一个很好的介绍。非常适合入门。现提供本人的翻译。

2015-04-18

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除