自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 资源 (1)
  • 收藏
  • 关注

原创 改进安卓自带screenrecord录屏程序,支持录屏/横竖屏识别/实时推送raw h264.

对于安卓而言录屏有两套方案:1,在Android app层使用MediaProjection框架。这个方案网上有很多资料,参考案例。优点:实现原型快/稳定。缺点:对性能要有进一步提升的厂家来说可能不太适合了。2,在Android native层使用DisplayProjection框架。这个方案Android源码自带,不过网上关于它的资料少。位于安卓的路径:frame...

2019-10-06 15:29:31 3712 6

原创 一个类ring buff的ping pong buff实现

代码参考于:https://github.com/dennis-musk/pingpong_buffer.git我的代码:https://github.com/Mr-jinfa/ping-pong-buff--like-ring-buff 貌似好久没更新博客,因为这段时间浸淫于Android、音视频。虽然两个都学得不咋地,不过还是有点点收获。至少遇到某函数时再也不会叫函数,而是尊...

2019-09-15 21:27:59 1878

原创 2018年度技术总结

在新的一年里祝大家: 男生--靓仔多金有良心,风趣幽默老实人。 女生--青春靓丽有气质,举止优雅白富美。

2019-02-01 19:30:42 1320 2

原创 源码分析mmc体系结构

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/86678814      由上一篇博文《简单分析mmc体系结构》知道,mmc core会注册一个mmc bus并等待card device、card driver的加入。也简单地介绍了mmc framework三层大概功能、用到那些内核组件。这篇博文...

2019-01-28 16:13:21 1692

原创 简单分析mmc体系结构

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/86626017     上一篇博文《简单分析与移植rockchip平台mmc/sd卡》谈到MMC core、MMC host controller driver、MMC card driver并给出了硬件拓扑、mmc软件主体框架。本编博文的目的是罗列...

2019-01-24 14:57:42 2314

原创 简单分析与移植rockchip平台mmc/sd卡

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/86550606环境:sd卡:罗果 128MB class 6内核:Linux4.4class 6是sd卡数据速率标准我们先看看硬件拓扑图:图片转自http://www.wowotech.net/basic_tech/mmc_sd_sdio_...

2019-01-19 11:56:32 9415 3

原创 推荐一款比较好用的Linux内核代码编辑器

    博主之前用soureinsight+samba形式来开发驱动,不过由于soureinsight在samba网络协议下同步代码太慢了,而且soureinsight用的是破解版。    所以,为了提高效率在网络上搜了很多文章,大部分都推荐字符界面操作的编辑器。。不过直到我看到了vs code它支持window、Linux64位环境。对于部分Linux开发者以虚拟机+samba环境来说vs c...

2019-01-18 09:54:48 5405 1

原创 Linux下编写一个ramdisk块设备驱动及建立一个ext4文件系统

本博文参考ldd3实现一个内存虚拟磁盘,它的通过块设备驱动申请一些内存用作“磁盘容量”并将该磁盘格式化为ext4文件系统,实现和正常磁盘无异的文件创建、存放。

2019-01-11 16:22:47 1507

原创 rk3399调试ov2659(camera模块@dvp接口)--源码分析

    之前整理的“rockchip sensor core框架”和rkisp下的v4l2框架有点像,只不过v4l2框架有点大(而且不支持摄像头热插拔)。其实接触越多Linux子系统越发觉得这些子系统处理思想大同小异。     这种"核...

2019-01-10 10:54:36 6864 1

原创 rk3399调试ov2659(camera模块@dvp接口)--移植过程

刚接手某款硬件,嵌入式开发者往往对硬件熟悉,而对实现硬件行为的软件及其软件框架不太熟。所以,我们一般从硬件拓扑图入手,分析数据流和硬件动作过程来熟悉或编写软件框架,并向该框架填充一些逻辑/业务代码来实现最终的驱动代码。

2019-01-09 09:35:05 15976 8

原创 rk3399调试gslX680(tp模块)--技巧分析&&程序源码分享

      一般来说,平台适配某款新硬件我们只需编译程序源码、配置然后将该款硬件的驱动加入系统就完成了适配工作。不过,这过程往往会遇到一些问题。     软件上的:平台差异(内核版本、电源管理部分、pin脚管理、平台特有机制),平台特有机制:一些特有api、特有消息机制、特有同步机制。      硬件上的:电路走线是否正确、供电参数、新硬件的特殊初始化。      当然了,这只是前期工...

2018-12-30 20:13:52 3288 1

原创 rk3399调试alc5651(audio模块)之simple-card framework机制分析

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/85340002这是“rk3399调试alc5651”的第二篇,这篇以源码分析simple-card framework机制。      在《rk3399调试alc5651之操作方法》讲述了如何移植alc5651,现在我们分析从源码simple-ca...

2018-12-29 16:13:43 8052

原创 rk3399调试alc5651(audio模块)之操作方法

版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/85321945这是“rk3399调试alc5651”的第一篇,这篇以实操形式调试alc5651。环境:硬件:realtek alc5651内核:Linux4.4播放器:aplay原理图接口解析:1. #HPO_L/R:耳机孔的左...

2018-12-28 15:28:32 16569

原创 分析并改良rockchip sensor core框架之二

人体中的手脚躯干是通过筋骨联通的,而操作系统里的链表就好比人的筋骨,内核通过这些筋骨来枚举、操作一个个设备。 所以,我们看内核源码是会发现各种链表。有些链表用来存放数据、有些链表来描述设备信息的关系。

2018-10-26 21:51:47 2037 1

原创 分析并改良rockchip sensor core框架之一

      版权声明:本文为博主原创文章,转载请注明出处:https://blog.csdn.net/huang_165/article/details/83379988      这是“分析并改良rockchip sensor core框架”的第一篇,这篇结合瑞芯微官方文档以通俗的文字、图片描述sensor core。具体的程序逻辑框图将在“分析并改良rockchip sensor core...

2018-10-25 16:45:34 2439

原创 allwinner sensor子系统架构介绍

       驱动开发人员大部分工作都是移植驱动、将驱动适配到不同平台上。所以,这要求驱动开发人员有快速的学习内核各种子系统架构的能力。       对于某个子系统,有的平台用的架构是通用的,有的相差很大...不过既然入坑,不忘初心就好。       好了,说正经事。下面我来分析全志的sensor子系统架构,这层架构很薄也很精简,不过给我了启示--Linux设备驱动集成度越来越高、很多代码...

2018-10-18 17:05:17 1500

原创 hi3518e ADC 连续采样并获取电压值

对于hi3518e 主控芯片内部ADC采样的描述有位牛人描述的很到位。 https://blog.csdn.net/u013738338/article/details/78602986 那个大哥从datasheet出发深入浅出地将hi3518e ADC采样过程描述地很好。接下来我要用改进过的hisi ADC源码来实现电源电压检测,这份代码读者直接获取、编译就可用。...

2018-05-25 16:15:52 3740 3

原创 从0编写linux framebuff驱动、测试用例

在从0编写framebuff期间搜了很多博客,他们都对framebuff进行很详细的解析,不过他们并没有从0–>1地给出编写framebuff的方案。 在我看来 framebuff = framebuff子系统 + LCD显存 + 虚拟页存 + 应用bind、write framebuff。 “虚拟页存”常用与内存的倒腾。因为上层写buff速度慢、LCD显示快。所以做一个中间内存用做缓...

2018-05-24 18:14:16 1843

原创 解决VB和inner audio同时存在,并播放由电脑合成的PCM。

hi35xx提供AIAO用于和片内、片外的audio codec对接,完成音频数据的输入输出功能。其中AIAO对应于一对AIP、AOP音频通道。如果采用inner audio方式需要用到I2S接口。该接口特点为。-支持主模式立体声 16/24bit 数据的发送和接收。-支持 8kHz~192kHz 采样率。-接收(AIP)和发送(AOP)相互独立,可以单独使能或关闭。...

2018-05-22 11:28:32 716

原创 借助iwtools工具包以过滤方式获取WiFi状态。

用到的工具有iwconfig、iwlist。给上层提供的函数有get_curwifi_info、get_wifi_list。我们先看原始的iwtools Makefile快照# Targets to buildSTATIC=libiw.aDYNAMIC=libiw.so.$(WT_VERSION)PROGS= iwconfig iwlist iwpriv iwspy iwgeti...

2018-05-21 12:19:10 1165

原创 内核层与应用层jiffies同步

本文参考资料为:《linux内核设计与实现》第三版定时器和时间管理章节 下文将展示: 1.一个简单用来实现“内核层-应用层jiffies同步”的例子. 2.介绍jiffies定义 对于应用来说,它需要一个时间标尺来记录时间流逝,比如GUI进程需要周期性的给LCD刷图。而驱动的jiffies对于应用来说就一个很好的标尺。 实现要求:底层给应用层暴露一个显示...

2018-05-16 19:06:02 899

原创 io阻塞下线程切换问题分析

    本文分析Linux早期版本-Linux0.11io阻塞下切换线程的问题。虽然现在Linux都4.X了,但是操作系统灵魂性的、基本性的东西不会轻易改变的。况且分析参天大树早期的小树芽比直接分析参天大树有趣、高效得多。这也是本人从MOOC网哈工大张治军老师的《操作系统》课上感悟到的。    “学习操作系统就是要coding them...”所以选择一个能力范围内的Linux内核版本并codin...

2018-05-13 22:07:55 2946

空空如也

空空如也

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

TA关注的人

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