自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(43)
  • 资源 (3)
  • 收藏
  • 关注

原创 MCU的CAN TX RX无数据问题 MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是3V,这个电压不是外部供进去的,这是由于MCU和RX TX平时

MCU的CAN TX RX无数据问题MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是3V,这个电压不是外部供进去的,这是由于MCU和RX TX平时有3V导致这个TJA1050上也是电压,同时这个时候量了TJA1050的CANL CANH上也有委有微的正旋杂波,由于这个原因开如我就没有去查TAJ105的的供电问题,以为它正常工作了,其实TJA1...

2019-01-27 11:26:12 3612

原创 MCU的CAN TX RX无数据问题

MCU的CAN TX RX无数据问题MCU的CAN TX无数据问题是由于TJA1050的5V供电没有接,我一直量的是TJA1050的脚是3V,这个电压不是外部供进去的,这是由于MCU和RX TX平时有3V导致这个TJA1050上也是电压,同时这个时候量了TJA1050的CANL CANH上也有委有微的正旋杂波,由于这个原因开如我就没有去查TAJ105的的供电问题,以为它正常工作了,其实

2017-12-25 09:24:59 4340

原创 安桌Client如何访问server的service,以及service如何访问client的函数

安桌Client如何访问server的service,以及service如何访问client的函数安桌Client如何访问server的service,以及service如何访问client的函数一直以来对于客户端如保访问服务端提供的服务,以及服务如何回调客户端的功能函数弄不清楚,现在有了一知半解,所以记录下业随着学习的推进,慢慢来完善细节,可能细节有错误。【一个车载导航仪的整体框

2017-11-14 17:30:10 510

原创 LAUNCHER3讲解

别人的分析感觉不错收藏http://blog.csdn.net/rodsonl/article/details/20482461  已读http://blog.csdn.net/rodsonl/article/details/20497355  已读http://blog.csdn.net/rodsonl/article/details/20531209  已读http

2017-10-30 16:47:03 1482

原创 与服务service实现双向通迅方法 或叫 Service端和Client端的双向通信

参考博客https://race604.com/communicate-with-remote-service-1/

2017-10-24 16:09:33 532

原创 将Android系统源码导入ecplise

将Android系统源码导入ecplisehttp://www.cnblogs.com/l2rf/p/5825617.html

2017-09-28 10:45:48 397

原创 安桌可按控件的按下状态高亮不能显示出来的问题

安桌可按控件的按下状态高亮不能显示出来的问题我们以imageview为例 资料文件是自定义的如下 如果这样定义的话在按下时这个VIEW是不高亮的,他要根据软件里面的状态羔设置这个控制为setSelected状态,然后拉起我们自定义控件的TRUE状态图片,以及不高亮状态。如果我们代码里面没有去调用setSelected这个函数来设置这个VIEW为选中状态,那么他是不会

2017-09-19 11:38:05 426

原创 view 与surfaceview画图的区别

view与surfaceview画图的区别View是封装了一个canvas来画图的,并画图只能在主线程中执行。如ImageView就是继承的View来画图的,用View中的canvas来画Surfaceview也是继承于view,但他封装了一个surface对像。Surface可以使用后台线程绘制图。就这点就是与直接用view里面封装的canvas的区别。

2017-09-14 10:29:52 363

原创 systemUI与Launcher和Home的区别

systemUI与Launcher和Home的区别launcher就是主页,那些图标,启动应用的 和home是同一个东西systemUI就是通知栏,导航按键栏

2017-09-07 11:34:41 5816

原创 JAVA调用C or C++的两种方式

JAVA调用C orC++的两种方式纵所周知安桌的应用最外层是JAVA写的,那么我们怎么用熟悉的C或C++来写程序了。这儿有两种方法。第一种:建产JNI(C或C++写的文件),在这个文件中jniRegisterNativeMethods(env, "XX/YY,  method_table, NELEM(method_table))或者registerNativeMet

2017-08-23 17:31:26 3795

原创 ARM原子操作atomic_add详解

ARM原子操作atomic_add详解static inline void atomic_add(int i, atomic_t *v) {      unsigned long tmp;     int result;    prefetchw(&v->counter);-------------------------(2)    __a

2017-07-06 17:07:40 5619

原创 linux驱动之节点创建 class device_create register_chrdev udev misc_register

linux驱动之节点创建class device_create register_chrdev udev misc_register/sys/class/XX这个路径下面的文件是由class_create创建的/sys/class/XX/xx/sys/device/xx这两个路径下面的文件是由device_create创建的/proc/devices/xx这个下面的

2017-07-05 11:51:02 1068

原创 LINUX驱动模型中bus与platform_bus区别和异同

LINUX驱动模型中bus与platform_bus区别和异同首先要明确的是platform_bus是BUS的一个字集,也就是说platform_bus是BUS定义的一个总线类型。可以看到platform与其它BUS下的总线是等级的。也就是说platform也是总线的一种。我们可以看到I2C,USB等总线下面都可以挂接多个相关设备,这说明i2c usb等总线是管理这类设备的一个主控

2017-07-03 17:04:44 1588

原创 Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析

Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析http://blog.csdn.net/luoshengyang/article/details/6629298fcntl(fd, F_SETFD, FD_CLOEXEC)close on exec, not on-fork,意为如果对描述符设置了FD_CLOEXEC,使用execl执

2017-06-27 16:46:34 365

原创 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路

浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路:http://blog.csdn.net/luoshengyang/article/details/6621566 Servicemanager在用户空间的源码位于diordnr5.0.2\frameworks\native\cmds\servicemanager目录下bi

2017-06-21 10:34:31 442

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

Android Binder设计与实现 – 设计篇:http://www.cnblogs.com/angeldevil/p/3296381.html Binder框架定义了四个角色:Server,Client,ServiceManager(以后简称SMgr)以及Binder驱动其中Server,Client,SMgr运行于用户空间,驱动运行于内核空间。这四个角色的关系和互联网类

2017-06-16 17:09:19 466

原创 binder学习概述篇和路线图

Linux内核支持的进程间通信机制:a.管道pipe/*管道  2.  可以把管道想象为两个实体之间的单向连接器。注意,管道是半双工的,  3.  如果需要全双工通讯,应该转而考虑套接字。  4.  匿名管道又称管道,提供了一个进程与它的兄弟进程通讯的方法,只存在于父进程中;  5.  命名管道,可以存在与文件系统中,任意进程都可找到它,使得不同先祖的进程也可以通讯

2017-06-14 15:52:11 461

原创 android智能指针之强指针和弱指针

强指针的引用就是为了解决下面一种情景:对于上面情景,AB对像的代码关系可以表述如下:Class A:public LightRefbase{ Class B *b;}Class B:public LightRefbase{ Class A *a;}Int main(){/*下面是正常人的写法,会有问题因为AB释放时没有去判断AB是否被其它变量引用了.不能智能

2017-06-09 11:54:18 1501

原创 android智能指针之轻量级指针

Android系统提供了三种类型的C++智能指针,分别为轻量级指针(light pointer),强指针(strong pointer)和弱指针(weak pointer)__attribute__((unused)):该属性定义的函数或变量可能不使用 告诉编译器不要产生警告信息在编译的时候C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。  const

2017-05-26 16:51:16 617 1

原创 android中dip,dp,px,sp和屏幕密度分析

Dip(device independent pixels )=dp:设备独立像素,不同的设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持wvga,hvga和QVGA推荐使用这个,不依赖像素。这里要特别注意DIP与屏幕密度有关,而屏幕密度又与具体的硬件有关,硬件设置不正,有可能导致DIP不能正常显示。在屏幕密度为160的显示屏上,1DIP=1PX。屏幕密度是指1英寸上的像素(

2017-05-26 09:00:24 471

原创 多线程下变量原子操作的几种方法

多线程下变量原子操作的几种方法Note:1.2两个方法主要用于应用中【2种操作的性能是第一种的7-8倍,性能上优于第一种】,第三个方法主要应用于驱动层的。线程锁:如下例子:   pthread_mutex_t count_lock = PTHREAD_MUTEX_INITIALIZER;      pthread_mutex_lock(&count_lock);

2017-05-23 16:51:07 1200

原创 android应用的ACTIVITY当使用EditText控件时会默认弹出输入法窗口,默认不弹出窗口方法

【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 android应用的ACTIVITY当使用EditText控件时会默认弹出输入法窗口,默认不弹出窗口方法在EditText控件所在的acvity的AndroidMainfest.XML申明中加入如下

2017-04-11 19:42:09 670

原创 LINUX设备模型简述

LINUX设备模型的几大基础结构Kobjects【kobject】, Ksets【kset】 Ktype【ktype】 和 Subsystems【subsystem】  Inode--[kset]--------kobjects[驱动设备结构链关系 也可以认为是包含关系]Kobjects是创建SYS/下面文件的用的结构体,其它两个体是配合他完成任务的。可以看成是

2017-03-31 11:35:51 599

原创 内存管理与IO访问

内存管理与IO访问

2017-03-16 11:36:25 849

原创 中断上半部和下半部之低半部实现方法-softirq tasklet workqueue

Asmlinkage表示参数传送通过stack来传送而不是寄存器中断种类:一种是由CPU外部产生的,另一种是由CPU本身在执行程序的过程中产生的外部中断:就是通常所讲的中断INTERRUPT,对于执行中的软件来说,这种中断的发生完全是异步的,根本无法预测此类中断会在什么时候发生,因此,CPU或者软件对外部中断的响应完全是被动的。不过,软件可以通过关中断指令关闭对中断的响应,把它反映

2017-02-17 09:55:40 893 1

原创 LINUX进程与线程概述

进程必需具备如下几个要素,完整的具备了才能称之为进程,否则称之为线程:有一段程序供其执行,就好像一场戏要有一个剧本一样。这段不一定是进程所专用,可以与其它进程共用,就好像不同剧团的许多场演出可以共用一个剧本一样。有起码的“私有财产”,这就是进程专用的系统堆栈空间。有户口,这就是在内核中的一个task_struct数据结构,操作系统教科书中常称为进程控

2017-01-07 11:32:55 436

原创 fasync和kill_fasync机制分析

fasync和kill_fasync机制分析【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 讨论完了信号的大致原理,下面分析信号在驱动中的一个特定应用场景:fasync和kill_fasync是内核信号机制在驱动中的一个应用,低层原理是信号收

2016-12-22 20:32:23 7801

原创 LINUX驱动异步编程之信号实现梗概

LINUX驱动异步编程之信号实现梗概【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux系统中进程间.进程组内.进程本身当中都可能发生信息交互既通信。信号是实现这种交互的一种方式。内核框架中对于信号的实现有一整套的框架。大体上分为如下几个部

2016-12-22 11:43:14 565

原创 LINUX非阻塞访问机制POLL SELECT EPOLL原理分析

LINUX非阻塞访问机制POLL SELECT EPOLL原理分析【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux系统提供几种多种实现非阻塞访问机制(read write操作时不会阻塞,但对于POLL SELECT EPOLL的

2016-11-29 10:55:26 883

原创 android-linux系统调用原理之整体系统框架实现原理之OPEN实现

android-linux系统调用原理之整体系统框架实现原理之OPEN实现.docx【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 对于安桌系统来说系统调用就是指:Andriod层调用Linux函数。由于安桌层在文件系统层,而LINUX层在内核层

2016-11-26 14:31:54 1872

原创 ARM寄存器一览

2016-11-26 14:30:08 457

原创 LINUX系统调用原理-既应用层如何调用内核层函数之软件中断

LINUX系统调用原理-既应用层如何调用内核层函数之软件中断 SWI:software interrupt软件中断 ARM Linux系统利用SWI指令来从用户空间进入内核空间,还是先让我们了解下这个SWI指令吧。SWI指令用于产生软件中断,从而实现从用户模式变换到管理模式,CPSR保存到管理模式的SPSR,执行转移到SWI向量。在其他模式下也可使用SWI指令,处理器同

2016-11-16 09:06:14 4191

原创 OTG接口设备主从功能是如何实现的

OTG的时候用的.检测ID脚状态高低,从而判断为主设备或从设备.OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。USB OTG技术可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了

2016-11-02 20:05:15 9705 1

原创 Linux内核等待队列探究-wait_queue_t-wait_queue_head_t

Linux内核等待队列探究-wait_queue_t-wait_queue_head_t【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 等待队列是LINUX内核实现阻塞访问的方式之一,同时LINUX内核的信号量和完成量都是用等待队列来实现的低层方

2016-11-01 13:54:21 2557

原创 Linux并发控制技术

【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux并发控制技术,它的目标是让多个进程访问同一个资源克服其竟态。由现代操作系统都是并发的,例如对同一个资源的读写是并发进行的。为了解决读写的不同步问题,LINUX操作系统引入并发控制技术。这个技术

2016-10-13 20:00:34 703

原创 adb 用不了的原因

不能执行的原因是sdk中的adb.exe环境变量没有配置好,导致必须要在platform_tools按装上当中去执行才可以.接着在CMD中执行如下命令就能正使用了。我参考网上教程配置SDK环境变量还是不行。我就不配了直接用目录执行算了。搭建工具比较费时间。网上很多解决上面遇到的问题根本解决不了。说端口被占用,但我通过相关指令并没有占用。(端口被占用的解决办法参考http://jingyan.bai

2016-09-28 19:28:31 2997

原创 /dev/tty /dev/ttyn(0-n) /dev/console区别

2016-09-20 10:43:56 1044

原创 E:安桌层及文件系统层的PRINTf输出原理

(/device/console操控台原理分析,通过调用此操控台来输出信息,同时这儿涉及到/device/console调用TTY,然后TTY调用低层串口的分析 安桌LOG输出原理)LINUX内核源码版本:linux-3.0.86   /dev/console即控制台,是与操作系统交互的设备,系统将一些调试信息直接输出到控制台上,是TTY设备的一个子集 Tty:

2016-09-19 16:37:18 1010

原创 D:LINUX内核层PRINTK实现原理

(最终调用上面注册的CONSOLE来输出调试信息)LINUX内核源码版本:linux-3.0.86  Linux内核层printk函数用于输出内核调试信息。Printk->vprintk->log_prefix->emit_log_char->log_start/log_end->console_unlock->call_console_drivers(_con_start,

2016-09-14 09:09:59 1092

原创 C:LINUX如何来使用传入的参数

(由CONSOLE来使用的,既在CONSOLE注册时利用传进来的参数,这个是LINUX内核层的CONSOLE,注意与安桌层及文件系统层的PRINTK的区别。内核层只需要实现输出功能,但前者必须要实现输入输出,以及更复杂的功能)LINUX内核源码版本:linux-3.0.86   Console控制台:对于输入输出设备一个统一管理组件,可以认为是对计算机输入输出设备的封装。我们对

2016-09-13 20:29:20 1243

php+MySQL基于百度BAE的微信公众平台获取access_token - CSDN博客.url

微信鞢大规模大起大落相去甚远东走西顾鞋柜霜期云蒸霞蔚土;;f]aerq[rq]r[q]r]qwr]qwer'栽植奇才独特tet

2020-02-04

ARM 汇编语言官方手册(中文)

ARM 汇编语言官方手册(中文)

2017-07-06

内存管理与IO访问

内存管理与IO访问

2017-03-16

空空如也

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

TA关注的人

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