<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[yzycqu]]></title><description><![CDATA[记录点滴]]></description><link>https://blog.youkuaiyun.com/hackaday</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; hackaday]]></copyright><item><title><![CDATA[编译内核模块]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8790652</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8790652</guid><author>hackaday</author><pubDate>Thu, 11 Apr 2013 21:49:28 +0800</pubDate><description><![CDATA[编译内核模块的方法与编译一般应用程序的方法略有不同. 我们会发现在内核源码树的层层目录中, 都存在有Makefile. 即这些Makefile是分层次组织的. 以往的内核版本中, 编译模块比较麻烦, 需要我们对这些Makefile做出许多更改. 2.6的内核采用了"kbuild"编译系统, 简化了这些问题. 关于kbuild, 可参考内核源码树中的 /Documentation/kbuild/mo]]></description><category></category></item><item><title><![CDATA[zImage制作uImage]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8546547</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8546547</guid><author>hackaday</author><pubDate>Sun, 27 Jan 2013 16:19:41 +0800</pubDate><description><![CDATA[mkimage -n 'linux-2.6.32.2' -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008040 -d zImage uImage.img]]></description><category></category></item><item><title><![CDATA[Linux内核镜像格式]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8541163</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8541163</guid><author>hackaday</author><pubDate>Fri, 25 Jan 2013 11:08:39 +0800</pubDate><description><![CDATA[Linux内核有多种格式的镜像，包括vmlinux、Image、zImage、bzImage、uImage、xipImage、bootpImage等.
(1)kernel镜像格式:vmlinux
   vmlinuz是可引导的、可压缩的内核镜像，vm代表Virtual Memory.Linux支持虚拟内存，因此得名vm.它是由用户对内核源码编译得到，实质是elf格式的文件.也就是说，vmlin]]></description><category></category></item><item><title><![CDATA[Socket程序从windows移植到linux下需要注意的]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8509768</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8509768</guid><author>hackaday</author><pubDate>Wed, 16 Jan 2013 15:50:14 +0800</pubDate><description><![CDATA[1)头文件 
windows下winsock.h或winsock2.h
linux下netinet/in.h（大部分都在这儿），unistd.h（close函数在这儿），sys/socket.h（在in.h里已经包含了，可以省了）

2)初始化
windows下需要用WSAStartup启动Ws2_32.lib，并且要用#pragma comment(lib,"Ws2_32")来告知编译]]></description><category></category></item><item><title><![CDATA[吐血简述在arm-linux上编译helloworld时候的抓狂经历]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8491545</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8491545</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 21:44:36 +0800</pubDate><description><![CDATA[想在我的fl2440上运行一个helloworld,在三、五个月前，我曾经编写过一个helloworld，跑在开发板上，当时编译和运行都很顺利，所以就没有把相关的操作过程记录下来。在随后的几个月里，一直在研究linux底层驱动的开发，所以一直都没有开发过上层应用程序。现在，由于想编写一个上层应用来测试一下底层驱动程序的时候，又想再编译一下helloworld，因此，也就开始了我无比挫折的开发hel]]></description><category></category></item><item><title><![CDATA[mini2440 SPI驱动移植]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8489452</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8489452</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 12:56:05 +0800</pubDate><description><![CDATA[最近项目需要，需要在mini2440上移植SPI驱动，板子需要驱动SPI设备，上网找了很多资源，但是很多都是有问题，最终在基本理解驱动结构的前提下，将SPI驱动顺利移植到mini2440。

,我使用的内核版本是2.6.32.2，这个版本和2.6。29不一样，网上很多版本都是关于2.6.29，如果完全按照网上步骤，编译会出现问题，我做的步骤如下：

1，在Linux Source Code]]></description><category></category></item><item><title><![CDATA[linux 内核配置机制（make menuconfig、Kconfig、makefile）讲解]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8489383</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8489383</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 12:44:53 +0800</pubDate><description><![CDATA[前面我们介绍模块编程的时候介绍了驱动进入内核有两种方式：模块和直接编译进内核，并介绍了模块的一种编译方式——在一个独立的文件夹通过makefile配合内核源码路径完成

    那么如何将驱动直接编译进内核呢？

    在我们实际内核的移植配置过程中经常听说的内核裁剪又是怎么麽回事呢？

我们在进行linux内核配置的时候经常会执行make menuconfig这个命令，然后屏幕上会]]></description><category></category></item><item><title><![CDATA[UNIX网络编程之旅-配置unp.h头文件环境]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8489355</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8489355</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 12:30:20 +0800</pubDate><description><![CDATA[最近在学习Unix网络编程（UNP），书中steven在处理网络编程时只用了一个#include “unp.h”  相当有个性并且也很便捷


于是我把第三版的源代码编译实现了这个过程，算是一种个性化的开发环境的搭建吧，顺便把过程记录下来，以便自己以后查阅。

首先去网上找到源代码包unpv.13e.tar.gz 一找一大堆

解压缩到你的某个目录，unpv13e里面大致有这些目录]]></description><category></category></item><item><title><![CDATA[关于Linux静态库和动态库的分析]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8489016</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8489016</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 11:18:10 +0800</pubDate><description><![CDATA[1.什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式，可以被操作系统载入内存执行。
由于windows和linux的本质不同，因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。



2.库的种类
linux下的库有两种：静态库和共享库（动态库）。
二者的不同点在于代码被载入的时刻不同。
静态库的代码在编]]></description><category></category></item><item><title><![CDATA[大端小端模式]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8488897</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8488897</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 11:12:26 +0800</pubDate><description><![CDATA[开头讲个有关大端小端的故事：

　　端模式（Endian）的这个词出自Jonathan Swift书写的《格列佛游记》。这本书根据将鸡蛋敲开的方法不同将所有的人分为两类，从圆头开始将鸡蛋敲开的人被归为Big
 Endian，从尖头开始将鸡蛋敲开的人被归为Littile Endian。小人国的内战就源于吃鸡蛋时是究竟从大头（Big-Endian）敲开还是从小头（Little-Endian）敲开]]></description><category></category></item><item><title><![CDATA[linux 下cgi控制机器重启]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8488853</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8488853</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 11:03:33 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
int
main(int argc,char **argv)
{
printf("Content-type: text/html; charset=utf-8/n/n");
printf("The system is goging to reboot ......./n");
fflush(stdout);
sync();
reboot(]]></description><category></category></item><item><title><![CDATA[linux中fork（）函数详解]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8488533</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8488533</guid><author>hackaday</author><pubDate>Thu, 10 Jan 2013 10:23:46 +0800</pubDate><description><![CDATA[一、fork入门知识

     一个进程，包括代码、数据和分配给进程的资源。fork（）函数通过系统调用创建一个与原来进程几乎完全相同的进程，也就是两个进程可以做完全相同的事，但如果初始参数或者传入的变量不同，两个进程也可以做不同的事。
    一个进程调用fork（）函数后，系统先给新的进程分配资源，例如存储数据和代码的空间。然后把原来的进程的所有值都复制到新的新进程中，只有少数值与原来]]></description><category></category></item><item><title><![CDATA[passwd shadow文件说明]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8483560</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8483560</guid><author>hackaday</author><pubDate>Wed, 09 Jan 2013 00:42:50 +0800</pubDate><description><![CDATA[使用者帐号：/etc/passwd, /etc/shadow

　　由上面的说明您大概已经知道，嘿嘿！帐号管理最重要的两个档案就是‘ /etc/passwd 与 /etc/shadow ’了！这两个档案可以说是 Linux 里头最重要的档案之一了！ 如果没有这两个档案的话，呵呵！您可是无法登入 Linux 的呦！所以，底下我们先针对这两个档案来进行说明。 当然啰，更详细的资料您可以自行 man]]></description><category></category></item><item><title><![CDATA[ubuntu12.4以root账户登录]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8483556</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8483556</guid><author>hackaday</author><pubDate>Wed, 09 Jan 2013 00:39:48 +0800</pubDate><description><![CDATA[ubuntu默认是禁止以root登录图形界面的，这样做也是有好处的，建议你也不要以root登录，不然Ubuntu会死得很快的。
修改root账户的密码后，终端输入
su root 
输入密码，切换到root账户模式
cd /etc/lightdm

gedit lightdm.conf
打开编辑器
加上最后两行
[SeatDefaults]
user-session=ubuntu
greeter-]]></description><category></category></item><item><title><![CDATA[nand write 与nand write.jaffs的区别]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/8479940</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/8479940</guid><author>hackaday</author><pubDate>Tue, 08 Jan 2013 10:37:27 +0800</pubDate><description><![CDATA[关于nand flash操作的几个常用命令的含义

 

nand write：向Nand Flash写入数据，如果NandFlash相应的区域有坏块，则直接报错。

 

nand write.jffs2：向Nand Flash写入数据，如果NandFlash相应的区域有坏块，可以跳过坏块。

 

nand read：读取Nand Flash相应区域的数据，如果Nand]]></description><category></category></item><item><title><![CDATA[C++基础知识]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/7604717</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/7604717</guid><author>hackaday</author><pubDate>Sat, 26 May 2012 14:58:24 +0800</pubDate><description><![CDATA[1. 构造函数执行顺序：先父后子   析构函数执行顺序：先子后父
2. 在基类的函数前加上virtual关键字，在派生类中重写该函数，运行时将会根据对象的实际类型来调用相应的函数（迟绑定技术 late binding）
3. 纯虚函数是被标明为不具体实现的虚成员函数.纯虚函数可以让类先具有一个操作名称，而没有操作内容，让派生类在继承时再去具体地给出定义。凡含有纯虚函数的类叫做抽象类。这种类不能]]></description><category></category></item><item><title><![CDATA[ASCII文件与二进制文件]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/7553138</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/7553138</guid><author>hackaday</author><pubDate>Thu, 10 May 2012 11:05:30 +0800</pubDate><description><![CDATA[计算机中的文件可以分为两类：ASCII文件和二进制文件。
ASCII文件又称文本文件，其定义是包含ASCII字符的文件，通常由类似NotePad的文本编辑器创建。类似的，二进制文件的定义是内容为二进制信息的文件，通常由某些如编译器的特定程序生成。
ASCII文件从一定意义上来说也是二进制文件，因为它的文件内容最终还是以二进制(1和0)的形式存储在计算机磁盘上的。因此我们也可以这样描述：ASCI]]></description><category></category></item><item><title><![CDATA[理解i节点]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/7552816</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/7552816</guid><author>hackaday</author><pubDate>Thu, 10 May 2012 10:21:29 +0800</pubDate><description><![CDATA[一、inode是什么？

理解inode，要从文件储存说起。

文件储存在硬盘上，硬盘的最小存储单位叫做"扇区"（Sector）。每个扇区储存512字节（相当于0.5KB）。

操作系统读取硬盘的时候，不会一个个扇区地读取，这样效率太低，而是一次性连续读取多个扇区，即一次性读取一个"块"（block）。这种由多个扇区组成的"块"，是文件存取的最小单位。"块"的大小，最常见的是4KB，即]]></description><category></category></item><item><title><![CDATA[uboot下载到内存运行问题解决]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/7537559</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/7537559</guid><author>hackaday</author><pubDate>Sat, 05 May 2012 15:00:42 +0800</pubDate><description><![CDATA[开发板：友善之臂mini2440
问题：通过mini2440开发板自带supervivi的d选项下载uboot.bin到内存运行，结果出现以下信息，就停住了：



解决方法：查看uboot相应board目录下的config.mk文件，其中有"TEXT_BASE = 0x33F80000"，修改DNW下载地址为0x33F80000，这样编译的uboot.bin就能直接下载到内存运行了]]></description><category></category></item><item><title><![CDATA[Linux内核关键数据结构]]></title><link>https://blog.youkuaiyun.com/hackaday/article/details/7533053</link><guid>https://blog.youkuaiyun.com/hackaday/article/details/7533053</guid><author>hackaday</author><pubDate>Thu, 03 May 2012 22:15:36 +0800</pubDate><description><![CDATA[进程描述符：task_struct,定义在include\linux\Sched.h

系统调用：定义在include\linux\Syscalls.h

系统调用处理程序：entry.S(其中包含分配的系统调用号)

linux/fs.h定义file_operations结构和file以及inode结构]]></description><category></category></item></channel></rss>