<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[xiaoseha的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaoseha</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaoseha]]></copyright><item><title><![CDATA[gdb使用累积汇总]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/51645620</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/51645620</guid><author>xiaoseha</author><pubDate>Sun, 12 Jun 2016 13:49:06 +0800</pubDate><description><![CDATA[1. gdb调试时查看不了宏定义变量，显示 
  
    解决：因为编译器默认没有把宏定义扩展信息编译进二进制文件。gcc在编译的时候应该加上-gdwarf-2和-g3参数。（在CFLAGS参数后添加-g3 -gdwarf-2参数）。 
    重新编译，调试：  
    需要查看宏定义是如何被展开的，可以使用如下的命令: 
macro expand macro_name]]></description><category></category></item><item><title><![CDATA[vim问题汇总]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/51577692</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/51577692</guid><author>xiaoseha</author><pubDate>Fri, 03 Jun 2016 11:43:41 +0800</pubDate><description><![CDATA[解决vim方向键出现ABCD以及Backspace无法删除问题 
复制etc中的vimrc到根目录下为.vimrc 
  cp /etc/vim/vimrc ~/.vimrc
取消查找替换高亮 
命令模式下输入：nohl]]></description><category></category></item><item><title><![CDATA[UART笔记]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/51545404</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/51545404</guid><author>xiaoseha</author><pubDate>Tue, 31 May 2016 14:21:24 +0800</pubDate><description><![CDATA[本文章主要参考了TI的UART用户向导文档（SPRUFM6C）。
   UART是英文Universal Asynchronous Receiver/Transmitter的缩写，翻译成中文就是通用异步收发器。
   首先，我们从UART的名字入手解读下UART。Universal翻译成中文就是通用（不是美国通用电气、通用汽车哈^_^），也就是普遍使用，公共使用的意思，说明这个东东不是OMAP]]></description><category></category></item><item><title><![CDATA[缓存管理注意]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/51095831</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/51095831</guid><author>xiaoseha</author><pubDate>Fri, 08 Apr 2016 13:30:22 +0800</pubDate><description><![CDATA[在DMA设备从内存取数据之前: 
如果一个设备从内存中取得数据，它必须取得正确的数据。如果D-cache是write-back，并且程序已经写了一些数据，那么很可能其中一些正确的数据还保留在D-cache中而没有写回到主存中去。CPU当然不可能看到这个问题；如果CPU需要这些数据，它会从cache中得到正确的数据。 所以在DMA设备开始从内存中读数据前，任何一个将被读数据如果还保留在D-cach]]></description><category></category></item><item><title><![CDATA[内存管理笔记]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/51028155</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/51028155</guid><author>xiaoseha</author><pubDate>Thu, 31 Mar 2016 16:58:13 +0800</pubDate><description><![CDATA[1. 物理地址和逻辑地址
物理地址：加载到内存地址寄存器中的地址，内存单元的真正地址。在前端总线上传输的内存地址都是物理内存地址，编号从0开始一直到可用物理内存的最高端。这些数字被北桥(Nortbridge chip)映射到实际的内存条上。物理地址是明确的、最终用在总线上的编号，不必转换，不必分页，也没有特权级检查(no translation,
 no paging, no privileg]]></description><category></category></item><item><title><![CDATA[Cygwin下VI命令使用-修改文件]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/50996054</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/50996054</guid><author>xiaoseha</author><pubDate>Mon, 28 Mar 2016 10:38:57 +0800</pubDate><description><![CDATA[vi编辑器是所有Unix及Linux系统下标准的编辑器，它的强大不逊色于任何最新的文本编辑器，这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本，vi编辑器是完全相同的，因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器，学会它后，您将在Linux的世界里畅行无阻。

1、vi的基本概念
　　基本上vi可以分为三种状态，]]></description><category></category></item><item><title><![CDATA[MIPS cache指令]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/50981817</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/50981817</guid><author>xiaoseha</author><pubDate>Fri, 25 Mar 2016 16:33:43 +0800</pubDate><description><![CDATA[MIPS cache指令：
指令编码：
31...26        25...21     20...16    15......0
CACHE(101111)  base        op          offset
格式：
cache op，offset(base)
执行op制定的cace操作，16位的offset经符号位扩展，添加到base寄存器以形成有效地址；
===]]></description><category></category></item><item><title><![CDATA[MIPS中LL/SC指令介绍]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/50977403</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/50977403</guid><author>xiaoseha</author><pubDate>Fri, 25 Mar 2016 10:23:59 +0800</pubDate><description><![CDATA[注：本文主要参考了IBM的《Linux 的 Spinlock 在 MIPS 多核处理器中的设计与实现》一文，需要更详细的关于spinlock的实现可以看前述文章。

在多线程程序中，为了实现对共享变量的互斥访问，一般都会用spinlock实现，而spinlock需要一个TestAndSet的原子操作。而这种原子操作是需要专门的硬件支持才能完成的，在MIPS中，是通过特殊的Load，Store操]]></description><category></category></item><item><title><![CDATA[什么是TLB ?]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/50964911</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/50964911</guid><author>xiaoseha</author><pubDate>Wed, 23 Mar 2016 17:18:45 +0800</pubDate><description><![CDATA[TLB:Translation Lookaside Buffer.
根据功能可以译为快表，直译可以翻译为旁路转换缓冲，也可以把它理解成页表缓冲。里面存放的是一些页表文件（虚拟地址到物理地址的转换表）。当处理器要在主内存寻址时，不是直接在内存的物理地址里查找的，而是通过一组虚拟地址转换到主内存的物理地址，TLB就是负责将虚拟内存地址翻译成实际的物理内存地址，而CPU寻址时会优先在TLB中进行寻址。]]></description><category></category></item><item><title><![CDATA[MIPS 通用寄存器]]></title><link>https://blog.youkuaiyun.com/xiaoseha/article/details/50955525</link><guid>https://blog.youkuaiyun.com/xiaoseha/article/details/50955525</guid><author>xiaoseha</author><pubDate>Tue, 22 Mar 2016 15:26:22 +0800</pubDate><description><![CDATA[MIPS有32个通用寄存器（$0-$31），各寄存器的功能及汇编程序中使用约定如下：

下表描述32个通用寄存器的别名和用途




REGISTER


NAME


USAGE




$0


$zero


常量0(constant value
 0)




$1


$at


保留给汇编器(Reserved fo]]></description><category></category></item></channel></rss>