<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[lemon_fantasy的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/lemon_fantasy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; lemon_fantasy]]></copyright><item><title><![CDATA[RedHat9.0下tftp服务的安装及使用]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3931385</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3931385</guid><author>lemon_fantasy</author><pubDate>Tue, 24 Feb 2009 11:05:00 +0800</pubDate><description><![CDATA[ tftp服务的安装，对于RedHat9.0，tftp 的RPM包在安装光盘的第三张盘下，可以用mount /dev/cdrom mnt/cdrom 将其挂载后，拷贝到/home/work目录下安装rpm -ivh tftp-server-0.32********rpm -ivh tftp-0.32*******(这个包是客户端登陆tftp服务器所需要的)安装完后，进行配置及开启服务在linu]]></description><category></category></item><item><title><![CDATA[两个Linux系统NFS服务器的配置方法]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3931238</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3931238</guid><author>lemon_fantasy</author><pubDate>Tue, 24 Feb 2009 10:32:00 +0800</pubDate><description><![CDATA[一、NFS服务器的安装     检查linux系统中是否安装了nfs-utils和portmap两个软件包（RHEL4系统默认已经安装了这两个软件包）     命令#rpm –q nfs-utils portmap 中国网管论坛bbs.bitsCN.com     二、查看NFS服务器是否启动     命令#service nfs starus     #service por]]></description><category></category></item><item><title><![CDATA[Linux驱动程序框架]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3901030</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3901030</guid><author>lemon_fantasy</author><pubDate>Tue, 17 Feb 2009 16:06:00 +0800</pubDate><description><![CDATA[ Linux 将所有外部设备看成是一类特殊文件，称之为“设备文件”，如果说系统调用是Linux内核和应用程序之间的接口，那么设备驱动程序则可以看成是Linux 内核与外部设备之间的接口。设备驱动程序向应用程序屏蔽了硬件在实现上的细节，使得应用程序可以像操作普通文件一样来操作外部设备。 1. 字符设备和块设备Linux 抽象了对硬件的处理，所有的硬件设备都可以像普通文件一样来看待：它们可]]></description><category></category></item><item><title><![CDATA[Linux启动过程中硬件模块的加载]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3900590</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3900590</guid><author>lemon_fantasy</author><pubDate>Tue, 17 Feb 2009 15:00:00 +0800</pubDate><description><![CDATA[阅读Linux内核启动代码的直接动力是我想编写RTL8019AS的网卡驱动程序（2.4.18内核只支持了CS8900A）。既然要写驱动，我就想知道它是怎么样被加载的，好奇心驱使我先去搞定这个问题。拿到2.4.18的软件包，一万多个文件，我不知怎么下手。所幸手头有这么三件工具助我入门：1，一块移植好linux的开发板，通过它可以看到linux启动过程打印的消息。2， google，网上关]]></description><category></category></item><item><title><![CDATA[LDR ADR]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3740475</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3740475</guid><author>lemon_fantasy</author><pubDate>Fri, 09 Jan 2009 14:01:00 +0800</pubDate><description><![CDATA[请教： LDR R1,= 0x12345678 ;加载 32 位立即数 和 LDR R1,0x12345678 有什么不相同啊？ 一般在什么情况下用 LDR R1,= 0x12345678 ？ 在什么情况下用 LDR R1,0x12345678 ？ LDR R0,=LED_TAB ;加载标号地址 和 LDR R0,LED_TAB 有什么不相同啊？ 一般在什么情况下用 LDR R0,=LED_TAB]]></description><category></category></item><item><title><![CDATA[u-boot顶层Makefile分析]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3606045</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3606045</guid><author>lemon_fantasy</author><pubDate>Thu, 25 Dec 2008 18:28:00 +0800</pubDate><description><![CDATA[ 要了解一个LINUX工程的结构必须看懂Makefile，尤其是顶层的，没办法，UNIX世界就是这么无奈，什么东西都用文档去管理、配置。首先在这方面我是个新手，时间所限只粗浅地看了一些Makefile规则。以smdk_2410为例，顺序分析Makefile大致的流程及结构如下：1) Makefile中定义了源码及生成的目标文件存放的目录,目标文件存放目录BUILD＿DIR可以通过mak]]></description><category></category></item><item><title><![CDATA[__asm__ __volatile__内嵌汇编用法简述]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3604511</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3604511</guid><author>lemon_fantasy</author><pubDate>Thu, 25 Dec 2008 15:30:00 +0800</pubDate><description><![CDATA[ __asm__ __volatile__内嵌汇编用法简述 在阅读C/C++原码时经常会遇到内联汇编的情况，下面简要介绍下__asm__ __volatile__内嵌汇编用法。因为我们华清远见教学平台是ARM体系结构的，所以下面的示例都是用ARM汇编。 带有C/C++表达式的内联汇编格式为： __asm__　__volatile__("Instruction List" : Outpu]]></description><category></category></item><item><title><![CDATA[u-boot中代码的疑问(_armboot_start与_start?) ]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3601534</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3601534</guid><author>lemon_fantasy</author><pubDate>Thu, 25 Dec 2008 10:48:00 +0800</pubDate><description><![CDATA[我使用的是u-boot-1.3.0-rc2。在cpu/pxa/start.S中，有如下的标号定义： _TEXT_BASE: .word TEXT_BASE /*uboot映像在SDRAM中的重定位地址，我设置为0xa170 0000 */ .globl _armboot_start _armboot_start: .word _start /*_start是程序入口，链接完毕它的值应该是0xa17]]></description><category></category></item><item><title><![CDATA[分析了一下 align 的用法]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3597138</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3597138</guid><author>lemon_fantasy</author><pubDate>Wed, 24 Dec 2008 16:13:00 +0800</pubDate><description><![CDATA[ 之前看bootloader的时候总是搞的不太懂，今天下定决心分析一下这个 align究竟是怎么回事。一下分多种情况平台： WinXP + WinARM ，WinARM是window平台的 ARM-LINUX-GCC 的移植版本。 .align 就是用来对齐的，究竟怎么对齐，有啥情况？下面分析一下（一） _start:    b reset    .byte 0x55   ]]></description><category></category></item><item><title><![CDATA[uboot分析之u-boot.lds]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3596985</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3596985</guid><author>lemon_fantasy</author><pubDate>Wed, 24 Dec 2008 15:46:00 +0800</pubDate><description><![CDATA[//下面是Uboot/board/QQ2440/u-boot.ldsOUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")/*OUTPUT_FORMAT("elf32-arm", "elf32-arm", "elf32-arm")*//*指定输出可执行文件是elf格式,32位ARM指令,小端*/OUTPUT_AR]]></description><category></category></item><item><title><![CDATA[U-boot学习]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3502810</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3502810</guid><author>lemon_fantasy</author><pubDate>Fri, 12 Dec 2008 11:24:00 +0800</pubDate><description><![CDATA[u-boot启动过程分析——基于lpc2210的移植代码       u-boot是一种普遍用于嵌入式系统中的Bootloader。Bootloader介绍 Bootloader是进行嵌入式开发必然会接触的一个概念，它是嵌入式学院嵌入式工程师职业培训班>二期课程中嵌入式linux系统开发方面的重要内容。本篇文章主要讲解Bootloader的基本概念以及内部原理，这部分内容的掌握将对嵌入]]></description><category></category></item><item><title><![CDATA[getchar()和EOF总结]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3423010</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3423010</guid><author>lemon_fantasy</author><pubDate>Mon, 01 Dec 2008 20:46:00 +0800</pubDate><description><![CDATA[大师级经典的著作，要字斟句酌的去读，去理解。以前在看K&R的The C Programming Language(SecondEdition)第1.5节的字符输入/输出，被getchar()和EOF所迷惑了。可能主要还是由于没有搞清楚getchar()的工作原理和EOF的用法。因此,感觉很有必要总结一下，不然，很多琐碎的知识点长时间过后就会淡忘的，只有写下来才是最好的方法。其实，getchar()]]></description><category></category></item><item><title><![CDATA[linux之wc命令]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3400953</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3400953</guid><author>lemon_fantasy</author><pubDate>Fri, 28 Nov 2008 11:28:00 +0800</pubDate><description><![CDATA[ linux之wc命令wc命令的功能为统计指定文件中的字节数、字数、行数, 并将统计结果显示输出。　　语法：wc [选项] 文件…　　说明：该命令统计给定文件中的字节数、字数、行数。如果没有给出文件名，则从标准输入读取。wc同时也给出所有指定文件的总统计数。字是由空格字符区分开的最大字符串。　　该命令各选项含义如下：　　- c 统计字节数。　　- l 统计行数。　　]]></description><category></category></item><item><title><![CDATA[fgets，fputs，gets，puts]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3394651</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3394651</guid><author>lemon_fantasy</author><pubDate>Thu, 27 Nov 2008 22:08:00 +0800</pubDate><description><![CDATA[ fgets（由文件中读取一字符串）　　相关函数 　　open，fread，fscanf，getc　　表头文件 　　include　　定义函数 　　har * fgets(char * s,int size,FILE * stream);　　函数说明 　　fgets()用来从参数stream所指的文件内读入字符并存到参数s所指的内存空间，直到出现换行字符、读到文]]></description><category></category></item><item><title><![CDATA[main]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3394251</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3394251</guid><author>lemon_fantasy</author><pubDate>Thu, 27 Nov 2008 21:05:00 +0800</pubDate><description><![CDATA[main参数C语言中的main函数,一般会带有2个参数,例如int main ( int argc, char* argv[]),这是一个典型的main函数的声明。这是为了在执行程序时需要向程序传递参数,参数argc代表了输入参数的个数,char *argv[]表示传入的参数的字符串,是一个字符串数组。例如在Unix平台下编写一个小程序:int main(int argc, char*]]></description><category></category></item><item><title><![CDATA[Makefile学习教程: 跟我一起写 Makefile ]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3169356</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3169356</guid><author>lemon_fantasy</author><pubDate>Tue, 28 Oct 2008 21:02:00 +0800</pubDate><description><![CDATA[0 Makefile概述 makefile关系到了整个工程的编译规则。一个工程中的源文件不计数，其按类型、功能、模块分别放在若干个目录中，makefile定义了一系列的规则来指定，哪些文件需要先编译，哪些文件需要后编译，哪些文件需要重新编译，甚至于进行更复杂的功能操作，因为makefile就像一个Shell脚本一样，其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化]]></description><category></category></item><item><title><![CDATA[用GDB调试程序2]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3160813</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3160813</guid><author>lemon_fantasy</author><pubDate>Mon, 27 Oct 2008 20:49:00 +0800</pubDate><description><![CDATA[  查看栈信息当程序被停住了，你需要做的第一件事就是查看程序是在哪里停住的。当你的程序调用了一个函数，函数的地址，函数参数，函数内的局部变量都会被压入“栈”（Stack）中。你可以用GDB命令来查看当前的栈中的信息。下面是一些查看函数调用栈信息的GDB命令：backtracebt打印当前的函数调用栈的所有信息。如：(gdb) bt#0 func (n=250) at tst.c:6#1 0x0]]></description><category></category></item><item><title><![CDATA[GCC命令]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3160589</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3160589</guid><author>lemon_fantasy</author><pubDate>Mon, 27 Oct 2008 19:33:00 +0800</pubDate><description><![CDATA[ [介绍] -----------------------------------------常见用法：GCC 选项 GCC 有超过100个的编译选项可用。这些选项中的许多你可能永远都不会用到，但一些主要的选项将会频繁用到。很多的 GCC 选项包括一个以上的字符。因此你必须为每个选项指定各自的连字符，并且就象大多数 Linux 命令一样你不能在一个单独的连字符后跟一组选项。例如]]></description><category></category></item><item><title><![CDATA[用GDB调试程序1]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3152568</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3152568</guid><author>lemon_fantasy</author><pubDate>Sun, 26 Oct 2008 22:01:00 +0800</pubDate><description><![CDATA[GDB概述GDB 是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许，各位比较喜欢那种图形界面方式的，像VC、BCB等IDE的调试，但如果你是在 UNIX平台下做软件，你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。所谓“寸有所长，尺有所短”就是这个道理。一般来说，GDB主要帮忙你完成下面四个方面的功能：1、启动你的程序，可以按照你的自定义的要求随心所欲的运行程序]]></description><category></category></item><item><title><![CDATA[CBR/VBR]]></title><link>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3150708</link><guid>https://blog.youkuaiyun.com/lemon_fantasy/article/details/3150708</guid><author>lemon_fantasy</author><pubDate>Sun, 26 Oct 2008 17:38:00 +0800</pubDate><description><![CDATA[CBR是以恒定的码率编码，因为家用DVD机需硬件解码，使用的是固化的硬件解码器，只能读取恒定码流的Mpeg文件，所以如果你刻录的光盘是在DVD机上观看，所以最好采用此种方式。 而VBR是指系统根据图像数据量改变的大小决定用多大的码率编码，这种格式的解码需软件调节，故刻录的光盘如果是在电脑的DVD光驱中播放可以采取这种方式。所以，有些刻录的DVD光盘虽然能在光驱中播放，到了DVD碟机无法播放不出]]></description><category></category></item></channel></rss>