自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sprd_MTK_Man

迈入ARM+linux学习的第7载

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

原创 MTK 6.0及以上版本开放SPI TEE权限(spi不受linux驱动控制的原因)

从Android 6.0版本开始,Google 就要求使用 TEE 环境, MTK平台已内置 并默认开启豆荚TEE。而豆荚 TEE 默认使用了指纹,占用了MTK平台的某一组SPI总线,例如MT6735 6737平台只有一组SPI总线,即SPI0,即已经被TEE占用。但是如果我们在linux kernel层调试第三方驱动时使用到该组spi总线,spi 会返回如下奇怪的错误,读写spi都会返回interrupt is disable 的错误信息。01-01 08:01:...

2020-06-06 09:44:08 2162

原创 TightVNC实现windows多用户远程控制Ubuntu linux主机

1、在ubuntu上安装VNC服务器软件 vnc4server,#sudo apt-get install vnc4server2、在Win 7主机上下载安装TightVNC 软件。网站为:http://www.tightvnc.com,window主机只需安装vncviewer就可以了。3、在Ubuntu上启动vnc4server# vnc4server 此时系统会提示...

2018-09-01 17:31:42 6860 7

原创 数组 int a[ ] 的最大、最小、平均值

int Max(int *a, int n){ int i=0; int max = a[0];//认为数组第一个元素就是最大值 for(i=0; i<n; i++) { if(a[i]>max) { max = a[i]; } } retur...

2018-08-08 11:55:44 696

转载 git checkout 命令详解

转载于:http://www.cnblogs.com/hutaoer/archive/2013/05/07/git_checkout.html?utm_source=tuicool在日常的git操作中,git checkout——检出,是我们的常用命令。最为常用的两种情形是创建分支和切换分支。在下面的命令中,使用了一些简写,在这里说明一下:git st # git statu...

2018-07-30 14:09:53 384

原创 ubuntu上搭建git远程仓库

1)服务端安装Git[root@localhost ~]# apt-get install -y git创建一个git用户,用来运行git服务[root@localhost ~]# adduser git // 创建 git 用户[root@localhost ~]# cd ~git // 进入git用户的home目录 [roo...

2018-07-30 13:53:02 4011

转载 linux中的 inode 详解

转载于: https://blog.csdn.net/u012243115/article/details/45536985 一、inode是什么?        理解inode,要从文件储存说起。文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。         操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低...

2018-07-26 11:15:53 291

转载 dentry 和inode整理

转载于: https://blog.csdn.net/qq_34501940/article/details/51192257 dentry dentry是一个内存实体,其中的d_inode成员指向对应的inodestruct dentry {  atomic_t d_count;  struct inode * d_inode; //指向一个inode结构。这个inode和d...

2018-07-26 11:12:36 235

转载 Linux workqueue工作原理

转载于: http://bgutech.blog.163.com/blog/static/18261124320116181119889/ 1. 什么是workqueue       Linux中的Workqueue机制就是为了简化内核线程的创建。通过调用workqueue的接口就能创建内核线程。并且可以根据当前系统CPU的个数创建线程的数量,使得线程处理的事务能够并行化。workque...

2018-07-25 11:09:39 170

转载 Linux内核线程kthread

转载于: https://blog.csdn.net/quincyfang/article/details/50426491      Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状...

2018-07-25 11:07:49 454

转载 链表操作-(C语言)

转载于: https://blog.csdn.net/h674174380/article/details/75197872今天将给大家讲述链表的学习心得。学习数据结构,毋庸置疑链表必须学好,后面的栈、队列、树、图都是以链表为基础的;链表的种类很多,有单链表、双链表、循环链表、非循环链表;在此,我们以非循环单链表为例,来讲链表的创建、求长度、排序、插入和排序。1.什么是链表     链...

2018-07-24 17:14:01 316

转载 Linux中SPI驱动调试总结

转载于:https://blog.csdn.net/mike8825/article/details/50762023 1.先了解一下spi协议的基本信息,包括spi的工作原理,4中不同模式的区别。2.添加spi设备static struct spi_board_info   xxxxx_spi0_board[] = {     [0] = {              .m...

2018-07-24 10:05:26 3586

转载 详解SPI中的极性CPOL和相位CPHA

转载于: https://blog.csdn.net/ce123_zhouwei/article/details/6923293 详解SPI中的极性CPOL和相位CPHA           SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与...

2018-07-24 10:04:01 376

转载 冒泡排序的2种写法

转载于:https://blog.csdn.net/shuaizai88/article/details/73250615假如有几个数字int score[] = {67, 69, 75, 88}; 按照从大到小排序。有2种思路,第一种,score[j] 和score[j+1] 比较 如果 前者比后者小,把前者和后者调换顺序,两两调换后一轮下来 最小的会被排到最后去。每一轮j都...

2018-07-16 13:49:08 214

转载 FT5X06 如何应用在10寸电容屏(linux-3.5电容屏驱动简析;移植10寸电容屏驱动到Android4.2)

转载于: https://blog.csdn.net/liukun321/article/details/24102307         这是几个月以前的东西了,在彻底遗忘之前拿出来好好写写。做个笔记,也算是造福后来人了。在做这个项目之前,没有做过电容屏的驱动,印象中的电容触摸屏是不需要校正的。IC支持多大的屏就要配多大的屏。但是拿到需求,发现要用FT5406做10寸屏,可是FT5406...

2018-07-16 10:17:19 558

转载 mipi 协议简介

转载于:https://blog.csdn.net/g_salamander/article/details/9163455以下是最近几个月在调试 MIPI DSI / CSI 的一些经验总结,因为协议有专门的文档,所以这里就记录一些常用知识点:一、D-PHY1、传输模式LP(Low-Power) 模式:用于传输控制信号,最高速率 10 MHzHS(High-Speed)模式:用于高速传输数据,速...

2018-07-15 21:45:49 9796 3

转载 Multi-touch (MT) Protocol(翻译)

转载于: http://www.arm9home.net/read.php?tid=24754前段时间改写了一个GT801的内核驱动,仔细阅读 MT Event 上报的时候,发现这个驱动是针对 Android 系统有所偏重的。于是便仔细阅读了一下内核文档中关于多点触摸协议的介绍。多点触摸的信息,是触摸屏这样的触摸设备向 input core 上报 MT 消息传递的。这些 MT消息,可以通过 设备文...

2018-07-15 15:55:18 372

转载 Android驱动之 Linux Input子系统之TP——A/B(Slot)协议

转载于:https://blog.csdn.net/fantasyhujian/article/details/12192761 将A/B协议这部分单独拿出来说一方面是因为这部分内容是比较容易忽视的,周围大多数用到input子系统的开发人员也不甚理解;另一方面是由于这部分知识一旦扩展到TP(触摸屏Touch Panel)的多点触摸就要与Middleware/Framework一起结合起来看...

2018-07-15 15:46:24 264

原创 展讯平台lcd读取id适配流程

sp6820 kernel: sprdfb_init(void) —> 1、fb_get_options(“sprdfb”, &option) // get kernel boot parameters 2、sprdfb_setup(option); // —> get_opt_int(this_opt, “fb0_id”,

2017-08-19 13:24:52 2688

转载 [Android]使用platform密钥来给apk文件签名的命令

转载于: http://blog.csdn.net/sodino/article/details/60167061.使用platform密钥对apk进行签名 1.1.进入/build/target/product/security,找到【platform.pk8】和【platform.x509.pem】系统密钥。1.2.进入/build/tools/sign

2016-09-08 12:54:18 578

转载 在Ubuntu 12.04.2 LTS上安装OpenGrok浏览Android源码

转载于:http://blog.csdn.net/hansel/article/details/9798257http://opengrok.github.io/OpenGrok/OpenGrok is a fastand usable source code search and cross reference engine. It helps you search,

2016-06-15 15:20:41 370

转载 Ubuntu下OpenGrok的安装配置

转载于:http://blog.csdn.net/tyronne/article/details/34984805OpenGrok是一个快速,便于使用的源码搜索引擎与对照引擎,它能够帮助我们快速的搜索、定位、对照代码树。接下来就具体讲解一下OpenGrok的安装及使用。先看下官网( http://opengrok.github.io/OpenGrok/ )说的安装要求:

2016-06-15 15:18:19 977

转载 初探处理器体系结构及寻址模式

转载于:http://blog.csdn.net/jn1158359135/article/details/7055317由8086/8088、x86、Pentium发展到core系列短短40年间,处理器的时钟频率几乎已接近极限,尽管如此,自从86年Intel推出386至今除了增加一些有关流媒体的指令如mmx/sse之外,其他新增的大多数指令都可以从最初的指令集中组合实现同样的

2016-03-01 14:43:51 445

转载 x86—EFLAGS寄存器详解

转载于: http://blog.csdn.net/jn1158359135/article/details/7761011鉴于EFLAGS寄存器的重要性,所以将这一部分内容从处理器体系结构及寻址模式一文中单独抽出另成一文,这部分内容主要来自Intel Developer Mannual,在后续的内核系列中遇到的许多和EFLAGS寄存器有关的内容将直接从本文引用。众所周知,

2016-03-01 14:38:45 321

转载 工作队列(workqueue)

转载于:http://blog.csdn.net/angle_birds/article/details/8448070项目需要,在驱动模块里用内核计时器timer_list实现了一个状态机。郁闷的是,运行时总报错“Scheduling while atomic”,网上搜了一下:"Scheduling while atomic" indicates that you've

2016-01-30 17:17:16 457

原创 内核链表分析

 在Linux内核中使用了大量的链表结构来组织数据,包括设备列表以及各种功能模块的数据组织。这些链表大多采用在【include/linux/list.h】实现一个相当精彩的链表数据结构。Linux2.6多了两种功能,链表的读拷贝更新(rcu)和HASH链表(hlist)。这两种功能都是基于list结构的。1链表的定义struct list_head{ struct...

2016-01-30 15:03:40 343

转载 v4l2 编程接口(二) — driver

转载于:http://blog.csdn.net/g_salamander/article/details/8189893V4L2 驱动随着硬件的变化也越来越复杂,现在大部分设备有里面包含了多个IC, 在/dev目录下不仅要建立 V4L2 的节点,而且还需要建立如:DVB、ALSA、FB、I2C、input等设备节点。事实上 V4L2 驱动需要支持音频/视频的混音/编码

2016-01-30 10:28:26 414

转载 v4l2 编程接口(一) — ioctl

转载于:http://blog.csdn.net/g_salamander/article/details/8107692在应用程序获取视频数据的流程中,都是通过 ioctl 命令与驱动程序进行交互,常见的 ioctl 命令有:[cpp] view plain copy VIDIOC_QUERYCAP     /* 获取设备支持的

2016-01-30 10:25:07 594

原创 Source Insight 集成 TortoiseSVN功能 以及 代码编译命令

对于功能机开发,无论是MTK平台,还是展讯平台,一般是在Window XP系统中编辑源代码,编辑器也首选Source Insight;版本维护大多使用TortoiseSVN;编译也是在源代码目录下运行cmd.exe,敲入编译命令。开发时,频繁在Source Insight、源代码目录、TortoiseSVN之间切换,工作起来这就显得很麻烦。若是在Source Insight中每次修改源代码之后

2016-01-29 16:24:22 3716

转载 Source Insight 常用设置和快捷键大全

转载于: http://www.yxxme.com/900.html对于许多程序编辑员来说一个好的程序编辑工具能使他的工作效率事半功倍,Source Insight绝对是如今最好用的语言编辑器,支持几乎所有的语言, 如C、C++、ASM、PAS、ASP、HTML等常见的,还支持自己定义关键字,如果您 是一个程序员或者网页制作人,这个软件对您都是有帮助的!Source Insig

2016-01-29 12:34:11 696

转载 Android设备驱动之——V4L2

转载于: http://blog.csdn.net/jmq_0000/article/details/7545540Video for Linux Two                    V4L2的是V4L的第二个版本。原来的V4L被引入到Linux内核2.1.x的开发周期后期。Video4Linux2修正了一些设计缺陷,并开始出现在2.5.X内核。Video4L

2016-01-28 17:34:12 1352

转载 Android Camera Framework

转载于: http://blog.csdn.net/mtv0312/article/details/6193579 现在我们尝试从最开始的启动流程来熟悉android camera的整体framework流程:首先从上图的各个步骤来逐一分析流程,后续会根据具体的一些点进行内容的添加和扩充: ? Camera.javapackage

2016-01-28 16:47:36 429

转载 Android 4.0 Camera架构分析之Camera初始化

转载于:http://blog.csdn.net/dnfchan/article/details/7594590Android Camera 采用C/S架构,client 与server两个独立的线程之间使用Binder通信,这已经是众所周知的了。这里将介绍Camera从设备开机,到进入相机应用是如何完成初始化工作的。    首先既然Camera是利用bin

2016-01-28 15:20:27 376

转载 Android中的sp和wp指针

转载于: http://blog.csdn.net/droidphone/article/details/5799792经常会在android的framework代码中发现sp和wp这样的指针,平时看的时候都把他当成一个普通的指针封装过掉了,这几天终于忍不住了,想深入了解一下。 相关的代码:frameworks/base/include/utils/Re

2016-01-28 11:34:42 414

转载 I2C协议详解

1.转载于:http://blog.chinaunix.net/uid-24148050-id-120532.html   I2C协议     2条双向串行线,一条数据线SDA,一条时钟线SCL。   SDA传输数据是大端传输,每次传输8bit,即一字节。   支持多主控(multimastering),任何时间点只能有一个主控。   总线上每个设备都有自己的一个a

2016-01-27 16:23:10 1034

转载 i2c 协议解析

转载于http://blog.csdn.net/g_salamander/article/details/80166981、基本概念      主机            初始化发送,产生时钟信号和终止发送的器件      从机            被主机寻址的器件      发送器        发送数据到总线的器件      接收器    

2016-01-27 16:16:19 303

原创 去除UltraEdit自动生成的.bak备份文件文件 .

处理办法: 高级 -> 配置 -> 文件处理 -> 备份 -> 保存备份文件(S) 中,选取 “不备份”,确定。

2016-01-05 10:47:35 479

转载 打开UltraEdit,提示 “文件可能不是DOS格式” .

处理办法: 高级 -> 配置 -> 文件处理 -> DOS/UNIX/MAC 处理 -> UNIX/MAC 文件检测/转换 中,选取 禁用,确定。关闭 UltraEdit 再打开,就不会有“文件可能不是DOS格式”的提示了。

2016-01-05 10:43:21 1691

转载 字符数组和字符指针

字符数组和字符指针问题1:字符数组名可以作为左值吗?当然不行比如char str[20] = {'h','e','l','l','o',' ','w','o','r','l','d'};str++;不可以这么干,因为字符数组名是一个常量指针,也就是是一个const char*#include int main()

2015-12-29 15:28:44 375

原创 双重指针做函数参数的意义

一. 回顾指针概念: 今天我们又要学习一个叫做指向另一指针地址的指针。让我们先回顾一下指针的概念吧! 当我们程序如下申明变量: short int i; char a; short int * pi; 程序会在内存某地址空间上为各变量开辟空间,如下图所示。 内存地址→6 7 8 9 10 11 12 13 1

2015-12-29 14:24:12 3842

转载 sscanf 和 sprintf的用法

一、sprintfsprint函数原型为 int sprintf(char *str, const char *format, ...)。作用是格式化字符串,具体功能如下所示:(1)将数字变量转换为字符串。(2)得到整型变量的16进制和8进制字符串。(3)连接多个字符串。举例如下char str[256] = { 0 };int data =

2015-12-21 10:11:00 576

空空如也

空空如也

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

TA关注的人

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