<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/flowerui</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; flowerui]]></copyright><item><title><![CDATA[sizeof 的终极解释]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1925688</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1925688</guid><author>flowerui</author><pubDate>Sun, 09 Dec 2007 17:33:00 +0800</pubDate><description><![CDATA[（转载）结构体的sizeof先看一个结构体：http://www.cwba.com.cnstruct S1{    char c;    int i;};http://www.shishangmeinv.com.cnsizeof(s1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数，好吧，那就让我们来看看S1的内存分配情况：h]]></description><category></category></item><item><title><![CDATA[sizeof(结构体)和内存对齐]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1925686</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1925686</guid><author>flowerui</author><pubDate>Sun, 09 Dec 2007 17:31:00 +0800</pubDate><description><![CDATA[有的时候，在脑海中停顿了很久的“显而易见”的东西，其实根本上就是错误的。就拿下面的问题来看：struct T{  char ch;  int   i   ;};使用sizeof(T)，将得到什么样的答案呢？要是以前，想都不用想，在32位机中，int是4个字节，char是1个字节，所以T一共是5个字节。实践出真知，在VC6中测试了下，答案确实8个字节。哎，反正受伤的总是我，我已经有点]]></description><category></category></item><item><title><![CDATA[浅谈C中的malloc和free]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1922264</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1922264</guid><author>flowerui</author><pubDate>Fri, 07 Dec 2007 12:13:00 +0800</pubDate><description><![CDATA[来自bc-cn C语言论坛在C语言的学习中，对内存管理这部分的知识掌握尤其重要！之前对C中的malloc()和free()两个函数的了解甚少，只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多，不过对于本文章第三部分的内容倒是有了转折性的认识，所以  写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼，也就是这个意思了]]></description><category></category></item><item><title><![CDATA[one's complement & two's complement]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1858102</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1858102</guid><author>flowerui</author><pubDate>Tue, 30 Oct 2007 21:45:00 +0800</pubDate><description><![CDATA[一的补码(ones complement) 指的是正数=原码,负数=反码 而二的补码(twos complement) 指的就是通常所指的补码IP checksum definitionThe IP checksum is the 16 bit ones complement of the ones complement sum of all 16 bit words in the]]></description><category></category></item><item><title><![CDATA[C语言测试：想成为嵌入式程序员应知道的0x10个基本问题]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1857786</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1857786</guid><author>flowerui</author><pubDate>Tue, 30 Oct 2007 18:55:00 +0800</pubDate><description><![CDATA[C语言测试：想成为嵌入式程序员应知道的0x10个基本问题C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年，我既参加也组织了许多这种测试，在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息，此外，撇开面试的压力不谈，这种测试也是相当有趣的。从被面试者的角度来讲，你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗]]></description><category></category></item><item><title><![CDATA[原码、补码和反码]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1830451</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1830451</guid><author>flowerui</author><pubDate>Thu, 18 Oct 2007 10:29:00 +0800</pubDate><description><![CDATA[数在计算机中是以二进制形式表示的。 数分为有符号数和无符号数。 原码、反码、补码都是有符号定点数的表示方法。 一个有符号定点数的最高位为符号位，0是正，1是副。 以下都以8位整数为例， 原码就是这个数本身的二进制形式。 例如0000001 就是+11000001 就是-1 正数的反码和补码都是和原码相同。 负数的反码是将其原码除符号位之外的各位求反 [-3]反=[10000011]]]></description><category></category></item><item><title><![CDATA[DRAM, SRAM, SDRAM的关系与区别]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1822157</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1822157</guid><author>flowerui</author><pubDate>Fri, 12 Oct 2007 17:06:00 +0800</pubDate><description><![CDATA[SRAM是英文Static RAM的缩写，它是一种具有静志存取功能的内存，不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路，每隔一段时间，固定要对DRAM刷新充电一次，否则内部的数据即会消失，因此SRAM具有较高的性能，但是SRAM也有它的缺点，即它的集成度较，相同容量的DRAM内存可以设计为较小的体积，但是SRAM却需要很大的体积，所以在主板上SRAM存储器要占用一部分面]]></description><category></category></item><item><title><![CDATA[ARM中的MIPS和MHz联系]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1822108</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1822108</guid><author>flowerui</author><pubDate>Fri, 12 Oct 2007 16:40:00 +0800</pubDate><description><![CDATA[最近看嵌入式系统方面的文章，经常看到MIPS这个简称，后来查了一下是什么意思。MIPS即Million Instruction Per Second 的简写－－计算机每秒种执行的百万指令数。是衡量计算机速度的指标。现如今CPU的频率越来越高，又是流水线又是超标量计算又是双核多核的，单纯以时钟频率来衡量计算机的速度已经不再科学，用MIPS来衡量相对比较合理。以ARM7为内核的S3C44B]]></description><category></category></item><item><title><![CDATA[Linux2.6内核TouchScreen驱动移植]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1808480</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1808480</guid><author>flowerui</author><pubDate>Sun, 30 Sep 2007 22:34:00 +0800</pubDate><description><![CDATA[在 linux2.6.14.1 中没有提供 s3c2410 的驱动，所以我们要新建驱动文件，从网上下载s3c2410_ts.c与s3c2410_ts.h两个文件,将s3c2410_ts.c 文件拷到 linux2.6.14.1/drivers/input/touchscreen 目录下，头文件则拷到源码包的include/asm/arch下,   首先：我们需要修改 linux2.6.14/dri]]></description><category></category></item><item><title><![CDATA[Linux2.6内核LCD驱动移植]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1808479</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1808479</guid><author>flowerui</author><pubDate>Sun, 30 Sep 2007 22:32:00 +0800</pubDate><description><![CDATA[参考: http://www.cnitblog.com/zouzheng/articles/14578.htmllinux2.6.14 已经包含了 lcd 的驱动程序，驱动程序位于 /linux-2.6.14/drivers/video/ 目录下，文件名是 s3c2410fb.c, 头文件是 s3c2410fb.h. 在这里可以不研究这个文件。只要对 lcd 进行以下初始化就可以了。     打开]]></description><category></category></item><item><title><![CDATA[Linux2.6内核CS8900驱动移植]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1808475</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1808475</guid><author>flowerui</author><pubDate>Sun, 30 Sep 2007 22:30:00 +0800</pubDate><description><![CDATA[1.下载用于2.6内核的cs8900.c,cs8900.h两个文件,并拷贝到drivers/net目录下2.修改Drivers/net/Kconfig，增加以下内容：　　config ARM_CS8900    　tristate "CS8900 support"    　　depends on NET_ETHERNET && ARM && ARCH_SMDK2410    　　help     ]]></description><category></category></item><item><title><![CDATA[从 2.4 到 2.6：Linux 内核可装载模块机制的改变对设备驱动的影响]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1776464</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1776464</guid><author>flowerui</author><pubDate>Fri, 07 Sep 2007 17:25:00 +0800</pubDate><description><![CDATA[从 2.4 到 2.6，Linux 内核在可装载模块机制、设备模型、一些核心 API 等方面发生较大改变，设备驱动开发人员面临着将驱动从 2.4 移植到 2.6 内核，或是使驱动同时支持2.4 与 2.6 内核的任务。站在设备驱动开发人员的角度，驱动由一个或几个外部可加载内核模块组成，本文针对 2.6 内核里模块机制的改变对编写设备驱动程序的影响，从内核模块的编译、装载时的版本检查、初始化与退出、]]></description><category></category></item><item><title><![CDATA[弄清楚各种linux文件系统]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1758970</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1758970</guid><author>flowerui</author><pubDate>Sat, 25 Aug 2007 19:47:00 +0800</pubDate><description><![CDATA[    今天经过一顿狂研，终于对linux的文件系统这个东西有了更深入层次的认识，稍微捋清了一点他们的关系！    在Linux系统中，每个分区都是一个文件系统，都有自己的目录层次结构。Linux的最重要特征之一就是支持多种文件系统，这样它更加灵活，并可以和许多其它种操作系统共存。由于系统已将Linux文件系统的所有细节进行了转换，所以Linux核心的其它部分及系统中运行的程序将看到统一的]]></description><category></category></item><item><title><![CDATA[理解ramdisk]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1758837</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1758837</guid><author>flowerui</author><pubDate>Sat, 25 Aug 2007 16:50:00 +0800</pubDate><description><![CDATA[linux下的ramfs  最近写bash脚本的时候，老担心产生的临时文件伤害硬盘，所以不停的修改脚本，通过使用管道和变量，临时文件数量是不停的减少，而且技术也在提高，但仍然会产生７到８个的临时文件，以每５个小时产生的速度不停地写硬盘，怕把硬盘给写出坏道来，记得以前看到过使用内存当硬盘的工具，不知道在linux下有没，google一下，发现，原来系统本身就有这种功能，就是使用/dev/ram*文件]]></description><category></category></item><item><title><![CDATA[嵌入式Linux内核的块设备驱动]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1758830</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1758830</guid><author>flowerui</author><pubDate>Sat, 25 Aug 2007 16:47:00 +0800</pubDate><description><![CDATA[对于linux 的根文件系统，目前有三种块设备的驱动可以选择，它们都可以用来包含根文件系统。分别是：a） Blkmem 驱动b） MTD 驱动c) RAM disk 驱动       Blkmem 驱动是专门为嵌入式linux 开发的一种块设备驱动，它是嵌入式linux系统中最为古老和通用的块设备驱动。它原理相对简单但是配置比较复杂，需要根据你即的Flash的分区使用情况来修改代码。当然修改的结果]]></description><category></category></item><item><title><![CDATA[linux命令历史和 Tab 自动补全]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1729508</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1729508</guid><author>flowerui</author><pubDate>Tue, 07 Aug 2007 16:20:00 +0800</pubDate><description><![CDATA[ 用不了多久，你就会感觉到一遍遍地重复键入相同命令并不是那么激动人心。一个小小的键入错误会破坏整个命令行。 解决办法之一是使用命令行历史。通过使用 [向上箭头] 和 [向下箭头] 键来上下滚动，你会发现许多前面已经键入过的命令。 我们可以再在 sneakers.txt （在 第 13.9.1 节 中创建的）文件中试验一下。不过，第一次，让我们在 shell 提示下键入： cat s]]></description><category></category></item><item><title><![CDATA[调度]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1726885</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1726885</guid><author>flowerui</author><pubDate>Sun, 05 Aug 2007 11:20:00 +0800</pubDate><description><![CDATA[        调度     ----操作系统的基本功能，几乎所有的计算机资源在使用前都要被调度。       任务调度主要是协调任务对计算机系统资源（如内存、I/O设备、CPU）的争夺使用。进程调度又称为CPU调度，其根本任务是按照某种原理为处于就绪状态的进程分配CPU。由于嵌入式系统中内存和I/O设备一般都和CPU同时归属于某进程，所以任务调度和进程调度概念相近，很多场合不加区分。]]></description><category></category></item><item><title><![CDATA[如何去理解Linux中进程，线程等概念]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1726493</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1726493</guid><author>flowerui</author><pubDate>Sat, 04 Aug 2007 21:31:00 +0800</pubDate><description><![CDATA[1 基本概念　　1.1. 进程和线程　　可执行文件由指令和数据组成。进程就是在计算机上运行的可执行文件针对特定的输入数据的一个实例，同一个可执行程序文件如果操作不同的输入数据就是两个不同的进程。　　线程是进程的一条执行路径，它包含独立的堆栈和CPU寄存器状态，每个线程共享其所附属的进程的所有的资源，包括打开的文件、页表（因此也就共享整个用户态地址空间）、信号标识及动态分配的内存等等。线]]></description><category></category></item><item><title><![CDATA[抢占，实时]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1725742</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1725742</guid><author>flowerui</author><pubDate>Sat, 04 Aug 2007 10:13:00 +0800</pubDate><description><![CDATA[(WinCE) 提问抢占式内核和非抢占式内核的区别是不是抢占式内核的系统核心服务函数可以被中断？    但这种情况下，怎样保证系统的全局数据结构不被多任务破坏？网上的一篇文章好象说    系统(RTOS)不仅可以按任务是否可以抢占,而分为抢占式多任务和非抢占式任务；而且可以按内核是否可以被抢占，而分为抢占式多核心和非抢占式核心。不知这种说法对不对？    我看过uCos,我感觉它只是一个非抢占式核]]></description><category></category></item><item><title><![CDATA[GOOGLE搜索从入门到精通v2.2]]></title><link>https://blog.youkuaiyun.com/flowerui/article/details/1722100</link><guid>https://blog.youkuaiyun.com/flowerui/article/details/1722100</guid><author>flowerui</author><pubDate>Thu, 02 Aug 2007 10:09:00 +0800</pubDate><description><![CDATA[一，GOOGLE简介 Google（www.google.com）是一个搜索引擎，由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明，Google Inc. 于1999年创立。2000年7月份，Google替代Inktomi成为Yahoo公司的搜索引擎，同年9月份，Google成为中国网易公司的搜索引擎。98年至今，GOOGLE已经获得30多项业界大奖。]]></description><category></category></item></channel></rss>