自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

多核异构SOC和显示

分享汽车SOC显示和学习积累

  • 博客(63)
  • 资源 (1)
  • 收藏
  • 关注

原创 DRM crtc Timeout 流程分析

引言:相信在处理原厂显示问题时都会遇到crtc timeout 的问题,可能是hw_done / vblank / flip done 超时,软硬件工作异常导致这些标志位没有按时完成,导致显示错误。本章主要从crtc timeout 的问题来分析drm送图流程和其中的关键点。drm有十几万行代码,都看完并铭记于心不太现实,我们所需要了解的是一些关键函数和关键喉咙。我们以timeout 的问题引入来分析过程和代码。

2023-08-01 10:52:33 877

原创 Binder c++试验、分析与理解

Binder试验、分析与理解本文的文章结构和内容依赖于韦东山老师讲解的Binder系统(免费课程),欢迎前往韦东山老师主站http://www.100ask.org了解详情。将通过一下内容进行分析Android Binder系统Binder系统_C程序示例Binder系统_驱动情景分析Binder系统_c++实现Binder系统_c++实现_内部机制Binder系统_JAVA...

2019-12-05 14:55:21 884

原创 【全志平台】dts内容如何最快导入到机器中

【全志平台】dts内容如何最快导入到机器中方法四:编译kernel,pack,烧录工具不选择任何分区是最快的方法。文章目录【全志平台】dts内容如何最快导入到机器中方法一:全编译整包烧录方法二:编译kernel ,dd导入boot.img方法三:pack, dd导入u-boot.fex方法四:编译kernel,extract-bsp,pack,烧录工具不选择任何分区试验结论实验...

2019-12-03 17:35:03 965

原创 直接操作SurfaceFlinger画图并通过小demo深入分析SurfaceFlinger内部机制

SurfaceFlinger1. 测试SurfaceFlinger实验目的:写一个c++应用,调用SurfaceFlinger显示颜色关键字:SurfaceFlinger实验平台:全志T7-android步骤:编写cpp代码获得SurfaceFlinger服务创建Surface得到buffer写buffer提交buffer测试push到机器中看现象。...

2019-12-02 17:25:13 1046 2

原创 平台设备驱动模型--match过程

平台设备驱动模型–match过程/** * platform_match - bind platform device to platform driver. * @dev: device. * @drv: driver. * * Platform device IDs are assumed to be encoded like this: * "<name><i...

2019-10-14 15:43:54 224

原创 美化个人博客

美化个人博客https://blog.csdn.net/weixin_39345384/article/details/80785373

2019-08-02 18:16:30 500

原创 linux input输入子系统

input输入子系统https://www.cnblogs.com/deng-tao/p/6094049.html

2019-06-21 16:54:15 133

原创 usb总线驱动分析(针对使用)

USB总线设备驱动分析(使用)接上USB设备,内核打印信息接上usbU盘后内核打印:/*使用的是USB高速,148MB/s,设备号为3,使用的是echi*/<6>[ 51.848206] usb 1-1.1: new high speed USB device number 3 using s5p-ehci /*usb设备类型是:storage 存储设备 ,下面这些都...

2019-06-17 10:50:54 1400

原创 git子仓库的处理

https://www.jianshu.com/p/491609b1c426

2019-06-08 17:39:57 626

原创 s5pv210 + wm8960 声卡驱动移植

s5pv210 + wm8960 声卡驱动移植已经移植成功了,端午节再补充调试流程和经验总结。源码:https://github.com/cshang983255766/friendlyArm-linux3.0.8/tree/master/sound/soc/s5pv2xx有用的话请,奖励GitHub一颗小星星 ^ ^...

2019-06-04 17:31:31 386

转载 修改了Ubuntu下的/usr目录权限,导致不能使用sudo命令的修复-----转载

https://www.cnblogs.com/ylhwx/p/7099382.html

2019-06-03 18:33:49 1017

转载 Ubuntu 更换国内源

https://blog.csdn.net/qq_35451572/article/details/79516563

2019-06-03 09:59:15 137

原创 手撕ALSA和ASOC有感。

手撕ALSA和ASOC有感。文中图片引用自https://me.csdn.net/DroidPhone博主的文章。ALSAALSA其实就是一个字符设备驱动。万变不离其宗,和其他设备驱动套路一样。1、首先搞个类:class_create在sound_core.c中 sound_class = class_create(THIS_MODULE, "sound");2、然后搞个f...

2019-05-21 14:17:47 1473

原创 linux内核源码下载

linux kernel open source code downloadftp:http://ftp.sjtu.edu.cn/sites/ftp.kernel.org/pub/linux/kernel/官网:https://www.kernel.org/

2019-05-14 18:08:15 7393

转载 kindle资源

分享 | 精选10个kindle资源网站 http://www.360doc.com/content/17/0701/18/32446047_668021914.shtmlKindle 电子书资源上哪去找? - 知乎 https://www.zhihu.com/question/22192471图书资源 – 书伴(原名“Kindle伴侣”) https://bookfere.com/ebook...

2019-04-19 21:26:30 1739

转载 Vim升华之树形目录插件NERDTree安装图解

Vim升华之树形目录插件NERDTree安装图解无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然。她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了。我的系统是Ubuntu12.04,版本不同可能 .vim 所在的目录不同。本节用到的压缩包已经上传到网站,如有需要,请自行下载。免费下载地址在 http://li...

2019-04-13 14:53:54 224

转载 Linux下修改/etc/passwd。ubuntu不小心改了用户名登陆不上去(忘记密码可破解密码)

前几天手贱想修改一下用户名,然后打开/etc/passwd找到对应的文件名并修改了,而且把用户家目录都改名了,然后就上不去了。在网上找了很多方法,现记录下亲测有效的一种方法:1、重启ubuntu,随即长按shirft进入grub菜单;2、按"e"键进入编辑页面;如下3、将ro single替换为rw single init=/bin/bash; (上述的界面中将ro +后面的改为rw ...

2019-04-10 16:26:45 1248

原创 Android Binder设计与实现 – 设计篇

binder内核空间的实现与设计原理,值得一看https://blog.csdn.net/freshui/article/details/54926111

2019-04-05 15:11:31 321

原创 Android触摸屏驱动,电阻屏,电容屏

电阻屏:https://www.cnblogs.com/lifexy/p/7628889.html电容屏 : https://blog.csdn.net/xhao1985/article/details/81068706电容屏基本原理 :https://blog.csdn.net/wh_19910525/article/details/10819869...

2019-03-15 14:56:58 576

转载 /sys目录下各个子目录的具体说明

/sys目录下各个子目录的具体说明转自:http://blog.chinaunix.net/uid-27177626-id-3585189.html/sys下的子目录内容/sys/devices该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备。一般来说,所有的物理设备都按其在总线上的拓扑结构来显示,但有两个例外,即platform devices和system ...

2019-03-14 15:28:15 341

原创 【手写实例】在app中访问自己添加的服务

在app中访问自己添加的服务ok,服务有了,那就来写服务的调用者app。这里指的服务请看我另外一篇文章:《在framework上添加访问硬件驱动的服务》https://blog.csdn.net/daoliting5268/article/details/88308956这个就更简单了。首先用Android studio建个空项目。然后在主activity中分别加一个输入框和按钮,然后监听...

2019-03-07 15:37:30 134

原创 【手写实例】在framework上添加访问硬件驱动的服务

在framework上添加访问硬件驱动的服务写完了jni现在写调用jni的java服务层代码,jni实现:https://blog.csdn.net/daoliting5268/article/details/88294352ok如果我们只是写一个控制开发板上的一个IO口的服务相当简单。首先文件名,一定要和jni注册时写的服务名一样。首先服务是在com.android.server包中,...

2019-03-07 15:11:43 208

原创 【手写实例】为服务层实现jni方法的详解

为服务层实现jni方法这里说下我们的终极目的:给Android系统增加一个服务来控制开发板上的一个IO口。花费三个小时的时间写完了mydrv的hal。编写的时候主要还是注意那两个结构体。还有各函数的参数。欢迎查看我的HAL层https://blog.csdn.net/daoliting5268/article/details/87874521下面开始写jni,这就写到了native lib...

2019-03-07 11:49:36 327

转载 Android - 内存泄漏 + 垃圾回收(GC)概念

Android内存泄露——全解析和处理办法转载:https://www.cnblogs.com/qlky/p/7325139.html内存泄露说到内存泄露,就不得不提到内存溢出,这两个比较容易混淆的概念,我们来分析一下。内存泄露:程序在向系统申请分配内存空间后(new),在使用完毕后未释放。结果导致一直占据该内存单元,我们和程序都无法再使用该内存单元,直到程序结束,这是内存泄露。内存溢出...

2019-02-27 20:07:26 291

原创 【手写实例】HAL层实例写完后知识点总结。

HAL层实例完成后知识点总结。手动写完hal实例这里总结几个知识点。1.驱动属于内核空间,调用驱动的client属于用户空间。hal就是这两个空间的链接。了解过binder之后,觉得binder和hal的关系很密切。后面写向上层调用服务接口时会涉及到。2、知道hal是链接内核空间和用户空间之后,那具体是怎么链接的呢?接口通过什么规则定义呢?硬件抽象层有两个重要的数据结构:硬件模块结构体 h...

2019-02-22 11:07:13 415

原创 【备用】写binder实例的时候使用

【备用】写binder实例的时候使用https://blog.csdn.net/newchenxf/article/details/49359283

2019-02-21 18:52:25 89

原创 【好文收藏】手机就是开发板

【好文收藏】手机就是开发板https://blog.csdn.net/aggresss/article/details/54897377

2019-02-20 10:17:55 265

原创 Android跨进程通信:图文详解 Binder机制 原理

Android跨进程通信:图文详解 Binder机制 原理https://blog.csdn.net/carson_ho/article/details/73560642#commentBox

2019-02-17 23:18:02 224

原创 samba的配置与安装-深入理解

samba的配置与安装-深入理解1.安装samba2.修改/etc/samba/smb.configsmb.conf中原来的基本不需要改,直接到最后加上一段[share]path = /home/cuishang/avildable = yesbrowseable = yespublic = yesvalid users = cuishangwritable = yescre...

2019-02-16 14:44:55 399

原创 Android JNI例子

Android JNI栗子这里留意以下部分:sMethods数组定义了所要注册的JNI函数。第一个参数“NativeAdd”指的是在java层调用的函数名,第二个“(II)I”指的是函数的类型,第三个“(jint *)NativeAdd”指的是实际的C++函数“cls = env-&amp;gt;FindClass(“com/example/mycalljni/MainActivity”);”对应...

2019-01-28 13:50:13 283

原创 vim多开文件

一、如果在终端还没有打开vim1、vim横向分屏打开多个文件vim -o 文件1 文件22、vim纵向分屏打开多个文件vim -O 文件1 文件2二、如果在终端已经打开vim1、横向分屏打开另一个文件:vs 文件2、纵向分屏打开另一个文件:sp 文件三、关闭窗口1、关闭所有:qa2、关闭光标所在窗口:q或者:close3、关闭除光标所在的窗口之外的其它窗口:only...

2019-01-28 13:35:15 399

转载 vi中ctrl+s无响应后如何退出

vi操作中经常习惯性ctrl+s保存,此时会进入类似锁屏状态,任何键失灵据说这是linux一个古老的快捷键解锁方式 ctrl+q

2019-01-28 13:33:55 214

原创 ctags常用命令(个人整理)

http://blog.csdn.net/myth_liu/article/details/5672572熟练的使用ctags仅需记住下面几条命:1.$ ctags –R * ($ 为Linux系统Shell提示符)2.$ vi –t tag (请把tag替换为您欲查找的变量或函数名)3.:ts (ts 助记字:tags list, ...

2019-01-27 15:48:42 3227

原创 Android消息队列

Android消息队列public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_...

2019-01-25 15:24:25 1215

原创 TimerTesk用法小例子

TimerTesk用法小例子package com.example.myapplication2;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import java.text.ParseException;import java.te...

2019-01-25 14:26:11 127

转载 shell脚本--sed的用法

shell脚本–sed的用法sed在处理文本时是逐行读取文件内容,读到匹配的行就根据指令做操作,不匹配就跳过。sed是Linux下一款功能强大的非交互流式文本编辑器,可以对文本文件进行增、删、改、查等操作,支持按行、按字段、按正则匹配文本内容,灵活方便,特别适合于大文件的编辑。本文主要介绍sed的一些基本用法,并通过shell脚本演示sed的使用实例。1.sed的使用方法,调用sed 命令的...

2019-01-25 14:09:36 134

原创 在Linux中创建线程和互斥信号量的使用

在Linux中创建线程和互斥信号量的使用在Linux中创建线程非常简单,只需要调用pthread_create函数即可。我们先来看一下该函数的原型: #include&amp;amp;lt;pthread.h&amp;amp;gt; int pthread_create(pthread_t *thread, pthread_addr_t arr, void (*start_routine)(void *), void *ar...

2019-01-24 14:20:50 562

原创 fork创建进程和利用匿名管道进程间的通讯

fork创建进程和利用匿名管道进程间的通讯#include &amp;lt;unistd.h&amp;gt; #include &amp;lt;stdlib.h&amp;gt; #include &amp;lt;string.h&amp;gt;#include &amp;lt;stdio.h&amp;gt; #define MAX_BUFFER 25int main () { int fpid = 0; //fpid

2019-01-24 11:33:43 256

原创 Android.mk中重要变量解析

Android.mk中重要变量解析变量名说明LOCAL_PATH (必须)用于确定源码所在目录,每个Android.mk只需要执行一次CLEAR_VARS (必须)清空上次编译被赋值的&amp;amp;quot;LOCAL_&amp;amp;quot;开头的变量(LOCAL_PATH除外)LOCAL_MODULE (必须)模块名,整个系统唯一存在且名字内不能含空格LOCAL_MODULE_PATH模块...

2019-01-23 19:00:53 287

原创 第一次尝试写Android.mk

第一次尝试写Android.mk##Android.mk for simple##编译模块所处路径LOCAL_PATH:=$(call my-dir)#清楚上次编译变量include $(CLEAR_VARS)#添加静态库LOCAL_STATIC_LIBRARIES:= libcutils#索引源文件LOCAL_SRC_FILES+=\ main.c ...

2019-01-23 17:56:28 198 4

source insight 4 完美po解版

SI破解版,完美支持Ubuntu编码格式。

2018-12-23

空空如也

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

TA关注的人

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