自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(110)
  • 资源 (12)
  • 收藏
  • 关注

原创 iozone使用简介

iozone使用简介iozone(www.iozone.org)是一个文件系统的benchmark工具,可以测试不同的操作系统中文件系统的读写性能。可以测试 Read, write, re-read,re-write, read backwards, read strided, fread, fwrite, random read, pread,mmap, aio_read, aio_write 等等不同的模式下的硬盘的性能。命令详情-a Auto mode-A Auto2 mode-b

2020-05-20 09:45:46 4868

转载 CrystalDiskMark简介

CrystalDiskMark简介转载自:https://www.gezila.com/tutorials/48337.htmlCrystalDiskMark 是一个测试你的硬盘或者存储设备的小巧硬盘测试工具。简单易于操作的界面让你随时可以测试你的存储设备,测试存储设备大小和测试数字都可以选择,还可测试可读和可写的速度。具体的使用方法如下:  Seq:连续做读、写硬盘检测(1024K位元组)  512K:随机做读、写硬盘检测(512K位元组)  4K:随机做读、写硬盘检测(4K位元组)  4K

2020-05-19 22:14:24 6422

转载 UFS3.1新特性

UFS3.1新特性UFS 3.1的四项新功能影响小结转载:https://zhuanlan.zhihu.com/p/106570608UFS 3.1的四项新功能其实严格来说小米说的那3个功能中HPB是可选的,具体来说UFS 3.1(JESD220E)标准在UFS 3.0(JESD220D)基础上新增了三个功能和一个可选功能,他们分别是Write Booster、DeepSleep、Performance Throttling Notification和可选的HPB功能。Write Booster:也

2020-05-17 23:44:28 5138

原创 测试公众号二维码

2019-04-18 09:45:05 707

原创 xu4源码及编译流程

一、环境配置:1、在linux的根目录下创建名为toolchains的文件夹,用于保存交叉编译软件;2、拷贝gcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415_linux.tar.gz到toolchains文件夹下;3、 解压4、tar –xvfgcc-linaro-arm-linux-gnueabihf-4.7-2013.04-20130415...

2018-03-16 13:54:55 549

原创 vs2010 MFC 点击对话框按钮无法创建响应函数

IDE:vs2010问题出现的步骤:1、通过mfc创建一个对话框;2、为对话框创建对话框类;3、双击对话框上的“OK”按钮,创建按钮点击事件函数成功;4、移动对话框类的位置,同时在工程中删除对话框类,并重新加载新位置的对话框类;5、双击对话框上的“OK”按钮,可以跳转到响应函数,但是点击“cancel”按钮,无法创建对应的响应函数,也无法通过向导添加响应函数。

2017-10-26 16:02:39 4054

转载 国内大公司的开源项目一览表

转载地址:http://gad.qq.com/article/detail/34413?sessionUserType=BFT.PARAMS.239074.TASKID&ADUIN=913952918&ADSESSION=1508304044&ADTAG=CLIENT.QQ.5539_.0&ADPUBNO=26730奇虎360 https://github.com/Qihoo3

2017-10-18 14:47:42 575

转载 Android源码编译时jdk冲突解决办法

做Android rom开发过程中,可能会经常做不同的版本4.2,4.4,5.1或者6.0。每个版本的编译环境对jdk的版本要求都有点差异。4.2版本需要使用jdk1.5或者1.6,使用1.7的jdk编译时会报类型错误等问题 5.1以上的版本需使用openJDK 1.7及以上,否则会直接报“目标版本与源版本冲突”之类的问题。 平时,我们的一个Linux编译服务器中会存放多个不同an

2017-08-14 16:45:31 922

原创 Sumsung7420 通过sd刷UFS日志分析(UFS正常)

1、日志如下Checking Boot Mode ... UFSEL3 monitor information => Built : 07:10:44, Apr 7 2015UFS: UPIU_QUERY_OPCODE_WRITE_DESC : len90lun:0 Query Response : 0xfaUPIU_ATTR_ID_BOOTLUNEN : 00000001B

2017-08-10 09:50:18 1644

原创 samsung 7420 在UFS烧录系统流程(ufs不存在)

本文未完待续drivers\block\scsi_ufs.c int ufs_init(int mode)/* 1. called by arch/lib/board.c*/int ufs_init(int mode){ int res = 0, i;#if !SD_FIRM_IN && !FIRM_IN_UFS if ((mode == 2) && (e

2017-08-02 17:55:59 1464

转载 USB设备开发---- usb描述符概述

转载自:http://blog.csdn.net/saloon_yuan/article/details/7837492 说到USB设备,不得不提到各种描述符(descriptors), 一般来说,描述符有如下几种:    1:设备描述符(Device Descriptors)    2:配置描述符(Configuration Descriptors)    2

2017-07-21 10:33:32 387

原创 fastboot系统更新代码流程分析

说明:本流程基于Android4.4.2中的fastboot源代码讲解,该代码路径在"/system/core/fastboot"下。1、从fastboot.c文件的main函数开始:int main(int argc, char **argv){ int wants_wipe = 0; int wants_reboot = 0; int wants_reboot

2017-07-19 17:24:19 3088

原创 windows系统下华为HIKey960开发板使用Fastboot升级系统操作步骤

1、启动开发板到fastboot模式1.1、开发板断电;1.2、将单板背面的DIP开关的1,3号开关打到on,2号打到off;1.3、开发板上电;1.4、用type-c线连接单板的type-c口,另外一头连接PC2、PC端检查设备连接;2.1、请先检查PC端是否已经有fastboot工具,如果没有请自行下载;2.2、在fastboot.exe工具的路径打开DOS

2017-07-19 17:04:03 2925 2

原创 Minimum supported Gradle version is 2.14.1. Current version is 2.8.

在编译的时候出现如下错误:Error:(9, 1) A problem occurred evaluating project ':CameraLibrary'.> Failed to apply plugin [id 'android-library']   > Minimum supported Gradle version is 2.14.1. Current version i

2016-11-23 17:28:19 2264

翻译 代码转换

err = mmc_cache_ctrl(host, 0); if (err) goto out; if (mmc_can_poweroff_notify(host->card) && ((host->caps2 & MMC_CAP2_FULL_PWR_CYCLE) || !is_suspend)) err = mmc_poweroff_notify(host->card, no

2016-10-31 17:12:04 580

原创 Androidstudio JNI 环境配置

演示环境:Android studio版本:1.5.1jdk版本:1.8.0_05测试平板:台电P70 4G平板android版本:5.1本机NDK版本:r10 1、新建一个androidstudio工程;2、创建一个native的类文件如下:publicclassFFU{static{System.loadLibrary("ffu");}pub

2016-10-24 10:52:13 371

原创 Android 关机FrameWrok层代码调用流程

PowerManager的reboot函数:/** * Reboot the device. Will not return if the reboot is successful. * * Requires the {@link android.Manifest.permission#REBOOT} permission. * *

2016-09-12 16:48:11 632

原创 android系统签名的不足

android编程时,有时候我们可能需要时到到比如重启、关机等特殊的权限!此时需要用到app系统签名,app才可以运行!比如:uses-permission android:name="android.permission.REBOOT">uses-permission>uses-permission android:name="android.permission.SHUTDOWN">

2016-09-05 21:02:43 1441

原创 Permission is only granted to system apps

在添加一些系统权限时,我们会遇到编译出错的情况如下:一、Elipse的解决方法百度后,基本都是基于eclipse的解决方案:Window -> Preferences -> Android -> Lint Error Checking.在ID列表中,找到ID = ProtectedPermission,设置Serverity低于Error,比如Warning级别

2016-09-05 17:37:15 24360 4

转载 app自己关闭

第一种方式:基类activity中保存一个activity的列表,逐一关闭;第二种方式:intent.setAction("exit_app")有空的时候会举例来说明,暂时先欠着!参考链接:http://www.cnblogs.com/ruiati/p/3539895.html

2016-08-30 09:56:06 559

原创 mmc驱动中的mmc_host结构体中rescan_disable变量的作用及使用

一、rescan_disable的作用该变量在mmc_host中是这样定义的:int rescan_disable; /* disable card detection */注释的意思:取消探测卡的操作。作用:当为0,表示开启卡的探测开关;为非0表示关闭卡的探测。二、被调用的地方rescan_disable=0rescan_disable=1

2016-08-26 10:58:01 1694 1

原创 emmc检测及初始化

本文将基于emmc驱动来描述系统是如何检测到emmc设备,并进行初始化操作的。

2016-08-24 17:38:17 11881 1

转载 emmc启动过程--基于spec

本文以JEDEC eMMC 5.0为标准。在上电或者reset操作之后(通过CMD0发送0xF0F0F0F0或者硬件重启),在发送第一个命令之前,若是CMD信号保持74个或以上的clock cycles的LOW状态,slave开始执行boot模式初始化,且在内部开始准备boot数据。Master选择从哪个partition读取boot数据是可以被提前设置的(

2016-08-24 14:24:50 6296

转载 mmc_blk_probe什么时候被调用

linux的emmc驱动在drivers\mmc\card\block.c,其mmc_dirver结构体如下:static struct mmc_driver mmc_driver = {.drv= {.name = "mmcblk",},.probe = mmc_blk_probe,.remove = mmc_blk_remove,.suspend = mmc_blk_

2016-08-24 11:02:37 1883

转载 待研究列表

linux的idr机制:一个id指向一个指针,通过id可以找到指针。优势:和使用id作为数组的下标相比,避免id太大,导致数组占用太大内存。和使用链表来存储指针相比,加快了寻找的速度。参考链接:http://blog.csdn.net/yyttiao/article/details/8164029

2016-08-19 10:21:41 359

原创 Android系统版本更新记录

https://developer.android.com/about/versions/marshmallow/index.html

2016-08-16 14:11:49 1269

转载 android休眠唤醒流程

Android的休眠与唤醒

2016-08-15 20:26:37 892

原创 android关机时Framework层对存储设备的操作分析

以下分析基于android-6.0.1_r3源码。关于android关机流程,推荐以下博文(感谢博主的辛勤付出):Android关机流程源码分析本文主要分析关机时Framework层对存储设备的操作。在上面推荐的博文的后半部,有一段这样的代码:public void run() { BroadcastReceiver br = new BroadcastReceiver

2016-08-15 17:11:09 1393

原创 mmc ops结构解析

在mmc.c文件中,有两个很重要的总线操作集变量,分别为:用于可热拔插设备的mmc_ops:static const struct mmc_bus_ops mmc_ops = { .remove = mmc_remove, .detect = mmc_detect, .suspend = NULL, .resume = NULL, .power_restore = mmc_pow

2016-08-15 10:30:05 1965 1

原创 sd/mmc驱动总线函数指针解析

在这篇文章中,我们来分析一下linux下的sd/emmc驱动的总线函数。在linux源码的\drivers\mmc\core下的bus.c文件中。      看一下总线变量的定义:static struct bus_type mmc_bus_type = { .name = "mmc", .dev_groups = mmc_dev_groups, .match = mmc_bus

2016-08-12 16:52:21 1111

原创 sd/mmc卡驱动函数指针解析

linux的sd/mmc驱动保存在源代码的\drivers\mmc目录下,而卡驱动的在mmc模块的card层的block文件中。一、mmc_driver结构/* * MMC device driver (e.g., Flash card, I/O card...) */struct mmc_driver { struct device_driver drv; int (*prob

2016-08-12 10:29:07 1626

原创 linux reboot函数各分支对比分析

在linux里面,关机、重启可以通过不同的命令实现,这些命令的具体了解,我推荐下面这篇博文:linux 关机命令总结

2016-08-10 16:38:57 3339

原创 linux关机时emmc驱动处理流程

代码如下: /** * kernel_restart - reboot the system * @cmd: pointer to buffer containing command to execute for restart * or %NULL * * Shutdown everything and perform a clean reboot. * This is not s

2016-08-05 09:53:31 6646 2

原创 emmc/sd host层解析

在linux驱动相关知识整理一文中,我们说到总线、驱动、设备的关系。在emmc/sd驱动总线简析一文中讲了emmc的总线,在emmc/sd 区块层解析 emmc/sd 核心层解析 这两篇文章中将了驱动。是不是还差设备啊。那我们就开始吧。

2016-07-28 17:58:25 3948

原创 emmc/sd 核心层解析

在前一篇文章emmc/sd 区块层解析,我们描述

2016-07-27 20:05:33 4829 1

原创 emmc/sd 区块层解析

在文章emmc/sd驱动代码预览中提到的关于emmc/sd驱动的第一个模块为Card(区块层),本文我们结合代码来描述该模块。由驱动的基础知识我们知道,module_init所加载的初始化函数是模块的入口函数,打开block.c文件,在文件末尾我们可以看到有如下代码:module_init(mmc_blk_init);module_exit(mmc_blk_exit);那么我们就来看看m

2016-07-27 10:49:52 4718

原创 emmc/sd驱动总线简析

在前面有一篇文章linux驱动相关知识整理中我们提到,总线是关联驱动和设备的枢纽,那么在分析EMMC驱动的时候,我们先来分析总线。而通过前一篇文章emmc驱动代码预览可以知道在core文件夹下有bus.h/.c文件,那就进去瞧一瞧吧。打开bus.c文件,下面有这样一段代码:subsys_initcall(mmc_init);module_exit(mmc_exit);subsys_

2016-07-26 18:10:12 2045

转载 emmc/sd驱动代码预览

在前一篇文章linux驱动相关知识整理中我们提到

2016-07-26 10:27:26 2605

原创 linux驱动相关知识整理

由于工作的需要,需要去看emmc驱动的代码,根据我的学习流程,先总结一下对驱动架构的了解。一、构造和运行模块1.1、模块的加载和卸载Linux有许多功能是通过模块的方式,在需要时才载入kernel,如此可使kernel较为精简,进而提高效率,以及保有较大的弹性。这类可载入的模块,通常是设备驱动程序。insmod:加载模块,需要指定完整的路径和模块名字modprobe:加载有

2016-07-25 15:26:08 1753

原创 Android Vold实现总览

Android中的vold模块出于Framework层和linux内核层之间,启到呈上启下的作用。Android系统通过vold层完成磁盘的热插拔(包括:挂载、卸载、格式化等)功能。本篇将从主线程流程(main函数),以及类结构的角度来分析vold的实现原理,后续还有三篇文章来详细讲解vold的实现过程。一、vold下主流程代码分析在关键代码行后有注释:int main

2016-06-30 15:37:21 1116

util-linux-ng-util-linux-ng-2.17.2-12.24.el6_8.1.zip

这是一个工具集,包含:fdisk源码、mount源码、fsck源码等

2021-08-26

UFS2.0_3.0.zip

压缩包中有标准的UFS3.0与UFS2.0协议,一站式下载,给个好评哦。

2019-09-05

UFS2.0标准协议

标准的UFS2.0协议文档,带一些注释和说明,很完整,很清晰。

2018-05-25

NNNesterj 游戏虚拟机

针对NES(美版FC)制作的模拟器,特点是非常逼真地再现FC的声音。后来有日本玩家将Nester稍微修改成为支持日文界面的模拟器NesterJ。探索并没有终止,不久后被日本人戏称为“豪华版NesterJ”的NNNesterJ横空出世。在以后的版本中NNNesterJ这个名字再也没有变化过

2018-03-13

很好用的jlink

很好用的jlink工具,在windows端使用,好用就给好评哦

2017-11-21

文件异或和工具

本工具用于计算文件的基于异或算法的32位,16位,8位的CheckSum值

2016-10-18

Android系统源代码情景分析part3

详细讲解android的实现原理

2016-07-01

Android系统源代码情景分析part2

详细讲解android的实现原理

2016-07-01

Android系统源代码情景分析part1

详细讲解android实现原理

2016-07-01

Head First 设计模式

更加详细的讲解23个设计模式,一天一个,希望大家一起提高

2014-03-03

设计模式完整版

23个经典的设计模式 程序员必读 设计模式

2013-12-24

Effective C++中文版

Effective C++第二版 中文版

2011-11-16

空空如也

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

TA关注的人

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