http://blog.sina.com.cn/ourarm[订阅]
个人资料
分类
    内容读取中…
评论
读取中...
访客
读取中...
好友
读取中...
博文
 一.什么是字节对齐,为什么要对齐?

现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这就需要各种类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。
对齐的作用和原因:各个硬件平台对存储空间的处理上有很大的不同。一些平台对某些特定类型的数据只能从某些特定地址开始存取。比如有些架构的CPU在访问一个没有进行对齐的变量的时候会发生错误,那么在这种架构下编程必须保证字节对齐.其他平台可能没有这种情况,但是最常见的是如果不按照适合其平台要求对数据存放进行对齐,会在存取效率上带来损失。比如有些平台每次读都是从偶地址开始,如果一个int型(假设为32位系统)如果存放在偶地址开始的地方,那么一个读周期就可以读出这32bit,而如果存放在奇地址开始的地方,就需要2个读周期,并对两次读出的结果的高低字节进行拼凑才能得到该32bit数据。显然在读取效率上下降很多。

二.编译器是按照什么
FAT32文件系统(下)(2007-04-09 14:09)

///******************************************************
//从文件夹中查找文件或目录
//DirClust:目录所在的族(0为根目录)
//file :要查找的文件的文件名和扩展名
//fileIndex:要查找的文件的目录索引
//withName:为true通过文件名查找否则通过索引
//return :查到文件返回True,并填写file中的其他字段
//******************************************************/
//bool FatFindFile(Cluster DirClust,File* file,u16 fileIndex,bool withName)
//{
// Cluster DirSector;
// DIREntry *dir;
// u8 i;
// u8 SectorC = SectorsPerCluster;
// u8 fname;
// if(DirClust==0)
// {
//  if(FatType==FAT32)
//  {
//   DirClust = RootDir.Clust;
//   DirSector = fatClustToSect(DirClust);
//  }
//  else
//  {

/************************************************************/
/*            FAT        

      */
/*            

     */
/************************************************************/
#include <global.h>
#include <Clock.h>
#include <string.h>
#include <dev/mmc.h>
#include <avr/pgmspace.h>
#include 'fs/fat.h'
u8 FatBuffer[512];
extern u8 WorkFlag;
u8 FatType;  //0:FAT12  1:FAT16   2:FAT32
u32 FAT_MASK;
u16 RootDirEnts;       //根目录总的项数(FAT12&FAT16)
u32 FirstDataSector;   //数据区
u16&nb

【编程】MVC模式简介(2007-04-05 10:32)
【编程】MVC模式简介
模型-视图-控制器(MVC)是Xerox PARC在八十年代为编程语言Smalltalk-80发明的一种软件设计模式,至今已被广泛使用。最近几年被推荐为Sun公司J2EE平台的设计模式,并且受到越来越多的使用 ColdFusion 和 PHP 的开发者的欢迎。模型-视图-控制器模式是一个有用的工具箱,它有很多好处,但也有一些缺点。 
MVC如何工作 

MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。 

视图 
视图是用户看到并与之交互的界面。对老式的Web应用程序来说,视图就是由HTML元素组成的界面,在新式的Web应用程序中,HTML依旧在视图中扮演着重要的角色,但一些新的

1.东*突又开始筹集军费了——返校回来的公交车上,书包再次被维族小偷光顾……(日月光华 作者:jsjs)

  2.千万别考北邮,就是考——也要先早恋!!!(北邮人)

  3.不上咱学校的洋妞不知道自己是只小小鸟——怪不得赵传唱这首歌的时候那么伤心~(兵马俑 作者:canizares)

  4.孩儿他娘,咱这辈子还有很多事要做呢,别耽误功夫和我玩捉迷藏了,赶紧蹦出来吧~(水木社区 作者:akaven)

  5.刚交的gf跟我才确定一周的关系就要和我分手,就因为我没读过奥克塔维奥·帕斯的书和博尔赫斯的诗……(饮水思源 作者:seemly)

  6.小时候奶奶常说剩饭脸上会长麻子,所以打小我就不敢剩;后来奶奶说剩饭以后嫁的人会长,就更不敢了!(水木社区 作者:sea99)

  7.我左八荣,右八耻,代表在腰间,和谐在胸口,人挡杀人,佛挡杀佛!(百度 作者:wen327)

  8.女生就像中秋的月饼,过了十五的晚上就不值钱了……(日月光华)

  9.饭卡放到打卡机里没反应,食堂大师傅说:“搓搓再插~”我搓了搓再插,果然有反应了~(遐想隐讳,紫丁香 作者:

战争刚刚开始的时候,太后还不以为意。她每天游湖照相,养西洋狗,读《红楼梦》,甚至自制化妆品,把退休生活安排得十分充实。(《徐彻《慈禧大传》》)然而她做梦也没有料到,当她把眼光又一次投到政治上来的时候,战火已经燎掉了辽东半岛,接下来就要点燃整个大清地图:到1895年初,辽东全部失守,北洋水师全军覆没。日军海陆两路,随时有能力直指北京。

太后再也坐不住了。她悄悄伸出手,暗地里调整了战船的航向。在光绪帝手忙脚乱地指挥战争之际,慈禧却开始秘密召见大臣,谋划讲和。她已经看出,和前两次鸦片战争一样,这场战争清朝毫无取胜希望。

是战还是和,朝廷上下相持不下。那些经历过两次鸦片战争的老臣们认为,这次战争不过是前几次战争的重演,既然最后的结果都是屈服,那么当然越早议和越有利。然而那些年轻的主战派官员却坚决不同意。他们认为,以中国之大,如果血战到底,定能取得最后的胜利。他们提出,迁都西安,以举国之力和日本周旋。

在两难选择中,皇帝陷入了痛苦的深渊,经受着地狱般的折磨。有生以来,皇帝从来没有经受过这样大的压力。他的意志品质难以适应这样一场意想不到规模的战争。继续这样一场战争需要的

ECC简介
  由于NAND Flash的工艺不能保证NANDMemory Array在其生命周期中保持性能的可靠,因此,在NAND的生产中及使用过程中会产生坏块。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠的进行坏区检测。
  如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个Block或是Page不能读取或是全部出错,而是整个Page(例如512Bytes)中只有一个或几个bit出错。

1、问:操作系统如何能够开始控制一台计算机,操作系统的起点是什么?


   答:操作系统的“开端”一般被认为是引导程序(Boot),它是操作系统程序中最早被计算机硬件系统加载入内存并执行的部分,引导程序一般规定长度为512个字节,就是从这512字节开始,操作系统被一步步装载入计算机内存,进而最终控制整台计算机。那么引导程序是如何被找到并加载入计算机内存的呢?这里涉及到硬件厂商和软件厂商的协调。协调的结果如下:当计算机加电启后,首先转去执行BIOS中的程序进行硬件自检,如果自检成功,则开始尝试在可引导介质中依次寻找引导程序,可引导介质就是我们计算机的软盘驱动器,光盘驱动器以及硬盘等存储设备,搜索的顺序是按照BIOS里设置的引导顺序进行的。
     对于软盘来说,计算机会检查软盘的0面0磁道0扇区(被称为boot sector引导扇区),由于每个扇区512字节,因此刚好容纳下引导程序。如果该扇区最后两个字节依次是55H和AAH,那么就表明该扇区存储的是一段引导程序,进而由BIOS程序将这512个字节依次复制到0X7C00开始的内存单元,然后计算机会跳转到地址0X7C00处执行。至此,计算机真正开始执行我们自己编写的代码了。
CRT:
    是一种使用阴极射线管(Cathode Ray Tube)的显示器,阴极射线管主要有五部分组成:电子枪(Electron Gun),偏转线圈(Defiection coils),荫罩(Shadow mask),荧光粉层(Phosphor)及玻璃外壳。它是目前应用最广泛的显示器之一,CRT纯平显示器具有可视角度大、无坏点、色彩还原度高、色度均匀、可调节的多分辨率模式、响应时间极短等LCD显示器难以超过的优点,而且现在的CRT显示器价格要比LCD显示器便宜不少。
CRT的工作原理:CRT(阴极射线管)显示器的核心部件是CRT显像管,其工作原理和我们家中电视机的显像管基本一样,我们可以把它看作是一个图像更加精细的电视机。经典的CRT显像管使用电子枪发射高速电子,经过垂直和水平的偏转线圈控制高速电子的偏转角度,最后高速电子击打屏幕上的磷光物质使其发光,通过电压来调节电子束的功率,就会在屏幕上形成明暗不同的光点形成各种图案和文字。

  彩色显像管屏幕上的每一个像素点都由红、绿、蓝三种涂料组合而成,由三束电子束分别激活这三种颜色的磷光涂料,以不同强度的电子束调节三种颜色的明暗程度就可得到所
ARM(Advanced RISC Machines)是微处理器行业的一家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。ARM架构是面向低预算市场设计的第一款RISC微处理器,基本是32位单片机的行业标准,它提供一系列内核、体系扩展、微处理器和系统芯片方案,四个功能模块可供生产厂商根据不同用户的要求来配置生产。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行。目前ARM在手持设备市场占有90以上的份额,可以有效地缩短应用程序开发与测试的时间,也降低了研发费用。


DSP(digital singnal processor)是一种独特的微处理器,有自己的完整指令系统,是以数字信号来处理大量信息的器件。一个数字信号处理器在一块不大的芯片内包括有控制单元、运算单元、各种寄存器以及一定数量的存储单元等等,在其外围还可以连接若干存储器,并可以与一定数量的外部设备互相通信,有软、硬件的全面功能,本身就是一个微型计算机。DSP采用的是哈佛设计,即数据总线和地址总线分开,使程序和数据分别存储在两个分开的空间,允许取指令和执行指令完全重叠。也就是说在执行上一条指令的同时就可取出下一条指令,并进行译码,这大大