自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

风筝

技术有高低,眼见各不同

  • 博客(147)
  • 资源 (14)
  • 收藏
  • 关注

原创 移植opencv到嵌入式arm详细过程

你好!这里是风筝的博客,欢迎和我一起交流。看了好几篇一直opencv的文章,都是几年前的,而且版本比较旧,对着弄会发现有的地方是和现在是有改动的。所以,2017年末,记录了此次移植过程,移植版本比较新的可以看过来,可以让你少走弯路。 为了这东西,逃了两次云计算的课,都被抓到了。伤,,,,,,废话不多说,开搞: opencv,计算机视觉库。 openCV 2.2以后版本需要使用Cmake生成ma

2017-11-29 16:47:46 42892 110

原创 Android音频子系统(十六)------MTK Audio播放/录音流程

播放:

2023-05-17 18:36:32 1101 3

原创 Android音频子系统(十五)------Audio调试经验

两年前,我初来手机厂,还不会怎么分析log,当时刚从珠海芯片厂出来,遇到问题都是接上串口线,然后自己手动复现问题,然后对着串口查看下打出来的log分析异常。现在都是测试开启反馈工具箱,复现问题然后抓取log,开发就对着大量log(本质还是logcat和dmesg等)查找自己需要的信息。基本通过这些关键词,就可以初步定位解决一些audio的问题了,之后的复杂问题,只能说,道阻且长…针对我目前使用的MTK平台,不过的场景也会打出不同的log,通过这些log可以快速找到问题点。

2023-05-15 22:28:57 2636 4

原创 ALSA子系统(十八)------指纹解锁动画提示声卡顿问题解析

很久没写kernel相关的东西了,主要是来到手机厂之后,大部分还是在Android上,Kernel虽然也有涉及,但毕竟只是有所涉及,主要业务逻辑还是在HAL之上,kernel的修改除了项目bringup,之后基本甚少修改。好,扯了这么一大堆,回归本题,如果出现了underflow,说明写数据不及时,写数据就是通过dsp_process_msg_thread这个线程里面写到DSP的,所以,我们只需要保证这个线程的正常调度运行即可。因为提示音是短音,走的fast通路,buf又小,确实容易出现问题。

2023-05-11 22:12:54 1054

原创 Android音频子系统(十四)------耳机杂音问题解析

这个时候测试有一台机器,是没有这个问题的,我看了下,不是机器问题,是版本问题,正常的机器里面的版本是一个半月前的版本,这说明之前的版本是没有这个问题的,这个问题是后来才有的!所以本质上这题还是写数据超时导致的xrun问题。

2023-05-01 23:16:40 957 8

原创 Android音频子系统(十三)------audio音频测试工具

两个都是测试latency,延时是音频很重要的一个指标,外放延时,数字耳机延时,模拟耳机延时,蓝牙耳机延时,非常影响用户的体验。latency主要看latency.msec即可,关于timestamp.latency,只是时间戳信息,可以不用关注。不过CtsVerifier.apk不是专门的audio的工具,最近发现一个工具挺好用的,专门测试audio的。谷歌有cts测试工具:CtsVerifier.apk,专门做兼容性测试的,其中里面有关于audio的测试。

2023-03-20 16:04:13 1511

原创 Android音频子系统(十二)------抖音直播功耗问题解析

这里是直播场景,走voip fast通路,要求low latency低延时,所以为了保障音频性能要求不出现卡顿,所以垫高了CPU频率。目前我是选择了节省功耗,因为降频只是有音频录音卡顿风险,并不一定会卡顿,但是节省的功耗却是实实在在的。对比机数据,C0(CPU0):1.2g,C1(CPU4):1.1G,C2(CPU7):500m。测试机数据,C0(CPU0):1.6g,C1(CPU4):1.9G,C2(CPU7):1.4g。移动卡纯5G,120HZ,最小亮度,最小音量,开启定位。

2023-02-13 16:24:42 1180 9

原创 Android音频子系统(十一)------耳机返听(耳返)原理实现

耳返,也就是耳机返听,一般用在演唱会直播、手机K歌、KTV等场景。例如在嘈杂的演唱环境里,通过佩戴耳返,歌手能清楚地听到伴奏和自己的声音,来鉴定自己有没有走音。或者打开手机大部分K歌软件都会有耳返功能,实时监听自己的声音,不断调整声音状态,呈现最佳的视听效果。

2022-09-14 17:26:34 5155 1

原创 Android音频子系统(十)------MTK Audio录音流程代码解析

你好!这里是风筝的博客,欢迎和我一起交流。Android framework中的代码每个平台基本都是大同小异,只有Hal上代码才是厂商特制,每个平台都不相同,这里以MTK平台为例,记录下MTK平台Hal audio音频录音代码流程。调用大致流程如下AudioALSAHardwa: openInputStream() AudioALSAStreamManager: openInputStream() AudioALSAStreamIn: AudioALSAStreamIn //new Audi

2022-05-16 21:36:57 5864 4

原创 Android音频子系统(九)------数字耳机功耗问题解析

你好!这里是风筝的博客,欢迎和我一起交流。其实我们知道,在手机里面,除了相机和整机性能,还有一个用户最关键的地方:功耗。功耗一直是用户在意的地方,如果用户用手机发现耗电耗得飞起,那估计在网上能把人喷死。所以这里,抛砖引玉,放一个数字耳机播放音乐功耗高的问题解析,仅供学习参考。背景【前提条件】飞行模式,默认音量,手动息屏【操作步骤】1.手机插入数字耳机,关闭音效,调节到默认媒体音量2.打开音乐播放器,添加《测试专用音乐.mp3》到播放列表3.点击播放歌曲2秒内手动息屏,播放45秒后记录播

2022-04-04 18:57:24 5544 5

原创 Android音频子系统(八)------数字耳机通话无声问题解析

你好!这里是风筝的博客,欢迎和我一起交流。又是一个数字耳机的坑,又被我遇到了,唉。。。测试原话反馈:客观测试,数字耳机通话上行响度不达标。因为我是做手机的嘛,手机场景这么多,直接面向用户的,所以测试非常多,也考虑用户感受,不然如果手机不好用估计要被用户喷死。。。。。这里就分为主观测试和客观测试:主观测试:音频测评工程师就带上数字耳机通话,肉身感受通话音频效果质量。客观测试:把手机放在音频实验室(有一个人头模型),给人工耳挂上耳机,人工嘴挂上耳机mic,用机器来测试。然后实验室里面还有一个伪

2022-03-25 17:59:42 4549 8

原创 Android音频子系统(七)------数字耳机播192KHz音乐卡顿问题解析

你好!这里是风筝的博客,欢迎和我一起交流。之前有分析过一篇卡顿的问题:Android音频子系统(六)------拍照音卡顿问题解析这里再放一篇音频卡顿分析吧,区别于之前,这次是数字耳机播放192KHz音乐场景。复现步骤:1.打开QQ音乐播放192K音乐2.打开允许其他应用播放开关3.进入网易云音乐播放192K音乐4.打开允许其他应用播放开关此时注意听数字耳机,概率性的音乐会突然卡顿一下!找测试要来了log分析,看了下log,卡顿时间:17:54:33.114822 1599 15

2022-03-16 16:12:54 7116 2

原创 Android音频子系统(六)------拍照音卡顿问题解析

你好!这里是风筝的博客,欢迎和我一起交流。自从去年来了手机厂板砖,就好久没有更新了,实在是太忙了。。。。。。现在疫情原因,就居家办公了,抽空整理下最近遇到的一些音频问题,供大家学习参考。测试报了一个拍照音卡顿的问题:【前提条件】【Prerequistes】暗环境【操作步骤】【Operation steps】夜景模式点击拍照【实际结果】【Actual results】拍照声音卡顿emmm,卡顿问题在音频里面老生常谈了,拿到log,之后,打开音频dump文件看了下,主要查看ivdump信号。.

2022-03-14 15:16:53 13385 8

原创 Git邮件向Linux社区提交内核补丁教程

你好!这里是风筝的博客,欢迎和我一起交流。提交代码要下载对应的模块代码分支,例如我是搞音频的,我要提交一个音频补丁,修改文件在sound/soc/目录下,在MAINTAINERS文件里可以查找到仓库链接:SOUND - SOC LAYER / DYNAMIC AUDIO POWER MANAGEMENT (ASoC)M: Liam Girdwood <[email protected]>M: Mark Brown <[email protected]>L: al

2021-06-17 17:19:41 2715 2

原创 Android音频子系统(二)------threadLoop_write数据写入流程

你好!这里是风筝的博客,欢迎和我一起交流。之前的文章:Android音频子系统(一)------openOutput打开流程讲述了Output打开过程,那么接下来它是何时如何写入数据的呢?这里以Android N为例//@Threads.cppbool AudioFlinger::PlaybackThread::threadLoop(){ //...... ret = threadLoop_write(); //......}threadLoop还是比较太复杂的,我把他放在了这里

2021-06-09 14:58:29 2598 4

原创 记录工作中常用Git命令

你好!这里是风筝的博客,欢迎和我一起交流。记得17年的时候知道Git这个东西,虽然写了一点东西:Linux下使用GitHub但当时还是没怎么用过。。。。。。直到毕业了来公司,才在工作中把Git用起来,惭愧。工作两年了,记录下日常碰见和所用的Git 问题和命令~ps:下面的所有sunxi-dev都是我的分支名!【代码分支】分为本地分支和远程分支:本地:git branch -vv远程:git branch -a创建分支:git checkout -b sunxi-dev删除分支:gi

2021-06-04 14:36:28 485

原创 ALSA子系统(十七)------支持Type-C耳机驱动

你好!这里是风筝的博客,欢迎和我一起交流。之前讲解了耳机驱动:ALSA子系统(十六)------虚拟耳机驱动Android音频子系统(四)------耳机拔插流程那么必然少不了现在市场上较多的Type-C耳机。常见的TYPE-C耳机有两种:一种是通过TYPE-C转3.5mm的转接线接3.5mm耳机,这种本质就是模拟耳机,信号还是通过HPOUT。一种是真正的TYPE-C耳机,一体式的,本质是数字耳机,耳机内部有DAC将数字信号转换为模拟信号(有的TYPE-C耳机也是一体式的,无需转接头,

2021-06-03 19:21:35 5185 1

原创 ALSA子系统(十六)------虚拟耳机驱动

你好!这里是风筝的博客,欢迎和我一起交流。在这之前,我们需要知道一些耳机类型的基本知识:耳机有很多类型,图片左边带麦克的耳机术语叫做headset,右边不带麦克的术语叫做headphone。headset = 听筒 + mic, headphone = 听筒。一个android系统里面,当用户需要播放声音的时候,cpu把数据信号发送给声卡,在声卡内部进行数模转换(DAC),然后通过运放进行播放,其中line out输出原始数据,即还没有经过运放的数据。通过耳机运放称为headphone(如果有

2021-06-03 14:56:42 1343 3

原创 Android音频子系统(四)------耳机拔插流程

你好!这里是风筝的博客,欢迎和我一起交流。耳机上报主要有两种方式:1.UEvent2.InputEvent两种模式的切换可以使用配置项来完成,Android 系统默认是使用UEvent的方式。不过一般厂商会在自己的xml文件里进行配置。例如我这板子配置:device/softwinner/ceres-spen/overlay/frameworks/base/core/res/res/values/config.xml:140: <bool name="config_useDev

2021-05-27 21:06:45 2574 3

原创 Android音频子系统(五)------AudioFlinger处理流程

播放线程的基类都是Thread,classThread : virtual public RefBase (system/core/include/utils/Thread.h)class ThreadBase : public Thread(frameworks/av/services/audioflinger/Threads.h)class PlaybackThread : public ThreadBase(frameworks/av/services/audioflinger/Threads

2021-03-15 20:30:22 2582

原创 ALSA子系统(十五)------PCM转WAV音频格式

你好!这里是风筝的博客,欢迎和我一起交流。所有的WAV都有一个文件头,这个文件头记录着音频流的编码参数。数据块的记录方式是little-endian字节顺序。WAV格式全称为WAVE,只需要在PCM文件的前面添加WAV文件头,就可以生成WAV格式文件。WAVE文件格式是微软RIFF规范的一部分,用于存储多媒体文件。RIFF文件以文件头开始,后跟一系列数据块(Chunk)。WAVE文件通常只是具有单个“ WAVE”块的RIFF文件,该“ WAVE”块由两个子块组成-“ fmt”块指定数据格式,而“

2021-03-10 09:48:51 713

原创 Android音频子系统(三)------AudioTrack流程解析

你好!这里是风筝的博客,欢迎和我一起交流。在了解AudioTrack之前,先从网上找了张图简单描述 AudioTrack、PlaybackThread、输出流设备三者的对应关系:一般来说,输出流设备决定了它对应的 PlaybackThread 是什么类型,PlaybackThread 实例与输出流设备是一一对应的(OffloadThread 只会将音频数据输出到 compress_offload 设备中,MixerThread(with FastMixer) 只会将音频数据输出到 low_late

2021-03-09 11:10:39 3186 2

原创 ALSA子系统(十四)------snd_pcm_drain和snd_pcm_drop

你好!这里是风筝的博客,欢迎和我一起交流。最近同事问我snd_pcm_drain和snd_pcm_drop的区别和使用场景,我去文档里翻了下:PCM Interfaceint snd_pcm_drain(snd_pcm_t *pcm) Stop a PCM preserving pending frames.Parameters:pcm PCM handleReturns:0 on success otherwise a negative error codeReturn va

2021-03-05 10:23:51 4053 1

原创 ALSA子系统(十三)------snd_pcm_hw_refine硬件参数重定义

你好!这里是风筝的博客,欢迎和我一起交流。hw parameter表示当前音频流使用的硬件参数,比如当前音频流使用的format,声道数,使用的哪个音频输出端口等等。因为一个codec或者一个dai可以支持多种格式,比如一个dai可以传16bit pcm、24bit pcm,那么现在究竟是使用的哪一种格式呢,这个问题就由上层应用来指定。比如说上层应用需要播放一个16bit的pcm,那么就会打开一个pcm逻辑设备,并通过ioctrl来通知音频驱动当前播放的音频流的参数,音频驱动根据这些配置来进行对应

2021-03-03 17:35:19 2263 2

原创 Android音频子系统(一)------openOutput打开流程

你好!这里是风筝的博客,欢迎和我一起交流。Audio在Android也算是比较复杂的系统,我也是一边学习一边做笔记,如果有不对的地方看样子在评论区指出。status_t AudioFlinger::openOutput(audio_module_handle_t module, audio_io_handle_t *output, audio_config_t *c

2021-02-17 23:25:08 2641

原创 ALSA子系统(十二)------ALSA Buffer的更新

你好!这里是风筝的博客,欢迎和我一起交流。PCM 数据管理可以说是 ALSA 系统中最核心的部分。不管是录音还是播放,都要用到buffer管理数据。播放:copy_from_user 把用户态的音频数据拷贝到 buffer 中,启动 dma 设备把音频数据从 buffer 传送到 I2S tx FIFO。录音:启动 dma 设备把音频数据从 I2S rx FIFO 传送到 buffer, copy_to_user 把 buffer 中音频数据拷贝到用户态。ALSA buffer是采用rin

2020-12-10 19:43:55 4741 21

原创 ALSA子系统(十一)------ALSA一次性能优化

你好!这里是风筝的博客,欢迎和我一起交流。科大讯飞用到我司的一款芯片做识别笔,叫啥阿尔法蛋,一看就不是啥好蛋。。。。。。。这客户反馈每次用识别笔去识别文字的时候,启动的时候概率性会卡住大概一秒钟的时间才会有语音响起,很影响用户体验。时间比较紧急,快要量产了,客户希望我在三天内解决,好家伙,我直接好家伙。(问题是小半年前解的问题了)然后刚刚某宝看下了,这个词典笔居然卖六百九十九人民币,哇,抢钱啊。拿到机器,我先使用tinyplay工具进行测试,发现现象正常,没有复现到有这场景,怀疑是不是他们应用

2020-12-07 18:02:35 1518 3

原创 ALSA子系统(十)------ALSA操作底层驱动流程解析

你好!这里是风筝的博客,欢迎和我一起交流。之前在这篇文章:Tinyplay流程分析分析了tinyplay到操作,那么,我们可以继续分析下这些操作具体到底层是个什么样子!以前大学读书时倒是写过两篇alsa到底层驱动文章:音频子系统(ASOC框架)之Machine音频子系统(ASOC框架)之Codec现在回看,当时写得可真是粗糙啊,连DAPM都没涉及到,主要还是以前读书时对这些东西还是学习状态,不像现在,需要谋生。。。。。。唉,扯远了,以前倒是喜欢贴出代码一顿分析,不过现在越发感觉画流程图才是

2020-12-07 17:26:16 1282 3

原创 ALSA子系统(九)------常见耳机问题

你好!这里是风筝的博客,欢迎和我一起交流。目前主流耳机分为美标耳机和欧标耳机,国内大部分厂商都使用欧标,所以也有把OMTP叫做国标。其中,又有三段耳机和四段耳机之分,三段耳机时没有麦的,表作headphone。四段耳机有麦,表作headset。美标耳机的顺序为左/右/地/麦。欧标的顺序为左/右/麦/地。一般可以简单的用万能表来测量耳机电阻,确定线序中的GND是在第三段或者第四段来区分是美标还是欧标。耳机常见问题:问题可能原因方法部分耳机识别异常(1)美标和国标问题

2020-12-07 16:55:46 940

翻译 ALSA子系统(八)------Proc asound documentation

你好!这里是风筝的博客,欢迎和我一起交流。/proc/asound for fun and profitLinux倾向于将有关系统进程的信息(包括一些硬件配置信息)放在称为的虚拟文件系统中/proc。这里的项目不是实际文件,它们是从操作系统内核和关联的内核模块读取信息并将信息发送到操作系统内核和相关的内核模块的一种方式。可以通过在虚拟文件cat more less 或一些其他文件程序读取信息。通过使用cat或echo将数据写入虚拟文件来完成发送回命令。/proc/asound文件集是ALSA用

2020-12-07 16:31:57 1623

原创 ALSA子系统(七)------simple_card添加虚拟声卡

你好!这里是风筝的博客,欢迎和我一起交流。我们知道,asoc框架里面主要包含machine codec platform 这三大部分,(1)machine:单板相关内容,表明声卡中所用的主芯片(Platform是指Soc)、编解码芯片(codec)是哪一个。主芯片里的接口(DAI(全称Digital Audio Interface)接口)接到哪里去.CPU DAI是哪一个,codec DAI是哪一个,DMA是哪个。(2)platform:用于实现平台相关内容,如IIS(DAI)(设置接口)和DM

2020-12-07 16:17:11 5524

原创 ALSA子系统(六)------POP音排查

你好!这里是风筝的博客,欢迎和我一起交流。POP音基本原理这个POP音的产生主要是因为codec开始工作时,耳机等输出或mic输入声道上的直流电平跳变产生的;手机或一般的手持设备上不会有负电压,音源信号必须在一个直流电平上(如1/2VDD上)输出,这样一个从0电平到1/2VDD的直流跳变,通过隔直电容后到耳机上必然会产生POP音,同样地对于喇叭输出也类似;codec内部操作某些寄存器也会产生pop,有的时间比较长,需要增加延时。一般出现在音频开始工作、结束工作或者动态切换通路时,出现这种问题的原因

2020-12-07 15:54:25 2178 4

原创 ALSA子系统(五)------XRUN排查

你好!这里是风筝的博客,欢迎和我一起交流。什么是XRUN?相信做音频的童鞋都不陌生。它是缓冲区不足或溢出,X代表不足或溢出。在这两种情况下,都表明系统速度不够快,未能及时处理来自ALSA音频缓冲区的数据,因此丢失了一些数据。当我们以非常小的缓冲区大小运行时,声卡应该非常快地处理传入缓冲区的数据,否则就溢出overrun了。有些芯片无法适应较小的缓冲区大小,因此我们必须增加缓冲区长度以减轻声音芯片的工作量。通常,xruns可以听到爆裂声或爆裂声。在录音例子中,如果应用程序读取数据不够快,循环缓存区

2020-12-07 15:16:55 3309 4

原创 ALSA子系统(四)------Tinyplay流程分析

你好!这里是风筝的博客,欢迎和我一起交流。移植tinyalsa工具参考上一篇文章:ALSA子系统(三)------Audio测试工具(tinyalsa)如果是有 Android 环境,直接在external/tinyalsa目录下mm即可。使用trace工具可以抓取tinyplay流程。主要流程如下,附有注释,同时为了方便浏览删除了一些不太重要的log。# trace tinyplay spring_48K_2ch_16bit.wav

2020-12-07 14:33:19 1641 3

翻译 ALSA子系统(二)------PCM (digital audio) plugins

你好!这里是风筝的博客,欢迎和我一起交流。PCM插件(plugins)扩展了PCM设备的功能。插件负责各种示例转换,通道之间的示例复制等工作。Slave definitionThe slave plugin可以使用字符串直接指定从属插件,也可以在复合配置节点内输入定义。还可以指定一些限制(例如静态速率或通道数)。pcm_slave.NAME { pcm STR # PCM name # or pcm { } # PCM definition for

2020-08-23 18:21:37 3661

原创 ALSA子系统(三)------Audio测试工具(tinyalsa)

你好!这里是风筝的博客,欢迎和我一起交流。TinyAlsa是 Android 默认的 alsalib, 封装了内核 ALSA 的接口,用于简化用户空 间的 ALSA 编程。合理的pcm_config可以做到更好的低时延和功耗,移动设备的开发优为敏感。struct pcm_config { unsigned int channels; unsigned int rate; unsigned int period_size; unsigned int period_co

2020-08-20 20:29:35 2852

翻译 ALSA子系统(一)------Frames Periods

你好!这里是风筝的博客,欢迎和我一起交流。FramesPeriods一帧(frame)相当于要播放的一个样本,而与通道数或位数无关。例如1帧立体声48khz 16位PCM流为4字节.1帧5.1声道 48khz 16位PCM流为12字节.一个周期(period)是每个硬件中断之间的帧数。 poll()将每个周期返回一次。缓冲区(buffer)是环形缓冲区。缓冲区大小必须始终大于一个周期大小,通常是2 * 周期的大小,但是某些硬件每个缓冲区可以做到支持8个周期,缓冲区大小也可能不是周期大小

2020-08-19 17:37:23 2362 6

原创 Android系统学习(六)------裁剪Android系统

你好!这里是风筝的博客,欢迎和我一起交流。添加/删除 Android里app源码,参考:Android源码里packages里面的结构~~~android系统源码中添加app源码(源码部署移植)技术有限,先做那么多,未完,待续…...

2020-06-27 20:26:39 3207 1

原创 嵌入式Linux驱动笔记(三十一)------SYSRQ组合键使用

你好!这里是风筝的博客,欢迎和我一起交流。SYSRQ组合键是Linux调试的一种手段,即使在系统死机、panic等情况,只要系统还能响应中断,那么SYSRQ就派上用场了,具体的使用情况可以参考内核文档里的详细描述:Documentation/sysrq.txtnote:SYSRQ键也就是键盘上的Print Screen键.使用SYSRQ组合键需要在内核开启配置:CONFIG_MAGIC_SYSRQ可以通过在系统中使用cat /proc/sys/kernel/sysrq查看sysqr是否开启

2020-06-25 20:29:01 2522 1

原创 irq: nobody cared (try booting with the “irqpoll” option)

你好!这里是风筝的博客,欢迎和我一起交流。irq 286: nobody cared (try booting with the “irqpoll” option)之前看到这个一个warning,我看网上其他人写的有点奇怪,手痒特此记录一下:通过grep查找代码,可以发现这行语句在:__report_bad_irq函数:static inline int bad_action_ret(irqreturn_t action_ret){ if (likely(action_ret <= (

2020-06-11 15:00:59 4468

交叉编译QT5.6

交叉编译好的QT,编译工具链为arm-cortexa9-linux-gnueabihf-4.9.3-20160512。QT版本为5.6,源码:qt-everywhere-opensource-src-5.6.0.tar.xz

2019-04-11

车牌识别代码(arm-Linux,opencv)

基于Linux下opencv,用于车牌识别,环境为arm-linux,非VS环境,文章链接:https://blog.csdn.net/Guet_Kite/article/details/79702169

2019-01-21

RTL8188EUS_linux_v4.3.0.7

rtl8188eus的Linux驱动源码,里面还有wireless tools,make即可使用,非常方便

2018-06-05

rtl8188eufw.bin

rtl8188eus的固件,亲测可用,适用于Linux。 把固件放到lib/firmware/rtlwifi/目录下

2018-06-05

videodev.h

旧的Linux版本没有了videodev.h文件,但是编译某些库时需要用到,如fatal error: linux/videodev.h: No such file or directory。下载此文件,放到/usr/include/linux/videodev.h即可

2017-12-14

opencv-2.4.11

opencv-2.4.11,适用于unix、Linux下环境,非此环境勿下载。

2017-11-29

source insight4.0破解版

source insight4.0完美破解版,完美支持中文,无乱码,支持UTF-8,

2017-11-12

嵌入式操作系统_by_kite

基于STM32的嵌入式操作系统

2017-08-05

抢占式OS消息队列例程

嵌入式操作系统

2017-08-05

嵌入式操作系统V3

STM32的嵌入式操作系统

2017-08-05

抢占式OS例程一

STM32轻量级嵌入式操作系统

2017-07-25

QR二维码jar包

生成QR二维码

2017-06-30

mkyaffs2image工具

mkyaffs2image

2017-06-03

yaffs2源码

2017年5月更新的yaff2源码

2017-05-31

空空如也

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

TA关注的人

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