<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[jerrykinki的专栏]]></title><description><![CDATA[嵌入式linux相关]]></description><link>https://blog.youkuaiyun.com/jerrykinki</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; jerrykinki]]></copyright><item><title><![CDATA[Blog搬家了]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/2759796</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/2759796</guid><author>jerrykinki</author><pubDate>Sat, 02 Aug 2008 23:51:00 +0800</pubDate><description><![CDATA[新blog搬到了chinaunix了。请访问http://blog.chinaunix.net/u2/75096/]]></description><category></category></item><item><title><![CDATA[用diff和patch备份源代码]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/2758718</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/2758718</guid><author>jerrykinki</author><pubDate>Sat, 02 Aug 2008 16:28:00 +0800</pubDate><description><![CDATA[    diff以"行"为单位比较两个文本文件（也可以是目录比较），并将不同之处以某种格式输出到标准输出上；patch可以读入这种输出，并按照一定指令使源文件（目录）按照目标文件（目录）更新。    我们这个地方以u-boot-1.3.2的源代码为例，假设我的工作目录为/jerry.du/bootloader，将u-boot-1.3.2.tar.bz2解压到该目录，为u-boot-1.3.2, 同]]></description><category></category></item><item><title><![CDATA[getchar()函数用法]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/2707119</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/2707119</guid><author>jerrykinki</author><pubDate>Thu, 24 Jul 2008 22:57:00 +0800</pubDate><description><![CDATA[c语言中的getchar()函数是从键盘上读入一个字符, 并回显该字符到控制台。getchar()函数等待输入直到按回车才结束, 回车前的所有输入字符都会逐个显示在屏幕上。但只有第一个字符作为函数的返回值。 getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).getchar函数的]]></description><category></category></item><item><title><![CDATA[static用法]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/2064765</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/2064765</guid><author>jerrykinki</author><pubDate>Fri, 25 Jan 2008 10:39:00 +0800</pubDate><description><![CDATA[本帖转自ammana_babi的《static有什么用途？》一文（http://blog.chinaunix.net/u/25381/showart_306047.html）static 类型声明符在C语言里面主要有三个用途：1、声明静态局部变量。2、声明静态外部全局变量。3、声明静态外部函数。下面是我整理的有关上面三个用法的解释说明。另外网友xiaocai0001的《static用法小结》一文有]]></description><category></category></item><item><title><![CDATA[堆与栈]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/2004714</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/2004714</guid><author>jerrykinki</author><pubDate>Sun, 30 Dec 2007 13:15:00 +0800</pubDate><description><![CDATA[一、预备知识—程序的内存分配 一个由c/c++编译的程序占用的内存分为以下几个部分： 1、栈区(stack)：由编译器自动分配释放 ，存放函数的参数值，局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)：一般由程序员分配释放， 若程序员不释放，程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事，分配方式倒是类似于链表。 3、全局区/静态区(static)：全局变量和静态]]></description><category></category></item><item><title><![CDATA[嵌入式linux启动信息完全注释]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919287</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919287</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:58:00 +0800</pubDate><description><![CDATA[摘要  我们在这里讨论的是对嵌入式linux系统的启动过程的输出信息的注释，通过我们的讨论，大家会对嵌入式linux启动过程中出现的、以前感觉熟悉的、但却又似是而非的东西有一个确切的了解，并且能了解到这些输出信息的来龙去脉。   嵌入式linux的启动信息是一个很值得我们去好好研究的东西，它能将一幅缩影图呈现在我们面前，来指导我们更加深入地理解linux内核。 关键字：linux，嵌入]]></description><category></category></item><item><title><![CDATA[Linux内核启动地址的确定]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919276</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919276</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:54:00 +0800</pubDate><description><![CDATA[内核编译链接过程是依靠vmlinux.lds文件，以arm为例vmlinux.lds文件位于kernel/arch/arm/vmlinux.lds，但是该文件是由vmlinux-armv.lds.in生成的，根据编译选项的不同源文件还可以是vmlinux-armo.lds.in，vmlinux-armv-xip.lds.in。vmlinux-armv.lds的生成过程在kernel]]></description><category></category></item><item><title><![CDATA[剖析Linux系统启动过程]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919273</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919273</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:53:00 +0800</pubDate><description><![CDATA[内容提要 　　本文以RedHat9.0和i386平台为例，剖析了从用户打开电源直到屏幕出现命令行提示符的整个Linux启动过程。并且介绍了启动中涉及到的各种文件。　　阅读Linux源代码，无疑是深入学习Linux的最好方法。在本文对Linux启动过程的介绍中，我们也尝试从源代码的视角来更深入的剖析Linux的启动过程，所以其中也简单涉及到部分相关的Linux源代码，Linux启动这]]></description><category></category></item><item><title><![CDATA[Linux2.6 内核的 Initrd 机制解析]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919264</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919264</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:51:00 +0800</pubDate><description><![CDATA[1．什么是 Initrd  initrd 的英文含义是 boot loader initialized RAM disk，就是由 boot loader 初始化的内存盘。在  linux内核启动前， boot loader 会将存储介质中的 initrd 文件加载到内存，内核启动时会在访问真正的根文件系统前先访问该内存中的  initrd 文件系统。在 boot loader 配置]]></description><category></category></item><item><title><![CDATA[uClinux 启动过程详细分析]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919259</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919259</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:49:00 +0800</pubDate><description><![CDATA[route路由的意思。这句输出是在create产生rtnetlink的socket套接字时的一个调试输出。)此信息，在linux启动过程中都会出现。                                    Starting kswapd                         启动交换守护进程kswapd，进程IO操作例程k]]></description><category></category></item><item><title><![CDATA[值得收藏的146条经典民间偏方]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919243</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919243</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:42:00 +0800</pubDate><description><![CDATA[ 一、内  科　　1、初起感冒：葱白（连须）、生姜片5钱、水一碗煎开、加适量红塘称热一次服下（葱姜不需服下），并马上睡觉，出汗即愈。　　2、多日感冒：白天用法同第一条，另外，要在晚上睡觉前，用大蒜头捣成糊状，敷两足心（涌泉穴，每足心敷黄豆粒大即可），用布包好，次日晨揭去，连用2-3天即愈。　　3、头痛（各种头痛均可）：生白萝卜汁，每次滴鼻孔两滴（两鼻孔都滴），一日两次，连用4-5天，可除根]]></description><category></category></item><item><title><![CDATA[嵌入式开发—C语言面试题]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919236</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919236</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:40:00 +0800</pubDate><description><![CDATA[来源：http://aquila.yculblog.com/post.2566706901.html预处理器（Preprocessor）1.  用预处理指令#define  声明一个常数，用以表明1年中有多少秒（忽略闰年问题）  #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在这想看到几件事情： 1).  #define 语法的基本知]]></description><category></category></item><item><title><![CDATA[C语言常用宏定义技巧]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919232</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919232</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:38:00 +0800</pubDate><description><![CDATA[写好C语言，漂亮的宏定义很重要，使用宏定义可以防止出错，提高可移植性，可读性，方便性 等等。下面列举一些成熟软件中常用得宏定义。。。。。。 1，防止一个头文件被重复包含  #ifndef COMDEF_H #define COMDEF_H   //头文件内容 #endif  2，重新定义一些类型，防止由于各种平台和编译器的不同，而产生的类型字节数差异，方便移植。  typedef  uns]]></description><category></category></item><item><title><![CDATA[排序总结]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919227</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919227</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:37:00 +0800</pubDate><description><![CDATA[一、排序的概念所谓排序，就是要让所有元素按递增或递减的顺序排列。二、排序的分类内部排序：只在主存中完成的排序(由于主存有限，所以内部排序的元素是有上限的)。外部排序：利用磁盘等外存进行排序。三、排序的稳定性在待排序的元素中，存在多个相同的元素，经过排序后，这些元素的相对位置不变，该排序法就为稳定排序，否则为不稳定排序。四、内部排序法-----------------------------]]></description><category></category></item><item><title><![CDATA[TTY终端设备文件接口的基本结构]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919222</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919222</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:36:00 +0800</pubDate><description><![CDATA[TTY终端设备文件接口的基本结构=============================1)  在操作系统中, 应用程序一般不能直接操作硬件, 只能通过系统调用按照内核所提供的抽象形式来间接访问硬件. 在Linux系统中, 所有的硬件对象抽象为文件对象,  通过对文件的系统调用来访问. 用户对文件的系统调用操作基于该文件对象的操作函数表(file_operations), 每一打开的文件都继承了]]></description><category></category></item><item><title><![CDATA[并口驱动编程参考资料]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919220</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919220</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:35:00 +0800</pubDate><description><![CDATA[并口驱动编程参考资料http://blog.youkuaiyun.com/bekars/archive/2006/11/17/1392640.aspx并行接口的分类:  SPP(标准并行接口) ,EPP(增强型并行接口),ECP(扩展型并行端口)　　标准并行端口（SPP）也是最早的端口定义，主要功能如下，1：并行端口提供了8个数据线以进行并行的字节传输，2：计算机能够通过数据线向打印机发送选能]]></description><category></category></item><item><title><![CDATA[Linux2.6内核驱动与2.4的区别]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919218</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919218</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:33:00 +0800</pubDate><description><![CDATA[Linux2.6内核驱动移植参考  作者：晏渭川 随着Linux2.6的发布，由于2.6内核做了新的改动，各个设备的驱动程序在不同程度上要  进行改写。为了方便各位Linux爱好者我把自己整理的这分文档share出来。该文当列举  了2.6内核同以前版本的绝大多数变化，可惜的是由于时间和精力有限没有详细列出各个 函数的用法。  特别声明：该文档中的内容来自http:/lwn.net，该]]></description><category></category></item><item><title><![CDATA[驱动程序基本概念]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919214</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919214</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:32:00 +0800</pubDate><description><![CDATA[驱动程序基本概念§1. Linux驱动程序接口  系统调用是操作系统内核与应用程序之间的接口，设备驱动程序则是操作系统内核与机器硬件的接口。几乎所有的系统操作最终映射到物理设备，除了CPU、内存和少数其它设备，所有的设备控制操作都由该设备特殊的可执行代码实现，此代码就是设备驱动程序。操作系统内核需要访问两类主要设备:字符设备和块设备。与此相关主要有两类设备驱动程序，字符设备驱动程序和块]]></description><category></category></item><item><title><![CDATA[Serial Drivers]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919208</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919208</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:30:00 +0800</pubDate><description><![CDATA[Serial Driversby Alessandro Rubini  This article is meant to show the internal structure of device drivers for  serial ports, and how they can be perform a variety of services including  ppp and s]]></description><category></category></item><item><title><![CDATA[In_interrupt()和In_irq()]]></title><link>https://blog.youkuaiyun.com/jerrykinki/article/details/1919206</link><guid>https://blog.youkuaiyun.com/jerrykinki/article/details/1919206</guid><author>jerrykinki</author><pubDate>Wed, 05 Dec 2007 21:28:00 +0800</pubDate><description><![CDATA[in_interrupt()是判断当前进程是否处于中断上下文，这个中断上下文包括底半部和硬件中断处理过程，函数实现：       #define in_interrupt() ({ const int __cpu = smp_processor_id();  /          (local_irq_count(__cpu) + local_bh_count(__cpu) != ]]></description><category></category></item></channel></rss>