自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 左值、左值引用、右值、右值引用

1、左值和右值的概念 左值是可以放在赋值号左边可以被赋值的值;左值必须要在内存中有实体; 右值当在赋值号右边取出值赋给其他变量的值;右值可以在内存也可以在CPU寄存器。 一个对象被用作右值时,使用的是它的内容(值),被当作左值时,使用的是它的地址。2、引用 引用是C++语法做的优化,引用的本质还是靠指针来实现的。引用相当于变量的别名。 引用可以改变指针的指向,还可以改变指针所指向的值。 引用的基...

2020-12-23 14:52:46 294

转载 进程的基本属性:进程ID、父进程ID、进程组ID、会话和控制终端

摘要:本文主要介绍进程的基本属性,基本属性包括:进程ID、父进程ID、进程组ID、会话和控制终端.进程基本属性1.进程ID(PID)函数定义:#include <sys/types.h>#include <unistd.h>pid_t getpid(void);函数说明:每个进程都有一个非负整型表示的唯一进程ID(PI...

2020-01-16 10:35:12 1677

转载 Linux查看系统block size大小的方法

1.tune2fs命令查看block size大小:[root@localhost tmp]# tune2fs -l /dev/sda1|grep "Block size"Block size: 1024/dev/sda1 为/boot 分区的挂载点;2.stat命令查看block size大小:[root@localhost tmp]# stat ...

2019-07-03 11:24:20 1597

转载 [android]system.img文件的打包和解包

1:system.img的两种格式system2_0.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)system1_0.img: Android sparse image, version: 1.0, Total of 39...

2019-07-03 11:23:26 5396

转载 android adb 文章

https://blog.csdn.net/u010223349/article/details/41120255     Android ADB实现解析https://blog.csdn.net/u010223349/article/details/43227807      adb命令执行过程解析 https://blog.csdn.net/q1183345443/article/...

2019-02-13 09:37:34 178

转载 USB通信协议深入理解

https://blog.csdn.net/g200407331/article/details/51682597/0. 基本概念       一个【传输】(控制、批量、中断、等时):由多个【事务】组成;       一个【事务】(IN、OUT、SETUP):由一多个【Packet】组成。       USB数据在【主机软件】与【USB设备特定的端点】间被传输。【主机软件】与【US...

2019-01-24 10:52:23 399

原创 std::bind 详解及参数解析

// Bind_std_function.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include &lt;iostream&gt;#include &lt;functional&gt;#include &lt;random&gt;#include &lt;memory&gt;//学习bind的用法void f(int n1, int n...

2019-01-20 19:00:03 1761

转载 用crash工具分析Linux内核死锁的一次实战

https://blog.csdn.net/juS3Ve/article/details/79428049

2019-01-10 14:27:04 851

转载 kernel ramdump分析--如何启动crash

一.怎么抓取kernel ramdump1.手机准备到代码的根目录 执行python vendor/xiaomi/securebootsigner/Qualcomm/tools/debugpolicy.py然后会自动重启第二步重启之后 需要有rootadb rootadb shell "echo 1 &gt; /sys/module/msm_poweroff/paramete...

2019-01-10 14:25:02 2604 1

转载 高通平台Linux kernel死机解题心得-trace32的使用

1、前言1.1 目的能够结合知识背景,借助相关调试工具,使用一般分析手段分析、定位解决项目过程中遇到的死机类系统稳定性问题,提升工作效率持续积累,拓宽知识深度和广度1.2 死机?指系统发生致命性异常导致主动或者被动进入系统完全不可用的状态,导致系统死机的问题原因有很多,排除硬件问题,还有这些大模块:Android、Linux kenrel、modem、TZ 等等,各个子系统都有可能导致系...

2019-01-08 14:49:43 6472

转载 hexdump命令使用

hexdump命令是Linux下的打印16进制的利器,它可以按我们指定的格式输出16进制,特别有用,配合eeprom来用简直是绝配。今天我们来介绍一个hexdump命令的使用: 首先我们准备一个测试用的文件test,十六进制如下: [plain] view plaincopy00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F  ...

2019-01-05 15:47:44 579

转载 alsa 开发文章集锦

http://www.cnblogs.com/linhaostudy/p/8169383.html#_label2

2019-01-03 14:32:24 271

转载 killProcessGroup

在阅读本篇之前,你首先需要大概清楚一点,无论是系统杀(android机型上长按home键中清除),或者是他杀(第三方管理软件,如360,腾讯等)。其实现方法,基本都是借助ActivityManagerService的removeLruProcessLocked,改变主要也是在这里一、 先看代码有啥不同5.0以下我们先来看看Android4.4的源码,ActivityManagerService(源...

2018-05-24 14:23:33 3195

转载 fasync

fasync和kill_fasync是内核信号机制在驱动中的一个应用,低层原理是信号收发。让一个驱动一个进程绑定。由于驱动并不知道应用程序的ID,或者说应用程序的ID也并不是固定的。因此为了每次都正确的发送给一个固定应用及进程。则要对信号进行特殊应用。因为信号必须要知道进程ID才能正确的收发。LINUX系统对于每个应用进程号都是随机的每次开机或启动。这样就必须让一个特定驱动代码与特定进程通过每个变...

2018-05-16 17:48:15 2030

转载 linux之configfs简介和编程入门

一、什么是configfs是一种基于ram的文件系统二、configfs有什么用处在用户空间配置内核对象三、configfs VS ioctlconfigfs可直接察看,通过用户态目录文件访问接口,适用于内核对象有众多复杂的配置。四、configs VS sysfsconfigfs可以在用户态创建和删除内核对象。五、什么时候用configfs当内核需要很多参数需要配置时;当需要动态创建内核对象并且...

2018-04-08 11:56:32 1426

转载 Linux电源管理-wakeup count

前言在wakeup events framework小节中提到,wakeup events framwork可以解决system suspend和wakeup events之间的同步问题。而整篇下来没有看到是如何解决同步问题的。所有本小节继续分析wakeup events framework中的重要知识点-wakeup count。"wakeup count"是不是很熟悉?  是的

2018-04-04 14:20:35 488

转载 Linux电源管理_Wakeup events framework--(二)

1.  前言 本文继续“Linux电源管理(6)_Generic PM之Suspend功能”中有关suspend同步以及PM wakeup的话题。这个话题,是近几年Linux kernel最具争议的话题之一,在国外Linux开发论坛,经常可以看到围绕该话题的辩论。辩论的时间跨度和空间跨度可以持续很长,且无法达成一致。wakeup events framework是这个话题的一个临时性的解决

2018-04-04 14:19:20 226

转载 Linux电源管理-wakeup events framework

前言通常新机制/事物的出现往往是解决某些问题的,同样wakeup events framework机制也不例外。先带大家了解下wakeup events framework出现的背景,然后在了解其内部的实现机制。Linux系统中的电源管理一般是冷睡眠,而Android系统却将linux系统中的睡眠作为通常待机使用,显然Linux中的电源管理不符合Android系统。Android说既然不符

2018-04-04 14:18:29 498

转载 使用AsyncTask时出现doInBackground没有调用的处理方法

https://blog.csdn.net/mddy2001/article/details/17127065

2018-03-27 16:28:40 543

转载 Android debuggerd 源码分析

debuggerd 简介Android系统自带一个实用的程序异常退出的诊断daemon debuggerd。此进程可以侦测到程序崩溃,并将崩溃时的进程状态信息输出到文件和串口中,以供开发人员分析调试使用。Debuggerd的数据被保存在/data/tombstone/目录下,共可保存10个文件,当超过10个时,会覆盖重写最早生产的文件。串口中,则直接用DEBUG的tag,输出logcat信息。 L...

2018-03-27 16:14:38 340

转载 C++11 Lambda表达式(匿名函数)

C++11引入了lambda表达式,使得程序员可以定义匿名函数,该函数是一次性执行的,既方便了编程,又能防止别人的访问。Lambda表达式的语法通过下图来介绍:          这里假设我们定义了一个如上图的lambda表达式。现在来介绍途中标有编号的各个部分是什么意思。Lambda表达式的引入标志,在‘[]’里面可以填入‘=’或‘&’表示该lambda表达式“捕获”(l

2018-01-10 17:42:15 169

转载 Thread的中断机制(interrupt)

先看收集了别人的文章,全面的了解下java的中断:中断线程线程的thread.interrupt()方法是中断线程,将会设置该线程的中断状态位,即设置为true,中断的结果线程是死亡、还是等待新的任务或是继续运行至下一步,就取决于这个程序本身。线程会不时地检测这个中断标示位,以判断线程是否应该被中断(中断标示值是否为true)。它并不像stop方法那样会中断一个正在运行的线程。判断线程

2017-12-22 12:03:11 357

转载 Android_Handler机制

了解Handler消息机制,我们必须先知道“同步”和“异步”通信的差别  “同步”通信: 类似于打电话,跟同学进行电话对话,我必须等到和小明结束通话之后,才能再拨打其他人的电话(同步就是发送一个请求之后,什么事都不做,一直等到结果返回后才继续做下面的事情)   "异步"通信: 比如我给几个同学发送E-mail邮件,全部发送过去之后,不需要在这边等他们回复, 我还

2017-12-18 16:05:59 128

转载 c++11 中的 move 与 forward

一. move关于 lvaue 和 rvalue,在 c++11 以前存在一个有趣的现象:T&  指向 lvalue (左传引用), const T& 既可以指向 lvalue 也可以指向 rvalue。但却没有一种引用类型,可以限制为只指向 rvalue。这乍看起来好像也不是很大的问题,但实际与看起来不一样,右值引用的缺失有时严重限制了我们在某些情况下,写出更高效的代码。举个粟子,假设我们有

2017-12-13 12:17:22 238

转载 c++中的左值与右值

左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/forward 等新语义的基础。左值右值的定义左值与右值这两概念是从 c 中传承而来的,在 c 中,左值指的是既能够出现在等号左边也能出现在等号右边的变量(或表达式),右值指的则是只能出现在等

2017-12-13 12:15:58 125

转载 C++类对象空指针访问成员函数

题目:class A{ public: void test(){printf("test A");}};int main(){ A*pA=NULL; pA->test();}结果是输出“test A”而不是程序崩溃,原因如下:一种解释:A*pA=null; pA->test();//当调用成员函数时,只是将实参null传给this指

2017-12-13 11:37:28 580

转载 onNewIntent调用时机

singleInstance:第一次进入:onCreate onStart在栈顶再次进入: onNewIntent不在栈顶再次进入:onNewIntent onRestart onStart按home键再次进入:onRestart onStart按返回键:onRestart onStartstandard:第一次进入:onCreate onStart在栈顶再

2017-11-16 11:55:07 174

转载 Android如何得到当前正在屏幕上运行的程序包名?

ActivityManager mActivityManager =(ActivityManager)this.getSystemService(Context.ACTIVITY_SERVICE);if(Build.VERSION.SDK_INT > 20){ String mPackageName = mActivityManager.getRunningAppProcesses().

2017-11-09 14:39:45 1593

转载 android startService流程梳理笔记

1、ContextWrapper.startService  startService是Context的方法,Activity、Service都继承自ContextWrapper,而ContextWrapper又继承自Context,BroadcastReceiver的onReceive方法中有个参数是Context类型的,所以我们在Activity、Service、BroadcastRece

2017-11-09 10:32:33 332

转载 Android Context完全解析

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/47028975前几篇文章,我也是费劲心思写了一个ListView系列的三部曲,虽然在内容上可以说是绝对的精华,但是很多朋友都表示看不懂。好吧,这个系列不仅是把大家给难倒了,也确实是把我给难倒了,之前为了写瀑布流ListView的Demo就写了大半个月的时间。那么本篇文章我

2017-11-09 10:28:09 128

原创 hidl 摘抄

Android HAL类型 在此之前的ANDROID版本当中Android HAL没有什么特殊的特殊的,也么有什么分类,但是从android 8.0开始,Android重构了HAL与Android FW之间的联系结构,所以Android HAL会被区分成以下2种类型: 1,Binderized HALs,从名字上应该是指Binder化的HAL,对Android 比较...

2017-11-01 16:21:37 84

原创 hidl 摘抄

Android HAL类型 在此之前的ANDROID版本当中Android HAL没有什么特殊的特殊的,也么有什么分类,但是从android 8.0开始,Android重构了HAL与Android FW之间的联系结构,所以Android HAL会被区分成以下2种类型: 1,Binderized HALs,从名字上应该是指Binder化的HAL,对Android 比较...

2017-11-01 16:21:29 198

原创 i2c tools

将 i2c-tools 代码下载到 Android 源码的 external 目录下,我是在下面的网址上下载的:https://sourcecodebrowser.com/i2c-tools/ 在 i2c-tools 目录下新建 Android.mk 文件,内容如下:# external/i2c-tools/Android.mk LOCAL_PATH:...

2016-05-19 14:44:04 84

原创 android c++ 打印调用堆栈

cpp 1. 头文件 #include #include #include 2.源文件 android::CallStackstack; stack.update(1, gettid()); stack.log("satcklog", ANDROID_LOG_ERROR...

2016-03-31 13:56:25 1885

原创 emmc 版本号查询 by ext_csd

我是在编译了3.0内核后发现eMMC卡怎么也初始化不了,老提示这个错误。但正常的SD卡确可以使用,经过一番研究,在结合网上查找的资料,终于将问题解决了。 在网上搜到的资料,说明了内核对eMMC4.5的支持方法: [html]view plaincopy mmc...

2016-03-29 11:01:16 2325

原创 emmc 调试

一、/dev/block root@:/dev/block #ls bootdevice mmcblk0 mmcblk0p1 mmcblk0p10 ……. mmcblk0p18 mmcblk0p19 mmcblk0p2 mmcblk0...

2016-03-28 18:37:38 1087

原创 Android属性(property)机制

1. 属性简介 Android里有很多属性(property),每个属性都有一个名称和值,他们都是字符串格式。这些属性定义了Android系统的一些公共系统属性。比如: [dalvik.vm.dexopt-flags]: [m=y] [dalvik.vm.heapgrowthlimit]: [48m] [gsm.operator....

2016-02-02 17:20:15 167

原创 oom killer

当内存严重不足时,内核有两种选择:1.直接panic 2.杀掉部分进程,释放一些内核。通过/proc/sys/vm/panic_on_oom可以控制,当panic_on_oom为1时,直接panic,当panic_on_oom为0时内核将通过oom(Out Of Memory)killer杀掉部分进程。 对于每个进程都有一个oom_score的属性(/p...

2016-02-02 10:29:29 128

原创 printf和fprintf及用freopen()进行重定向

&#13; &#13; &#13; 除了人工的分析之外,最简单最直接的调试方法要算printf了。不过,我们这里推荐使用的并不是初学C语言时使用的函数int &#13;printf(const char *format, &#13;...),而是稍微复杂一点的fprintf()函数,因为它更方便我们之后重定向错误输出信息到指定的设备。fprintf()函数的原...

2016-02-02 10:27:28 332

原创 Device tree customization

&#13; &#13; Device tree file changes&#13;&#13;&#13; &#13;&#13;&#13;&#13; Step 1: OEMs can create their own device tree by &#13;adding "qcom,msm-id/qcom,board-id" entry at the to...

2015-08-11 17:42:08 206

嵌入式Linux 下PPP网络协议实现

本文主要论述了嵌入式Linux 下PPP 的实现;具体阐述了嵌入式Linux 网络支持的整体架构及PPP 的作用,对PPP 的各个管理模块进行了详细的论述,最后对PPP 的发送接收过程进行了分析。

2009-08-30

空空如也

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

TA关注的人

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