自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

weixin_44458100的博客

记录嵌入式Linux知识

  • 博客(73)
  • 收藏
  • 关注

原创 禾赛科技社招面经

内存裁剪,板卡里没有用到的外设去掉,然后驱动比较耗时的模块以模块方式进行加载。内存裁剪,板卡里没有用到的外设去掉,然后驱动比较耗时的模块以模块方式进行加载。答:自旋锁用在中断上下文中,适合于极短的临界区,CPU开销小,不可以阻塞。9、IO读写性能低,可能是什么原因?互斥锁用在进程上下文中,适用于较长的临界区,CPU开销大,可以阻塞。6、tasklet是进程上下文还是中断上下文?4、如果中断函数线程化,又该用什么锁?10、说下概率性死机问题,怎么解决的。5、你解决过的最难的问题?3、自旋锁和互斥锁的区别。

2025-04-03 22:36:24 159

原创 寒武纪社招面经

4、打PREEMPT_RT补丁后,需要验证哪些地方?锁的使用上有什么差异点?3、Palladium Z1上做验证,跑的什么系统?2、说下SOC原型验证的主要工作内容?3、为什么给Linux打入PREEMPT_RT补丁?6、CPU的ECC功能你是怎么验证的?7、L2 Prefetcher是怎么验证的?8、memtest测试主要验证内存哪些方面。2、硅前硅后需要做的验证工作?9、安全启动了解吗?9、说一个解决过最难的问题。6、PCIE级联做过吗。4、说下DMA的验证。8、说下加解密驱动?

2025-04-03 09:35:10 8

原创 瑞芯微社招面试

5.I2C的占空比为什么是30%?I2C协议对占空比的要求?2.SPI传输速率高时,为什么CPU占用率会高?6.系统崩溃问题有处理过嘛?比如内存泄露之类的?3.dd命令和FIO测试读写速率,有什么区别?5.中断是怎么处理的?我面试的是瑞芯微的Linux驱动工程师岗位。6.DMA传输过程如何解决一致性问题?4.UART的不定长接收是怎么做的?7.说下概率性死机问题,你是解决的?8.对以后的发展路线有什么想法?3.UART的DMA传输过程?4.说一下处理过的死锁案例?7.RTOS这块的工作内容?

2025-03-24 09:06:00 65

原创 晶晨半导体社招

5、Cache是怎么知道,现在的数据脏了,需要刷Cache。4、如果dma内存带Cache,怎么处理一致性问题?3、驱动中有没有用到DMA,DMA你是怎么分配的。6、说下你遇到过比较难得问题,怎么解决的?8、说下双系统是怎么做的,双系统启动流程?2、Linux驱动分配内存用什么函数。分享一个晶晨半导体社招面试内容。9、双系统之间怎么通信?7、uboot启动流程。

2025-03-22 10:15:33 21

原创 紫光展锐社招

今天面试分享的是紫光展锐的高级BSP驱动软件工程师社招面试内容。

2025-03-21 22:22:07 131

原创 小鹏汽车社招面经

5. CMA分配的内存是哪种属性,在cpu和dma之间共享的处理怎么保证一致性?分享的是小鹏社招面的是1~3年的Linux内核稳定性工程师。2.内存泄露问题了解多少?6. 对异常重启类问题,有多少了解?8. 说一下你遇到过的死锁案例?3.什么是Cache一致性?4.说下你做过的一些优化?7. 简单说下什么是死锁?9. .有什么想问的。

2025-03-21 22:08:53 24

原创 Linux内核基础 | 时间函数的学习使用

是一个无符号长整型变量,当jiffies的值超过它的最大存放范围后就会发生溢出, 对于32位无符号长整型,最大取值为(2^32)-1,即429496795。两个函数的来计算时间耗时的使用,如果有疑问的话可以在评论区留言,对本篇文章学废的同学,可以一键三连!是 Linux 内核中的一个数据类型,用于表示高精度的时间值。是 Linux 内核中用于获取高精度ns为单位时间戳的函数,它通常用于实时性要求较高的情境。代表kernel的系统时钟每秒的产生的中断次数,例如。则是编译内核时自动生成的,可以从。

2025-03-17 11:08:15 889

原创 海康汽车社招面试篇

技术点问的挺多的,考察基础知识以及临场解决问题的能力,定期的面试即可以查漏巩固自身的知识库,也可以查看行业竞争力水平,如果对本篇文章学废的同学,可以一键三连!的问题是模组厂协助解决的还是通过自己解决的多。如何验证有输出数据,有没有用过串口下进行验证,19、之前工作有没有压力大的时候,如何处理。侧没有回复,该如何定位是模组问题还是。打流带宽上不去的问题,打流工具用的哪个。上遇到过的问题,并如何解决的。侧的问题,比如偶现出某个具体。有遇到什么问题吗,如何解决的。的驱动用的哪个,是否了解。需要用到哪些寄存器,

2025-02-19 10:42:04 82

原创 在OK3588开发板部署基于Ollama的Deepseek-r1模型

模型,对本篇文章学废的同学,可以一键三连!欢迎关注公众号[Linux随笔录],不定期分享Linux小知识。的下载速度很快,安装也很快。安装完还提示我说,我的电脑木有独显,只能用CUP模式。剩余内存捉襟见肘,先用1.5B的试试看吧。1.5B的模型大概1.1G,复制指令黏贴到命令行里,就可以自动开始下载了。由于OK3588开发板内存是8G,剩余内存不到3G(可以用。编译工具链:aarch64-linux-gnu-选择Linux,给出如上图方框所示的一条指令。在RK3588上的部署推理就测试完成了。

2025-02-11 10:08:02 506

原创 海康萤石二次面试

4、说下cfg80211,mac80211,nl80211的关系。5、说下WiFi扫描的过程从应用到底层,代码有没有跟过,说下流程。9、BLE有没有接触过,项目中的A2DP音频采样速率是多少k。3、无线终端连接两个不同距离的AP是怎么知道先连接哪个AP。6、说下WIFI发包收包的流程,代码有没有跟过,说下流程。11、调试WIFI过程中遇到什么问题,怎么解决的。8、SD卡和EMMC是走的是同一套驱动。10、LCM屏幕遇到什么问题,怎么排查。12、你对我有什么想问的。2、WIFI漫游的过程。

2025-02-10 18:05:54 73

原创 海康萤石社招面试

15、内存映射的原理,用户地址空间和内核地址空间是如何,用户空间和内核空间的通信方式有哪些。10、内核卡死,你有了解调试手段,如果没有栈回溯怎么调试。13、构建文件系统方式用过哪些,yocto用过吗。8、BT的协议栈了解吗,A2DP的过程是咋样。2、TP中中断线程化你怎么理解。14、内核中你熟悉哪些子系统。3、你最熟悉哪个模块外设。4、STA连接AP的流程。6、以太网的收发包的流程。7、双VLAN的作用是啥。17、你对我有什么想问的。5、WIFI漫游的流程。16、进程调度的流程。

2025-02-10 18:04:07 81

原创 海康汽车电子社招面试

4、HDMI IN用得什么芯片,HDMI OUT端用得什么芯片,HDMI IN是用什么接口传输到CPU上。海康汽车电子得面试岗位Bsp一面,线上面试时长20~30min。2、Camera项目主要做了哪些工作,以及遇到哪些问题。6、HDMI IN兼容新分辨率主要做哪些内容。5、HDMI IN主要兼容哪些分辨率。9、进程休眠切换是怎么进行得。3、帧率上不去主要如何排查。8、HDMI用什么版本。10、你有什么想问我得。7、EDID多少字节。

2025-02-10 17:47:05 50

原创 浙江大华社招面试

下面是我之前社招面试大华时,面得是嵌入式Linux系统工程师,下面是我初试所被问到的问题分享给大家。6、音视频相关的产品是做IPC还是什么,除了Camera还有调过哪些音视频的驱动。4、每个LINE的data rate 是多少 ,单位是什么。2、SPI和I2C比谁的传输速度快,一般能到多少M。1、调试I2C不通的话,一般是什么问题怎么排查。遇到最难的问题印象深刻是哪个问题如何解决的。1、SPI的通信方式是全双工还是半双工。3、产品用的WIFI模式是什么。uboot引导内核流程的是什么。

2025-02-10 17:45:33 99

原创 零跑汽车校招面试

8、i2c,spi在项目中有使用过吗?i2c模拟的读写时序如何进行的。腾讯会议视频面试,面试内容bsp软件开发,时长40~60分钟。9、项目中遇到哪些疑难问题,是如何自己创新性的去解决的。4、硬中断和软中断的区别,软中断有哪些表现形式。5、内核中使用sleep和delay的区别。7、用户空间和内核空间交互方式有哪些。2、有在项目自己写过字符设备驱动吗。6、如何区分使用信号量和自旋锁。本篇是零跑汽车校招面试内容。10、你有啥对我想问的。3、中断和轮询的区别。

2025-02-10 17:43:39 61

原创 影石insta360社招面试

8、 spi master和mcu的spi从机通信,master怎么知道需要发多少数据?怎么知道什么时候开始发?这篇博客分享了影石insta360公司社招面试的详细过程。5、gadget如果被枚举,会在那一层处理。6、你熟悉通信接口吗?4、你讲讲usb gadget驱动。1、你说下中断上半部和中断下半部。3、你熟悉usb驱动吗?7、你用SPI驱动写过什么?2、中断中为什么不可以睡眠。

2025-02-10 17:38:37 140

原创 嵌入式系统采用linux系统,怎样保证实时性?

进程3开始运行,因为它的优先级比进程1高,所以它可以抢占进程1,总的来说:就是创建一个具有高优先级(99)和 FIFO 策略的实时线程,循环执行 1,000,000 次,每次执行之间的间隔为 25 毫秒,并将结果写入文件。总的来说:就是创建一个具有高优先级(99)和 FIFO 策略的实时线程,循环执行 1,000,000 次,每次执行之间的间隔为 25 毫秒,并将结果写入文件。在上面的例子中,把进程1的优先级临时提升到进程2的优先级,防止进程3抢占进程1,使进程1尽快执行完临界区,减少进程2的等待时间。

2025-02-10 10:31:54 894

原创 Linux驱动基础 | 高分辨率定时器的使用

本文学习到了在Linux内核中高分辨率定时器的使用,如果有疑问的话可以在评论区留言,对本篇文章学废的同学,可以一键三连!硬中断到期模式的高精度定时器,到期的时候在时钟中断处理程序里面执行定时器回调函数。指向要初始化的高分辨率定时器结构的指针。可以看到高分辨率定时器的循环定时1s钟的每次都是精准的,和内核里的普通定时器还是有区别的,普通定时器1s定时有误差的。在实时内核中,软中断由软中断线程执行,或者在进程开启软中断的时候执行。类型的结构,该结构表示由给定的秒和纳秒组成的时间值。

2025-02-07 16:12:03 1070

原创 Linux内核性能分析 | perf 的使用

不过不能够详细分析 CPU 性能、内存使用,采样等,那有没有什么工具可以全面分析CPU性能,内存,答案是有的,Linux内核自带了一个性能分析工具。火焰图就是看顶层的哪个函数占据的宽度最大。,能够进行函数级与指令级的热点查找, 它不但可以分析指定应用程序的性能问题,也可以用来分析内核的性能问题,当然也可以同时分析应用代码和内核,从而全面理解应用程序中的性能瓶颈。[.]:代表该调用属于用户态,若自己监控的进程为用户态进程,那么这些即主要为用户态的cpu-clock占用的数值,[k]代表属于内核态的调用。

2025-01-17 10:11:47 1000

原创 Linux内核调试追踪 | ftrace的使用(二)

的使用,如果有疑问的话可以在评论区留言,对本篇文章学废的同学,可以一键三连!欢迎关注公众号[Linux随笔录],不定期分享Linux小知识。编译工具链:aarch64-linux-gnu-从日志可以看出CPU6运行serial进程抓取到。从日志可以看出CPU6运行serial进程抓取到。从日志可以看出CPU6运行serial进程抓取到。从日志可以看出CPU6运行serial进程抓取到。,这步确定操作的目录是可读写目录否则无法生成。函数整个流程耗时1161.708 us。函数整个流程耗时66.500us。

2025-01-09 09:57:53 784

原创 Linux内核调试追踪 | ftrace的使用(一)

是 Linux 内核中的一个功能强大的跟踪框架,用于分析和调试内核性能。可以做很多事情,我们最常用的功能有观察指定函数被执行, 观察指定函数调用关系,以及查看每个函数执行时耗时的时间。的使用,如果有疑问的话可以在评论区留言,对本篇文章学废的同学,可以一键三连!看起来挺多的,下面我只讲常用的节点信息,大家想了解更多可以看下README文件,里面详解了各个属性文件的含义。提供了一个灵活的接口,可以通过它来启用或禁用跟踪功能,收集和查看跟踪数据。显示当前跟踪的状态,包括跟踪的事件和相关信息。

2025-01-07 15:04:01 1008

原创 Linux内核基础 | 时间函数的学习使用

是一个无符号长整型变量,当jiffies的值超过它的最大存放范围后就会发生溢出, 对于32位无符号长整型,最大取值为(2^32)-1,即429496795。上一篇有讲到延时函数的使用,https://mp.weixin.qq.com/s/d9GRDudKGJak1oSRv3WmSQ,本篇来聊聊如果想计算某段代码执行要耗费多长时间间隔,内核中有很多时间函数如。两个函数的来计算时间耗时的使用,如果有疑问的话可以在评论区留言,对本篇文章学废的同学,可以一键三连!都是在 Linux 内核中用于表示时间的结构体。

2024-12-31 10:29:32 265

原创 Linux内核休眠唤醒流程

但我们不会一直在使用计算机,当我们短时间不使用计算机时,可以把它置入睡眠或休眠状态,这样可以省电,当我们想使用时还可以快速恢复到可用状态。休眠一方面和睡眠比较像,都保存了系统的状态信息,一方面又和关机比较像,整个系统都断电了。当嵌入式设备要用电池供电的时候就会有电源管理,电源管理就是在不影响电子设备的前提下,尽可能让电子设备省电,一般是移动设备用的场景比较多,本篇知识会用到。,把系统的状态信息保存到内存,内存供电,其他断电,在内核中睡眠也称作。,把系统的状态信息保存到磁盘,系统都断电。

2024-12-27 11:15:52 1192

原创 Linux内核基础 | notifier机制的使用

不过确实是这样的,通知链机制可以算是"订阅者-发布者"的一种,每个子系统都有些这样的机制,比如网卡驱动子系统网卡的事件,或者USB的状态事件或者系统suspend给其他各个子系统进行suspend。原始通知链顾名思义,没有任何保护措施,这类通知链链表的回调,注册或注销没有任何限制,所有的保护机制都需要调用者维护。我们看到原子通知链采用的是自旋锁,通知链元素的回调函数只能在中断/原子上下文中运行,而且不允许阻塞。内核提供了一套宏用来动态初始化各个类型的通知链:原子通知链、可阻塞通知链、原始通知链和。

2024-12-12 10:24:12 1141

原创 Linux内核基础 | netlink的使用

buffer存放接收的数据,len是buffer长度,src_from是数据来源程序IP端口,src_len是src_from长度。把缓冲区buffer中的信息送给制定的IP端口程序,buffer存放将要发送的数据,len是buffer长度,to是要发送数据到的程序IP端口,tolen是to参数长度。也是一种用户空间访问内核空间的方式,它是在内核与用户态之间进行双向通信,在有线无线网络中用的比较多,所以本篇探讨下。的测试分为两部分,一部分是内核提供接收用户空间消息,并响应发送功能;另一部分是用户空间发送。

2024-12-09 19:52:03 660

原创 我的Linux驱动学习路线

驱动和内核紧密联系,你会看那些资深的驱动工程师往往对内核子系统有比较了解,如内存优化,死机问题都是信手拈来 ,所以深入驱动避免不了接触内核子系统,所以各位还想更深入的学习Linux内核各个子系统,像内存子系统,进程子系统,网络子系统,中断子系统,进程管理等的推荐笨叔叔的奔跑吧Linux,王利涛的嵌入式自我养成的教程。

2024-12-09 14:40:06 1011

原创 Linux内存 | valgrind工具检查内存泄漏问题

内存泄漏不知道如何检查的看过来

2024-12-05 16:06:38 571

原创 Linux驱动基础 | 延时函数的使用

是设置当前进程设置不可中断状态, 就是让进程睡够指定时间才能唤醒,睡眠过程不可被中断(即UNINTERRUPTIBLE),意思不会被信号打断提前唤醒,然后。是忙等待函数,在延迟过程中无法运行其他任务.这个延迟的时间是准确的,所以适用于精准延时的时序场景。都是内核的ms级延时函数使用时有何区别,面试题经常会被问到,不会的同学看过来。,所以本篇记录下获取内核延时所用到的API使用,用的比较多的。可以从定义看到,CPU在做忙等待,延时效果是精准延时。是休眠函数,它不涉及忙等待.时间是不准确的,比如。

2024-11-27 11:20:40 673

原创 slabinfo工具分析内存问题

我们知道Linux内核中,分配小块内存块是用slab/slub分配器的kmalloc()/kfree()这对内存分配释放的函数,同时slab/slub分配器提供一个用于内存检测的工具slabinfo,方便在产品开发阶段进行内存检查。如果产品中有内存访问错误,向上述介绍的几种内存访问错误,那么将存在隐患,就像埋在产品的定时炸弹,在用户使用的几天后莫名其妙的死机。下面的示例用来模拟一次越界访问的场景,原来分配了32字节,但是memset()要越界访问200字节。下面的示例用来模拟一次访问已经释放内存的场景。

2024-09-29 17:29:16 528

原创 Linux内核调试 | BUG_ON与WARN_ON与dump_stack的使用

当调用这两个宏的时候,它们会引发 OOPS,导致栈的回溯和错误消息的打印,方便我们底层开发者查看日志进行定位调试问题,所以也是我们要掌握的调试内容,本篇以做实验为目的来给大家分享下。这种错误通常是致命的,并且无法通过简单的错误处理机制来解决。测试结果,可以看到触发oops引发panic,有栈回溯及错误信息的打印。前几篇我们讲了下Linux内核调试的文章,没看的同学可以看下。后,内核会停止运行,这会影响整个系统的稳定性,必须慎重使用。,当括号中的断言条件为真时,内核会抛出栈回溯,但是不会。

2024-09-13 14:30:23 1111

原创 Linux下信号量的学习使用

还是举个电话亭的例子: 现在小区楼下公共电话亭,一次肯定只能进去一个人打电话,现在有A,B两个人要打电话,此时电话亭里面A正在打电话,相当于获取到了信号量.B要等A打完电话后才能进去打电话,B要么在电话亭门口一直等着A出来,这个时候相当于自旋锁。

2024-09-11 15:12:28 138

原创 Linux内核调试 | 分析Oops错误

1:'G'如果所有装载的模块都有GPL或相容的许可证,'P'如果装载了任何的专有模块。可以看到oops_test模块里的init_module的汇编情况,第24~28字节的指令用于把0赋值给x0寄存器,然后往x0寄存器写入0,wzr是一种特殊寄存器,值为0,所以这里发生写空指针错误。CPU后的数字是错误所在逻辑CPU的编号,这里是CPU0,表示CPU0发生的错误,PID:1458表示正在运行的进程ID1458,内核污染原因(G),内核版本( 5.10.66-rt53)。如果涉及到了某项原因,就会显示为。

2024-09-11 11:52:52 1713

原创 Linux驱动基础 | sys文件系统

本篇我们学会了常用的sysfs节点信息以及实践操作sysfs节点例子,本篇学会的同学可以一键支持三连下,欢迎关注公众号[Linux随笔录],持续分享干货!sysfs 与 proc 相比有很多优点, sysfs 的设计原则是一个属性文件只做一件事情, sysfs 属性文件一般只有一个值,直接读取或写入。sysfs文件系统是一个类似于proc文件系统的特殊文件系统,将内核中的设备和驱动程序信息以文件的形式呈现给用户空间,专注于设备与驱动的细节。注意,有些sysfs文件是只读的,不能进行写操作。

2024-09-03 11:19:27 666

原创 Linux驱动基础 | proc文件系统

需求:尝试自己写一个内核模块,在/proc中创建名为"test"的目录,在"test"目录下创建两个节点,分别是"read"和"write"节点。proc 文件系统的挂载点是 /proc,它可以获取进程的有用信息、系统的有用信息等,可以查看具体某个进程号的相关信息,也可以查看系统的信息,比如CPU,内存信息,中断信息,设备映射状态信息,内核日志信息等。proc 文件系统提供了一些内核中各个子系统的信息,所以procfs中的文件通常是只读的,只在一些特殊情况下允许写入,例如禁用nmi_watchdog。

2024-09-03 11:18:38 1146

原创 Linux内核调试 | 动态输出的使用

而动态输出可以在不需要重新编译内核的情况下,方便的打印出内核的 debug 信息。内核代码里大量使用了pr_debug()/pr_devel()来控制日志输出,其实这些函数本质还是通过printk进行打印的,所以本篇来讲解动态输出的使用,上篇没看printk的使用需要看完再看本篇内容。上面是打开动态输出语句的例子,除了能输出pr_debug()/dev_dbg()函数中定义的输出语句外,还能叠加输出的额外信息,例如函数名、行号、模块名和线程ID等,就不一一列举了,感兴趣的同学可以试下。

2024-08-27 15:07:46 728

原创 Linux内核调试 | printk的使用

你会看到loglevel=x,修改的是控制台串口日志打印等级,但是实际在开发板系统上的bootargs添加loglevel参数,cat /proc/sys/kernel/printk节点参数是不行的,不知道为啥有知道的大佬可以留言。讲几篇常用内核驱动调试的方法,先从我最常用的printk的使用方法开始讲起, printk在内核源码中用来记录日志信息的函数,方便我们调试追踪代码,只能在内核源码范围内使用。本篇我们学会了四种控制日志级别的设置以及常用的使用方法,如有疑问,可以评论区留言,支持的话一键三连!

2024-08-27 15:06:54 1002

原创 内核常见语法| do...while(0)

在C/C++中,do...while 通常是用来做循环用的,然而我们做循环操作可能用for和while要多一些。这个宏的本意是,当调用DOSOMETHING()时,函数func1()和func2()都会被调用。这就出现了程序逻辑上的问题,因为无论a是否大于0,func2()都会被执行,导致程序出错。这样的代码肯定不是用来做循环,那么do...while(0)的作用是?

2024-06-26 18:23:17 363

原创 Linux下互斥体的学习使用

当多个应用同时打开的话,当第一个应用程序调用驱动正常执行,在执行第二个应用程序再次调用驱动的时候会因为获取不到互斥锁导致应用程序进入休眠等待,直到第一个应用程序运行完释放互斥锁释放驱动后,第二个应用程序就会释放互斥锁从而释放资源,可以继续打开。其实信号量的值设置为1就可以使用信号量进行互斥访问了,虽然信号量也可以实现互斥,但是Linux内核提供了一个比信号量更专业的机制来实现互斥,他就是互斥体-mutex,互斥体相对于信号量要简单轻便一些,且比信号量执行速度更快。当进程持有互斥锁时,进程不可以退出。

2024-06-05 16:07:38 373

原创 内核常见宏定义| module_init 详解必看

module_init驱动如何初始化

2024-06-05 16:07:01 1272

原创 白嫖的在线工具类宝藏网站清单,快点击进来收藏一波

今年开始使用的一款网盘工具,和百度网盘类似,叫奶牛快传,如果公司不让用百度网盘而苦恼的话,这个工具可以完美替代,因为奶牛快传没有下载速度的限制,并且可以支持自定义分享文件的下载次数(需要开会员)。

2024-05-26 10:43:37 701

原创 Linux下自旋锁的学习使用

1、spin_lock和spin_lock_irq的区别是如果临界区发生中断,系统会暂停当前进程运行,转向处理中断,有人会问临界区会不会发生中断,如果调用spin_lock保护临界区的话,答案是一定会发生中断。自旋锁会自动禁止抢占,也就说当线程A得到锁以后会暂时禁止内核抢占,如果线程A在持有锁期间进入了休眠状态,那么线程A会自动放弃CPU使用权,线程B开始运行,线程B也想要获取锁,但是此时线程A持有,而且内核抢占还被禁止了,线程B无法被调度出去,那么线程A就无法运行,锁也就无法释放,好了死锁就发生了。

2024-05-25 10:35:06 435

Bluez协议栈文档代码解析

希望能给学习bluez的蓝牙爱好者一些帮助

2023-06-23

官网下的A2DP协议规范电子书

文档配套协议栈实现进行学习

2023-06-23

空空如也

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

TA关注的人

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