摘要:
本系列参考 《圈圈教你玩USB》、《Linux那些事儿之我是USB》 协议文档:https://www.usb.org/document-library/usb-20-specification usb_20_20190524/usb_20.pdf 调试工具:Beagle USB 480 逻辑分析仪 阅读全文
摘要:
本系列参考 《圈圈教你玩USB》、《Linux那些事儿之我是USB》 协议文档:https://www.usb.org/document-library/usb-20-specification usb_20_20190524/usb_20.pdf 调试工具:Beagle USB 480 逻辑分析仪 阅读全文
摘要:
本系列参考 《圈圈教你玩USB》、《Linux那些事儿之我是USB》 协议文档:https://www.usb.org/document-library/usb-20-specification usb_20_20190524/usb_20.pdf 调试工具:Beagle USB 480 逻辑分析仪 阅读全文
摘要:
只罗列增加取走消息: 阅读全文
摘要:
目前kernel的kfifo根据版本有两种形式, 早期的函数形式和现在的宏定义形式 1. 早期的(linux-3.0.56/kernel/kfifo.c) 感兴趣读者可以自己看, 源码如下: /* * A generic kernel FIFO implementation * * Copyrigh 阅读全文
摘要:
一、硬件知识 1. 摄像头硬件结构和工作原理,如图1&图2 外部光线穿过lens镜头,经过红外滤光片后光学图像投射到传感器上,然后光学图像被转换成电信号,电信号再经过模数转换变为数字信号,数字信号经过DSP加工处理, 再被送到接收端进行处理,最终转换成屏幕上能够看到的图像。 其中: 1)滤光片作用: 阅读全文
摘要:
在调试驱动程序时, 经常要设置主控器寄存器参数或者运行时读取寄存器值debug问题, 每次修改驱动读取寄存器值都要编译一次驱动再insmod, 十分不方便, 哪怕驱动提供一个节点 如dev/mem给应用程序读取, 还要编写应用程序open(), mmap(), read(), write() 听着都 阅读全文
摘要:
请先参考先前博文: Linux最小系统移植之早期打印CONFIG_DEBUG_LL , 因为eraly_printk其实就是对printch()封装的 一、 必要选项(在上面链接选中的前提下再新增CONFIG_EARLY_PRINTK): 二、源码分析 先贴出early_printk.c源码: 以及 阅读全文
摘要:
一、几个关键宏定义 CONFIG_DEBUG_LL、 CONFIG_DEBUG_LL_INCLUDE 容我慢慢道来, 首先要使能早期打印, menuconfig必须选中CONFIG_DEBUG_LL, 我们再慢慢梳理其他所以宏及代码 我们选中“Kernel low-level debugging f 阅读全文