![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
学习
文章平均质量分 84
潘振杰
这个作者很懒,什么都没留下…
展开
-
linux里的nvme驱动代码分析(加载初始化)
基于qemu2.5 + linux4.5.3学习nvme驱动原创 2016-06-04 16:17:51 · 33627 阅读 · 13 评论 -
Android存储系统如何优化?
Android存储系统如何优化? 我也不知道…那为什么会想到要写这篇文章哪?主要是因为有天晚上和以前一个同事讨论到Android手机存储系统的优化问题。用过Android手机的人可能都会有这么个感觉,就是手机用久了之后系统会越来越慢。慢,其中很重要的一点就是和Android的存储系统有关。我们现在主流手机的内置存储芯片一般都是EMMC,一些旗舰级的Android手机已经在使用UFS接口的存储芯片,原创 2016-06-30 06:35:01 · 3969 阅读 · 2 评论 -
linux kernel编译产生的vmlinux Image zImage之间的关系
linux kernel的编译过程比较复杂,最后生成的给用户使用的文件也不是一蹴而就的。 先来看一段编译kernel时命令行最后的输出,主要可以分为5个步骤: 1. 生成vmlinux 2. 生成arch/arm/boot/Image 3. 生成arch/arm/boot/compressed/piggy.gzip LD vmlinux SYSMAP Syste原创 2015-09-03 06:56:55 · 7710 阅读 · 0 评论 -
x86架构里的cache
对x86里的cache不同种类的具体行为和特点进行了总结,并和arm进行了一些比较。当然,还有一些细节没有搞清楚,待未来继续学习。原创 2013-12-26 21:22:32 · 3597 阅读 · 0 评论 -
linux中mutex和semaphore的区别
很多编程的书里在介绍mutex和semaphore的时候都会说,mutex是一种特殊的semaphore.当semaphore的N=1时,就变成了binary semaphore,也就等同与mutex了。但是实际上,在linux中,他们的实现什有区别的,导致最后应用的行为也是有区别的。先看下面这个例子,这是一段linux kernel的代码:#include #inclu原创 2013-08-19 19:59:02 · 6187 阅读 · 0 评论 -
soft lockup和hard lockup介绍
在linux kernel里,有一个debug选项LOCKUP_DETECTOR。使能它可以打开kernel中的soft lockup和hard lockup探测。这两个东西到底有什么用处那?首先,soft/hard lockup的实现在kernel/watchdog.c中,主体涉及到了3个东西:kernel线程,时钟中断,NMI中断(不可屏蔽中断)。这3个东西具有不一样的优先原创 2013-08-19 16:52:48 · 30178 阅读 · 3 评论 -
fork()后父子进程间的变量共享情况
#include #include #include #include int golobal_a = 0;int main(){ int local_a = 0; pthread_mutex_t local_mutex_a; pthread_mutex_t local_mutex_b; pid_t pid; pthread_mutex_init(&local_mute原创 2013-08-19 15:30:47 · 6630 阅读 · 0 评论 -
C语言函数调用的汇编实现
int fun2(){ return 2;}int fun1(int a, int b, int c, int d, int e, int f, int g, int h, int i, int j, int k){ int aa; int bb; aa = 0x11; bb = 0x22; fun2(); aa = h; bb = i; return 1;}原创 2013-08-19 12:36:37 · 1843 阅读 · 1 评论 -
I2C(smbus、pmbus)和SPI协议分析
I2C和SPI作为两种非常常用的低速外部总线,已经不是什么新新技术了。 有些知识点,明白了,一段时间不用了,又忘记了。所以决定乘最近正好碰过这两个东西,还是写下来以备后患。I2CI2C是以前的飞利浦半导体制定的标准,也就是如今的NXP。I2C总线由一条数据线(SDA)和一条时钟线(SCL)组成。设备分主从,主设备提供时钟,并发起操作。 看一下这张I2C协议必须和可选的功能表。最简单的模式的话,只原创 2016-06-17 20:10:33 · 29807 阅读 · 5 评论