- 博客(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
4073
原创 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
4725
原创 安桌Client如何访问server的service,以及service如何访问client的函数
安桌Client如何访问server的service,以及service如何访问client的函数安桌Client如何访问server的service,以及service如何访问client的函数一直以来对于客户端如保访问服务端提供的服务,以及服务如何回调客户端的功能函数弄不清楚,现在有了一知半解,所以记录下业随着学习的推进,慢慢来完善细节,可能细节有错误。【一个车载导航仪的整体框
2017-11-14 17:30:10
597
原创 LAUNCHER3讲解
别人的分析感觉不错收藏http://blog.youkuaiyun.com/rodsonl/article/details/20482461 已读http://blog.youkuaiyun.com/rodsonl/article/details/20497355 已读http://blog.youkuaiyun.com/rodsonl/article/details/20531209 已读http
2017-10-30 16:47:03
1614
原创 与服务service实现双向通迅方法 或叫 Service端和Client端的双向通信
参考博客https://race604.com/communicate-with-remote-service-1/
2017-10-24 16:09:33
584
原创 将Android系统源码导入ecplise
将Android系统源码导入ecplisehttp://www.cnblogs.com/l2rf/p/5825617.html
2017-09-28 10:45:48
439
原创 安桌可按控件的按下状态高亮不能显示出来的问题
安桌可按控件的按下状态高亮不能显示出来的问题我们以imageview为例 资料文件是自定义的如下 如果这样定义的话在按下时这个VIEW是不高亮的,他要根据软件里面的状态羔设置这个控制为setSelected状态,然后拉起我们自定义控件的TRUE状态图片,以及不高亮状态。如果我们代码里面没有去调用setSelected这个函数来设置这个VIEW为选中状态,那么他是不会
2017-09-19 11:38:05
475
原创 view 与surfaceview画图的区别
view与surfaceview画图的区别View是封装了一个canvas来画图的,并画图只能在主线程中执行。如ImageView就是继承的View来画图的,用View中的canvas来画Surfaceview也是继承于view,但他封装了一个surface对像。Surface可以使用后台线程绘制图。就这点就是与直接用view里面封装的canvas的区别。
2017-09-14 10:29:52
414
原创 systemUI与Launcher和Home的区别
systemUI与Launcher和Home的区别launcher就是主页,那些图标,启动应用的 和home是同一个东西systemUI就是通知栏,导航按键栏
2017-09-07 11:34:41
6464
原创 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
3864
原创 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
5814
原创 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
1130
原创 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
1749
原创 Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析
Android系统进程间通信(IPC)机制Binder中的Server启动过程源代码分析http://blog.youkuaiyun.com/luoshengyang/article/details/6629298fcntl(fd, F_SETFD, FD_CLOEXEC)close on exec, not on-fork,意为如果对描述符设置了FD_CLOEXEC,使用execl执
2017-06-27 16:46:34
414
原创 浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路
浅谈Service Manager成为Android进程间通信(IPC)机制Binder守护进程之路:http://blog.youkuaiyun.com/luoshengyang/article/details/6621566 Servicemanager在用户空间的源码位于diordnr5.0.2\frameworks\native\cmds\servicemanager目录下bi
2017-06-21 10:34:31
490
原创 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
553
原创 binder学习概述篇和路线图
Linux内核支持的进程间通信机制:a.管道pipe/*管道 2. 可以把管道想象为两个实体之间的单向连接器。注意,管道是半双工的, 3. 如果需要全双工通讯,应该转而考虑套接字。 4. 匿名管道又称管道,提供了一个进程与它的兄弟进程通讯的方法,只存在于父进程中; 5. 命名管道,可以存在与文件系统中,任意进程都可找到它,使得不同先祖的进程也可以通讯
2017-06-14 15:52:11
524
原创 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
1601
原创 android智能指针之轻量级指针
Android系统提供了三种类型的C++智能指针,分别为轻量级指针(light pointer),强指针(strong pointer)和弱指针(weak pointer)__attribute__((unused)):该属性定义的函数或变量可能不使用 告诉编译器不要产生警告信息在编译的时候C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const
2017-05-26 16:51:16
698
原创 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
549
原创 多线程下变量原子操作的几种方法
多线程下变量原子操作的几种方法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
1263
原创 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
733
原创 LINUX设备模型简述
LINUX设备模型的几大基础结构Kobjects【kobject】, Ksets【kset】 Ktype【ktype】 和 Subsystems【subsystem】 Inode--[kset]--------kobjects[驱动设备结构链关系 也可以认为是包含关系]Kobjects是创建SYS/下面文件的用的结构体,其它两个体是配合他完成任务的。可以看成是
2017-03-31 11:35:51
654
原创 中断上半部和下半部之低半部实现方法-softirq tasklet workqueue
Asmlinkage表示参数传送通过stack来传送而不是寄存器中断种类:一种是由CPU外部产生的,另一种是由CPU本身在执行程序的过程中产生的外部中断:就是通常所讲的中断INTERRUPT,对于执行中的软件来说,这种中断的发生完全是异步的,根本无法预测此类中断会在什么时候发生,因此,CPU或者软件对外部中断的响应完全是被动的。不过,软件可以通过关中断指令关闭对中断的响应,把它反映
2017-02-17 09:55:40
966
1
原创 LINUX进程与线程概述
进程必需具备如下几个要素,完整的具备了才能称之为进程,否则称之为线程:有一段程序供其执行,就好像一场戏要有一个剧本一样。这段不一定是进程所专用,可以与其它进程共用,就好像不同剧团的许多场演出可以共用一个剧本一样。有起码的“私有财产”,这就是进程专用的系统堆栈空间。有户口,这就是在内核中的一个task_struct数据结构,操作系统教科书中常称为进程控
2017-01-07 11:32:55
481
原创 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
8063
原创 LINUX驱动异步编程之信号实现梗概
LINUX驱动异步编程之信号实现梗概【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux系统中进程间.进程组内.进程本身当中都可能发生信息交互既通信。信号是实现这种交互的一种方式。内核框架中对于信号的实现有一整套的框架。大体上分为如下几个部
2016-12-22 11:43:14
610
原创 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
960
原创 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
1947
原创 LINUX系统调用原理-既应用层如何调用内核层函数之软件中断
LINUX系统调用原理-既应用层如何调用内核层函数之软件中断 SWI:software interrupt软件中断 ARM Linux系统利用SWI指令来从用户空间进入内核空间,还是先让我们了解下这个SWI指令吧。SWI指令用于产生软件中断,从而实现从用户模式变换到管理模式,CPSR保存到管理模式的SPSR,执行转移到SWI向量。在其他模式下也可使用SWI指令,处理器同
2016-11-16 09:06:14
4285
原创 OTG接口设备主从功能是如何实现的
OTG的时候用的.检测ID脚状态高低,从而判断为主设备或从设备.OTG检测的原理是:USB OTG标准在完全兼容USB2.0标准的基础上,增添了电源管理(节省功耗)功能,它允许设备既可作为主机,也可作为外设操作(两用OTG)。USB OTG技术可实现没有主机时设备与设备之间的数据传输。例如:数码相机可以直接与打印机连接并打印照片,手机与手机之间可以直接传送数据等,从而拓展了
2016-11-02 20:05:15
10450
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
2645
原创 Linux并发控制技术
【相关源码版本:LINUX内核源码版本:linux-3.0.86UBOOT版本:uboot-2010.12.Android系统源码版本:Android-5.0.2】 Linux并发控制技术,它的目标是让多个进程访问同一个资源克服其竟态。由现代操作系统都是并发的,例如对同一个资源的读写是并发进行的。为了解决读写的不同步问题,LINUX操作系统引入并发控制技术。这个技术
2016-10-13 20:00:34
755
原创 adb 用不了的原因
不能执行的原因是sdk中的adb.exe环境变量没有配置好,导致必须要在platform_tools按装上当中去执行才可以.接着在CMD中执行如下命令就能正使用了。我参考网上教程配置SDK环境变量还是不行。我就不配了直接用目录执行算了。搭建工具比较费时间。网上很多解决上面遇到的问题根本解决不了。说端口被占用,但我通过相关指令并没有占用。(端口被占用的解决办法参考http://jingyan.bai
2016-09-28 19:28:31
3183
原创 E:安桌层及文件系统层的PRINTf输出原理
(/device/console操控台原理分析,通过调用此操控台来输出信息,同时这儿涉及到/device/console调用TTY,然后TTY调用低层串口的分析 安桌LOG输出原理)LINUX内核源码版本:linux-3.0.86 /dev/console即控制台,是与操作系统交互的设备,系统将一些调试信息直接输出到控制台上,是TTY设备的一个子集 Tty:
2016-09-19 16:37:18
1087
原创 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
1183
原创 C:LINUX如何来使用传入的参数
(由CONSOLE来使用的,既在CONSOLE注册时利用传进来的参数,这个是LINUX内核层的CONSOLE,注意与安桌层及文件系统层的PRINTK的区别。内核层只需要实现输出功能,但前者必须要实现输入输出,以及更复杂的功能)LINUX内核源码版本:linux-3.0.86 Console控制台:对于输入输出设备一个统一管理组件,可以认为是对计算机输入输出设备的封装。我们对
2016-09-13 20:29:20
1301
php+MySQL基于百度BAE的微信公众平台获取access_token - 优快云博客.url
2020-02-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人