触类旁通
pankul
这个作者很懒,什么都没留下…
展开
-
了解pcie总线
最好的学习pcie的教程依然是spec,当然网络上还是有很多的书籍的,比如下面这个网站:http://blog.sina.com.cn/s/articlelist_1685243084_3_1.html在看spec的时候,并不是所有的人都适合看某些章节,或者说,对于每个阅读者来说,不需要每个章节都理解。对于我们软件层面来说,chapter1、6、7还是需要认真阅读的。关于pci原创 2013-03-11 22:23:38 · 2239 阅读 · 0 评论 -
关于《调试九法》
有感于周围一些同事在工作中遇到问题不知所措的情况,想起以前开始进入行业的时候和老板和同事之间探讨方法论的情景,觉得对于工作来说,责任、积极性和努力固然重要,但是一些方法论,一些提升效率的技巧依然很关键。所以现在想重新拿起《调试九法》这本书,重新整理一下,找个时间再和大伙分享有关debug中可以运用的方法。总体规则,9个调试规则:rule1:理解系统rule2:制造失败r原创 2016-07-10 14:49:28 · 1494 阅读 · 0 评论 -
《大话处理器》Cache一致性协议之MESI
Cache一致性协议之MESI 处理器上有一套完整的协议,来保证Cache一致性。比较经典的Cache一致性协议当属MESI协议,奔腾处理器有使用它,很多其他的处理器都是使用它的变种。单核Cache中每个Cache line有2个标志:dirty和valid标志,它们很好的描述了Cache和Memory(内存)之间的数据关系(数据是否有效,数据是否被修改),而在多核处理器转载 2014-01-20 15:28:16 · 957 阅读 · 0 评论 -
对比UEFI中_CR 和Linux中container_of宏定义
最近一段时间都是游走于Firmware和Linux之间,其中Firmware包括uboot、pmon、和UEFI。看到一些code的时候,当然会对两种架构做一些比较,这样可以加深理解和记忆。同时也许在debug的时候相互借鉴一下。其实在UEFI中很多都借鉴了Linux架构的东西。窃以为,搭建和完善UEFI架构的家伙绝对也是Linux kernel的专家。比如UEFI中有个宏定义_CR,其作原创 2014-01-23 14:11:41 · 2228 阅读 · 0 评论 -
c语言宏定义的连接符##和#转字符串
c语言宏定义的连接符有哪些[此问题的推荐答案](一)宏定义中的## 连接符与# 符 ## 连接符号由两个井号组成,其功能是在带参数的宏定义中将两个子串(token)联接起来,从而形成一个新的子串。但它不可以是第一个或者最后一个子串。所谓的子串(token)就是指编译器能够识别的最小语法单元。具体的定义在编译原理里有详尽的解释,但不知道也无所谓。同时值得注意的是#符是把传递过来的参数当成转载 2013-07-17 17:04:57 · 1024 阅读 · 0 评论 -
关于Windows系统开机初始流程
作为一个底层开发人员来说,对OS部分的事情的研究不多,仅作了解。以方便分析问题和Debug。这里记录一下Window启动的初始流程,这些都是在阅读以前的笔记找到的资料。可能是综合网络上或者书上的资料总结的。原创 2013-07-10 16:48:55 · 1211 阅读 · 0 评论 -
RAR和ZIP:压缩大战真相
前言--王者归来? 等待足足两年之久,压缩霸主WinZip终于在万众期待下发布了9.0正式版。全世界自然一片沸腾,在世界各大知名下载网站中,WinZip9.0再次带起下载狂潮。然而此时国内并没有王者回归的欢呼,却一致委婉或直接地表达出失望地情绪,而下载更新的用户也寥寥无几,这绝对是一道国内独特的风景,它不禁让人想问,为什么?从各种评测报告看,因为不支持RAR格式,所以兼容性更佳的WinRAR转载 2013-07-10 00:52:52 · 1688 阅读 · 0 评论 -
关于Linux kernel中的config配置和makefile的组织
以前对linux kernel的编译有个大概的了解,内中的细节却没有花时间去研究。今天看到一篇关于linux kernel配置编译的解说,说的和自己理解的差不多,而且博主研究的也比我详细。故引用之,以便加深学习。基于转载,当然也补充一点:make config是如何将多级目录中的kconfig囊括在一起的呢?这个要注意一个语法:source。在多层目录中,主目录的kconfig文件会将次层转载 2013-06-03 22:45:23 · 2339 阅读 · 1 评论 -
Linux驱动学习--简单示例
最近由于项目需要,要在Linux下弄个I2C 设备的驱动程序,以便实现Linux下对底层硬件的访问和控制。之前并没有多少相关的知识储备,从零开始自学。翻了几篇《Linux设备驱动程序》,并结合Linux source code看驱动的实现原理。以下是转载,很简单的一个示例。-----------------------------------------------------------转载 2013-05-30 21:54:25 · 1370 阅读 · 1 评论 -
对于i2c设备的用户空间的访问
Usually, i2c devices are controlled by a kernel driver. But it is alsopossible to access all devices on an adapter from userspace, throughthe /dev interface. You need to load module i2c-dev for th转载 2013-05-13 00:26:12 · 3144 阅读 · 0 评论 -
mknod指令详解
mknod指令详解mknod - make block or character special filesmknod [OPTION]... NAME TYPE [MAJOR MINOR] option 有用的就是 -m 了 name 自定义 type 有 b 和 c 还有 p 主设备号 次设备号主设备号是由linux转载 2013-05-19 00:05:34 · 1661 阅读 · 1 评论 -
处理器中的流水线技术
处理器中的流水线技术在现代处理器中,流水线是一个最基本的概念。在了解cpu的时候,很多时候会提及拥有多少级流水线。虽然这个概念并不是在计算机技术中诞生的,但是这个技术却在处理器世界中大放异彩。流水线(Pipeline)技术是指程序在执行时候多条指令重叠进行操作的一种准并行处理实现技术。通俗的讲将一个时序过程,分解成若干个子过程,每个过程都能有效的与其他子过程同时执行。这种思想最初是在RIS原创 2013-04-07 22:32:41 · 9400 阅读 · 0 评论 -
Ubuntu 16.04安装有道词典
以前用Ubuntu 14.04 的时候,直接下载有道词典官方deb安装包,就安装好了,现在换成Ubuntu 16.04因为有些依赖问题就无法安装成功。于是Google之,成功解决,也顺便熟悉了一下dpkg的用法。因为官方的deb包(Ubuntu版本的)依赖gstreamer0.10-plugins-ugly,但是该软件在16.04里面已经没有了。但其实没有该包,完全不影响有道词典的使用。所以我转载 2017-02-14 15:46:24 · 529 阅读 · 0 评论