Linux 高性能服务器编程 学习笔记

TCP/IP 协议族 体系结构及主要协议 ARP 用于 IP 转化为物理地址;RARP 用于物理地址转 IP,适合无盘网络,只能通过自身网卡获取自身IP。 ICMP 格式: 0-7 类型,8-15 代码,16-31 校验和。 ICMP 两大类,一类是回应网络错误,一类是查询报文,比如 pin...

kernel 延时

参考: udelay、mdelay、ndelay、msleep使用比较说明 https://www.cnblogs.com/Ph-one/p/4678361.html arm体系下的cpu_relax()函数疑惑 http://www.wowotech.net/forum/viewtopi...

jni 使用 c++ 和 c 不同的格式

jni 如果直接把源文件从 c 改为 cpp, 那么会报错 base operand of '->' has non-pointer type 'JNIEnv {aka _JNIEnv}'和Method 'GetStringUTFChars' could not be resolved ...

100ask 韦东山 驱动大全 子系统 v4l2 学习笔记

总结 数据采集流程 设置好长宽之后,摄像头可能不支持,需要检查长宽参数是否被修改。 app 根据自身处理能力的快慢,指定申请的 buffer 数量。 一般使用链表的形式来组织 buffer,app 从 out 链表中拿数据,拿完之后,放入 in 链表;驱动从 in 链表中拿到 buffer,...

100ask 韦东山 驱动大全 子系统 usb 学习笔记

总结 usb 框架 usb 每一级都可以是 hub 或者 设备,但是 hub 最多6级,第7级只能是设备。 app 可以通过两种方法来访问硬件 app -> usb device driver -> usb host driver -> host 硬件 -> devi...

opencv c 学习笔记

1. createTrackbar是Opencv中的API,其可在显示图像的窗口中快速创建一个滑动控件,用于手动调节阈值,具有非常直观的效果。具体定义如下: CV_EXPORTS int createTrackbar(const string& trackbarname, co...

100ask 韦东山 驱动大全 子系统 spi 学习笔记

总结 整体 spi 分为 soc 上面的 spi master 和 外接的 spi device. 在设备树中,spi 节点本身是 spi master, 子节点就是对应的 spi device. 加载驱动的时候,根据 compitble 识别到 spi master, 并作为 platfor...

100ask 韦东山 驱动大全 子系统 pci 学习笔记

总结 pci 和 pcie 都是对地址进行转换,转换情况需要上电后,写到配置寄存器中。一般这种中间设备成为 pci 桥,相关驱动是 pci_host. pci 通过地址线的方式,来选通桥后的设备。 pcie桥本身内部端口有地址,端口后只接一个设备,选通的其实是端口。 针对通过本级 pci/pc...

100ask 韦东山 驱动大全 子系统 uart 学习笔记

总结 分层 主要分为三层, 最下面的厂商硬件相关驱动 drivers\tty\serial\imx.c 中间的行规层 drivers\tty\n_tty.c, 用于决定换行等特殊字符是否生效 上层 tty drivers\tty\tty_io.c 结构体 uart 驱动中关键结构体 ua...

100ask 韦东山 驱动大全 子系统 interrupt 学习笔记

异常与中断的概念及处理流程 异常向量表 _start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _d...