- 博客(61)
- 资源 (6)
- 收藏
- 关注

原创 irq_set_chained_handler_and_data和devm_request_irq区别
irq_set_chained_handler_and_data和devm_request_irq区别
2023-09-18 10:49:51
1119

原创 usb设备控制器之uvc数据传输底层实现
只需要知道一点 usb设备控制器处理的是一个trb结构体指针,控制器自己分析里面数据启动传输在ioctl qbuf的时候调用到__dwc3_gadget_ep_queue—>usb_gadget_map_requestint usb_gadget_map_request_by_dev(struct device *dev, struct usb_request *req, int is_in){ if (req->length == 0) return 0; if (req
2021-07-01 15:22:37
2375
3

原创 usb设备驱动之uvc设备
usb设备驱动之uvc设备声明:涉及相关内容包括v4l2框架/drivers/media/v4l2-core/,usb设备控制器驱动/drivers/usb/dwc3/,usb composite驱动(webcam)/drivers/usb/gadget目录下基本上文件都用了,包括function目录与v4l2相关,/drivers/usb/gadget/legacy/webcam.c通过composite.c注册uvc驱动,core等。1、usb设备驱动控制器注册驱动路径:/drivers/usb/
2021-06-29 15:26:06
1702
原创 linux应用睡眠之nanosleep
nanosleep()则是Linux中的系统调用,它是使用定时器来实现的,该调用使调用进程睡眠,并往定时器队列上加入一个timer_list型定时器,time_list结构里包括唤醒时间以及唤醒后执行的函数,通过nanosleep()加入的定时器的执行函数仅仅完成唤醒当前进程的功能。Linux中并没有提供系统调用sleep(),sleep()是在库函数中实现的,它是通过调用alarm()来设定报警时间,调用sigsuspend()将进程挂起在信号SIGALARM上。select的精度是微妙,精确。
2023-11-24 15:08:01
1196
原创 一次性 strip文件系统的库和可执行文件
find rootfs/ -type f -exec sh -c “file {} | grep -Pi ‘: elf (32|64)-bit’ > /dev/null” ; -print | xargs -n1 arm-linux-nt9856x-strip
2023-11-17 10:35:15
99
1
原创 glibc内存泄漏
某些应用程序频繁调用malloc函数申请内存空间,且申请空间的大小差别比较大,使用完成后通过free函数释放内存空间,但内存空间依然缓存在glibc中,没有归还操作系统,导致系统内存不足。
2023-11-02 10:13:19
237
原创 I2c控制器数据收发函数举例
i2c_transfer–>__i2c_transfer–>master_xfer(i2c控制器驱动初始化的时候注册的函数)2、写数据和读数据都是通过master_xfer该函数设置中断标志位,使能中断,然后注册的中断处理函数会读写数据。1、写数据,master_xfer函数直接写寄存器发送数据,读数据,配置寄存器使能中断,在中断处理函数中接收数据。各个芯片的实现不一样,大致分为两种。以下是第二种方式的举例说明。
2023-10-28 15:38:39
236
原创 uart串口协议
并且由于数据是在传输线上定时的,不同的设备之间可能时钟存在偏差,偏差的积累可能会导致数据位的传输错误,所以数据定时发出停止位可以有效校正时间的偏差,停止位越多,校正的效果越好。2)当有数据发送时,先发送起始位,即将TxD拉低并维持1位时间,接收方在检测到起始位下降沿,等待1.5位后开始一位一位检测数据。3)发送数据,UART数据一帧可以是5,6,7,8位等,一般是8bit,一个字节。数据位:数据位的宽度可能有5,6,7,8位,一般8位会用的比较广泛(跟ACSII码有关,一个ASCII字符为8bit)。
2023-10-28 11:28:48
86
原创 spi协议简化说明
spi通信是全双工SPI接口一般使用四条信号线通信:SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)MISO: 主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。MOSI: 主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。SCLK:串行时钟信号,由主设备产生。CS/SS:从设备片选信号,由主设备控制。它的功能是用来作为“片选引脚”,也就是选择指定的从设备,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。
2023-10-28 11:08:37
99
原创 spi_async 与spi_sync区别
spi_async 异步:使用spi_async()函数,它也可以用于原子上下文spi_sync 同步:使用 spi_sync函数,它可能处于睡眠状态,不用在中断上下文中,借助完成量机制,完成spi的同步通信操作(主要借助完成量的complete、wait_for_completion这两个接口,休眠不能用在中断上下文,中断或原子上下文可以用try_wait_for_completion()和completion_done()都可以在IRQ或原子上下文中安全调用)
2023-10-26 10:33:26
1038
Hi3516DV300 专业�-Smart IP Camera SoC 用户指南+HiMPP媒体处理软件 V4.0 开发参考
2023-06-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人