自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(42)
  • 收藏
  • 关注

转载 2.4.2 地址和地址译码器

2.4.2 地址和地址译码器CPU输出一个存储器地址到地址总线上,这个地址怎样才能选中一个存储单元,这就是地址译码器要解决的问题。地址译码器是这样一种器件:输入为数字量(即地址),根据输入的数字量在多个输出端中选一个有效。打个比方:地址译码器就像电话系统,打电话时输入电话号码就好比地址,根据输入的电话号码在若干门电话中只有一门电话被选中。如下图2.13。是一个3线---

2013-12-15 21:14:01 11968

转载 液晶屏 -- 驱动板 -- 屏线 -- 高压条 -- LVDS接口知识

1、液晶屏  先说液晶屏,只要不是太特殊的笔记本,绝大多数都是LVDS接口的,极少是TTL的,这个看液晶屏的针脚可以大致判断出来(注意是看液晶屏上的接口,不是已经引出的屏线),LVDS的一般是14、20、30针,TTL的多是31、41针。  如果是LVDS接口的,恭喜你,这个屏可以利用起来的概率极大,本文仅针对LVDS讲解。  再看看液晶屏的分辨率,早期笔记本多数是4:3的,物理分

2013-12-12 16:53:34 75835 12

原创 C语言的那些—大写字母—们

注意,是双下划线,而不是单下划线__FILE__ 包含当前程序文件名的字符串__LINE__ 表示当前行号的整数__DATE__ 包含当前日期的字符串__STDC__ 如果编译器遵循ANSI C标准,它就是个非零值__TIME__ 包含当前时间的字符串

2013-09-04 19:37:33 840

转载 linux 补丁创建及使用原理(diff and patch)

一.diff 和 patch1. diff ---------------------------------------------------------       diff -- compare files line by line.       diff [option]  old_file  new_file ----------------------------

2013-08-20 14:51:31 1210

转载 linux mmc sd卡启动过程详解

流程:mmc驱动主要文件包括drivers/mmc/card/block.cdrivers/mmc/card/queue.cdrivers/mmc/core/core.cdrivers/mmc/core/host.cdrivers/mmc/core/内核启动时,首先执行core/core.c的mmc_init,注册mmc、sd总线,以及一个host class设备。接着

2013-08-07 19:29:37 2809

转载 SD卡CMD6的用法

SD卡CMD6的用法CMD6是SD卡用来扩展功能的一条重要命令。在SD协议1.00和2.00的版本是,该命令主要用于切换卡进入高速模式。而在3.00的协议中,该命令被赋予了更多的功能。首先来说说功能模块的基本结构吧。SD卡协议中定义了6组功能,每组功能相当于是一组单框,我们可以根据自己不同的需要,来对每一组功能进行不同的选择。这里以SD协议2.00版本为例,共定义了两种功能:G

2013-08-07 17:04:14 8509

转载 mmc_claim_host

mmc_claim_host检测当前mmc控制器是否被占用,当前mmc控制器如果被占用,那么 host->claimed = 1;否则为0,如果为1,那么会在for(;;)循环中调用schedule切换出自己,当占用mmc控制器的操作完成之后,执行 mmc_release_host()的时候,会激活登记到等待队列&host->wq中的其他程序获得mmc主控制器的物理使用权。

2013-08-07 11:33:35 2462

转载 request_threaded_irq — allocate an interrupt line

int fsfuncrequest_threaded_irq (unsigned int irq, irq_handler_t handler, irq_handler_t thread_fn, unsigned long irqflags, const char * devname, void * dev_id)

2013-08-05 11:32:01 716

转载 /proc 目录

/proc 在 Linux 中是一个比较奇妙的目录,保存了当前系统所有的详细信息,包括进程、文件系统、硬件…… 而且还可以通过 /proc 来即时修改系统中的某些参数。你可能会认为,“文件”指的就是硬盘上保存的数据,要么是文本,要么就是二进制文件。而在 Linux 的世界中,所有的东西都可以通过文件来表示和管理,哪怕是硬件设备,也可以通过 /dev 下的设备文件来操作硬件设备。/p

2013-08-02 15:43:52 748

转载 设备驱动模型

随着技术的不断进步,系统的拓扑结构也越来越复杂,对智能电源管理、热插拔的支持要求也越来越高,2.4内核已经难以满足这些需求。为适应这种形势的需要,Linux 2.6内核提供了全新的内核设备模型。设备模型元素:总线   驱动      设备总线总线是处理器和设备之间的通道,在设备模型中,所有的设备都通过总线相连,甚至是内部的虚拟“platform”总线。在Linux

2013-07-30 19:30:48 493

转载 MMC 卡驱动分析

MMC 卡驱动分析2011-05-10 15:19:52 分类: 嵌入式MMC 卡驱动分析   最近花时间研究了一下 MMC 卡驱动程序,开始在网上找了很多关于 MMC 卡驱动的分析文章,但大都是在描述各个层,这对于初学者来讲帮助并不大,所以我就打算把自己的理解写下来,希望对大家有用。个人觉得理解 LINUX 内核当中 MMC/SD 卡驱动程序构架是学习 M

2013-07-29 15:46:44 650

转载 __attribute__

1. __attribute__ 机制GNU C 的一大特色就是__attribute__ 机制。__attribute__ 可以设置函数属性(FunctionAttribute )、变量属性(Variable Attribute )和类型属性(TypeAttribute )。__attribute__ 书写特征是:__attribute__ 前后都有两个下划线,并切后面会

2013-07-26 17:21:43 618

转载 模2运算的原理

模2运算的原理  模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC算法之前,必须掌握模2运算的规则。与四则运算相同,模2运算也包括模2加、模2减、模2乘、模2除四种二进制运算。而且,模2运算也使用与四则运算相同的运算符,即“+”表示模2加,“-”表示模2减,“×”或“·”表示模2乘,“÷”或“/”表示模2除。与四则运算不同的是模2运算不考虑进位和借位,即模2

2013-07-19 10:30:03 791

转载 NAND纠错方式

Hanming,RS,BCH —— NAND Flash中常用的纠错方式         因为闪存中会有出错的可能,如果没有使用ECC模块,读出的数据和写入的数据会有不匹配的可能,也许一个文件中只有一两个bit不匹配,这也是不能容忍的。相对来说SLC中出错概率比较低,所以使用一个纠错能力不强的Hanming码就可以了,在MLC中Hanming码就显得力不从心了,需要纠错能力更强的RS或者B

2013-07-18 18:55:12 1849

转载 NandFlash详述

NandFlash详述  自:http://www.cnblogs.com/sankye/articles/1638852.html 想念东北的下雪的冬天1. 硬件特性:【Flash的硬件实现机制】Flash全名叫做Flash Memory,属于非易失性存储设备(Non-volatile Memory Device),与此相对应的是易失性存储设备(V

2013-07-18 15:15:49 3570

转载 同步信号与异步信号的区别

区别同步信号与异步信号,要弄清楚信号变为有效状态时,它是否受CLK的限制.“异步”输入信号和时钟信号无关,输入信号变为有效状态时,器件的状态就会立即改变;而“同步”输入信号和时钟信号有关,实际上输入信号和时钟信号进行了与运算或与非运算,输入信号和时钟信号的运算结果为有效状态时,器件的状态才会改变。同步输入信号可以过滤掉不正确状态跳变对逻辑的影响,但是需要保证有效输入信号在时钟信号跳

2013-07-16 17:03:01 9354

转载 #define a&&#define a 1

1.#define a定义条件编译,相当于定义了一个条件它的用法:一般用于条件编译,比如说有一段代码我在linux环境下是一种写法,在windows下又是一种写法。这个时候,我们就可以这样写#define WINDOWS#if defined(WINDOWS)xxx //do something#elsexxx#endif从上面的例子可以看出,#define a

2013-07-15 19:03:38 1778

转载 ARM920T虚拟地址原理分析及实现

第五章 虚拟内存及缓冲区管理在刚开始接触TQ2440并测试TEST程序时,当时就产生了一个疑惑,把程序下载到NAND和SDRAM中,其中断均能正确执行,当时以为,程序有可能采用了动态添加中断向量技术,即在SDRAM中运行时在向量0x18处添加跳转指令的二进制编码。虽然能够实现,但在实际编程时会非常麻烦。ARM采用了虚拟内存映射技术即MMU,负责虚拟地址到物理地址的映射,并提供硬件机

2013-07-10 20:25:15 1808

转载 Uboot的bad_save_user_regs

下面是一个宏定义,从名字“bad_save_user_regs”就可以猜测它是用来保存程序“出错”时,用户态的寄存器。从下面的“use bad_save_user_regs for abort/prefetch/undef/swi ...”可以知道,这些“错误”是就是发生abort、prefetch、undef、swi异常时。为什么我把“出错”、“错误”加上引号?因为这些“错误”,有时候是

2013-07-08 11:26:03 1900

转载 U-Boot启动过程完全分析

1.1       U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下:       (1)第一阶段的功能Ø  硬件设备初始化Ø  加载U-Boot第二阶段代码到RAM空间Ø  设置好栈Ø  跳转到第二阶段代码入口       (2)第二阶段的功能Ø  初始化本阶段使用的硬件设备Ø  检测系统内存映射Ø  将内核从Fla

2013-07-05 20:34:32 582

转载 C语言内存分布(BSS段、数据段、代码段、堆与栈)

BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。数据段:数据段(data segment)通常是指用来存放程序中已初始化的全局变量的一块内存区域。数据段属于静态内存分配。代码段:代码段(code segment/text segment)通

2013-07-05 19:45:40 599

转载 S3C2440 nand sdram启动时代码的运行转移过程

S3C2440的boot code能够在外部的nand flash内存中执行。为了支持nand flash 的boot 引导,S3C2440有一个内部的SDRAM缓存称为“Steppingstone”,当booting的时候,Nand Flash的首4kbyte会被导入到Steppingstone并且开始执行。(****这个stepstone 可以这么理解,因为nand flash不能直接运行,因

2013-07-05 15:17:55 1085

转载 uboot命令添加过程

U-Boot的命令为用户提供了交互功能,并且已经实现了几十个常用的命令。如果开发板需要很特殊的操作,可以添加新的U-Boot命令。    U-Boot的每一个命令都是通过U_Boot_CMD宏定义的。这个宏在头文件中定义#ifdef CFG_LONGHELP#define U_BOOT_CMD(name,maxargs,rep,cmd,usage,help)

2013-07-05 10:52:58 679

转载 亚洲首富六十年来的感悟,与大家共勉之!

打工是最愚蠢的投资——很多人会认为打工是在赚钱。其实打工才是最大最愚蠢的投资。人生最宝贵的是什么?除了我们的青春还有什么更宝贵?很多人都抱怨我穷,我没钱想做生意又找不到资金。多么的可笑!其实在你身上就有着一座金山(无形资产),只是你不敢承认。宁可埋没也不敢利用。宁可委委屈屈地帮人打工,把你的资产双手拱让给了你的老板。    我们试想一下,有谁生下来上天就会送给他一大堆金钱的?有谁是准备非常

2013-07-05 09:06:24 824 1

转载 MSR&MRS 例:设置ARM处于管理模式

1 状态寄存器传送至通用寄存器类指令(MSR)功能:将状态寄存器的内容传送至通用寄存器。格式:MRS{}Rd,CPSR}SPSR其中:Rd      目标寄存器,Rd不允许R15。R=0     将CPSR中的内容传送目的寄存器。R=1     将SPSR中的内容传送至目的寄存器。注释:MRS与MSR配合使用,作为更新PSR的读-修改-写序列的一部分。例如:改变

2013-07-04 13:55:02 605

转载 修改文件权限chmod

使用方式 : chmod [-cfvR] [--help] [--version] modefile...说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中u 表示该档案的拥有者,g 表示

2013-07-04 10:41:29 486

转载 if then fi

linux scripts 条件判断一:if then fi 的方式(转)条件判断一:if then fi 的方式,相信才开始接触linux下面条件判断的人对这些概念都比较陌生,那么当我们开始接触它的时候,那么我们进入它的世界就不远了,加油...ing   笨人在这里希望大家好好研究下linux下面的脚本编写,多多益善啊   呵呵      我们要了解条件判断,首先就需要知晓它的语法,

2013-07-04 10:11:42 2343

转载 .balignl 16,0xdeadbeef

.balignl 16,0xdeadbeef。功能说明:在某个位置插入0xdeadbeef这个特殊的内存值使字节对齐,利用CPU按照某种规则读取。16是16个字节,16的由来,不是能理解为16个字节,才能在任何情况下保证插入这个特殊的内存值。我现在把16这个值的由来进行说明。ARM920T处理器核心,支持32位与16位两种指令长度,16位的指令叫thumb指令集,由于我使用的是32位指令集,所

2013-07-03 20:47:42 907

转载 源程序怎么变成可执行文件?

源程序怎么变成可执行文件—学C语言难免碰到的困惑编程语言的种类,包括机器语言、汇编语言和高级语言。电子计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,人们只能降贵纡尊,用计算机的语言去命令计算机干这干那,一句话,就是写出一串串由“0”和“1”组成的指令序列交由计算机执行,这种语言,就是机器语言。想象一下老前辈们在打孔机面前数着一个一个孔的情景,嘘

2013-05-20 14:22:54 1241

转载 new与malloc

new与malloc(收集整理from web)1.malloc与free是C++/C语言的标准库函数,new/delete是C++的运算符。它们都可用于申请动态内存和释放内存2.对于非内部数据类型的对象而言,光用maloc/free无法满足动态对象的要求。对象在创建的同时要自动执行构造函数,对象在消亡之前要自动执行析构函数。由malloc/free是库函数

2013-04-23 16:11:11 480

转载 Sizeof与Strlen的区别与联系

Sizeof与Strlen的区别与联系一、sizeof    sizeof(...)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。    它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。    由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,用sizeof

2013-04-23 15:42:21 444

转载 向LINUX内核添加驱动

向LINUX内核添加驱动Linux内核中提供了很多设备驱动代码,但每个项目中总会需要添加我们自己的驱动,比如我们需要添加红外遥控驱动。我们可以先独立去编写和调试这个驱动,等成熟后应该放到内核目录树中,使用make modules命令统一编译。而且要在配置选项中体现出来,用户可以使用make menuconfig命令配置编译与否。步骤比较简单,不过可能有些人不清楚,现写出来作为参考?

2013-03-07 18:46:38 944

转载 linux 中的信号

一、什么是信号   1、 信号就是软件中断,很多的程序都需要处理信号。信号提供了一种处理异步事件的机制。    例如:当用户在终端下运行一个程序时,用户在键盘键入一个中断键(CTRL+C),则会通过信号机制终止一个正在运行的程序。      2、每一个信号都有自己独特的名字。这些名字都是以SIG开头的。例如中断信号SIGINT.在linux下输入shell命令kill -l可以看到

2013-01-22 21:04:57 474

原创 linux下的作业管理

linux系统中作业管理,jobs control。是针对bash下的说法,即在一个登录的bash下同时管理多个作业,在同一个bash下进行的作业都是该bash下的子进程。作业管理的命令如下:       1.“&”将作业至于后台运行(running)       2.“ctrl+z”将当前作业放在后台暂停(stopped)       3.“jobs”观察当前后台运行作业及状态

2012-12-27 17:08:55 513

原创 linux环境设置文件

linux系统中为了环境变量,系统规划和个人喜好等原因经常要对系统和个人设置值进行修改,为了保持修改后的特性不至于因为系统的注销而失效,通常要对系统或者个人的环境设置文件进行修改。        一:对系统设置值的设定或修改        首先应该明确,不是很确定的情况不建议修改系统设置值。系统设置值是值每个用户进入到bash shell之后,会先读取的设置文件。默认的设置文件包括:

2012-12-27 16:00:30 563

原创 linux系统忘记密码怎么办?

在linux系统中如果忘记用户密码怎么办呢?相信这是大家很多人关心也可能遇到的问题。是重新安装吗?答案是肯定不是。       知道linux系统的人应该知道关于用户登入的账户和密码相信都存在linux配置文件夹/etc下的两个文件内,它们分别是/etc/passwd和/etc/shadow中,用户账号是存在passwd中,密码是在shadow中;所以只要以可行的方式启动进入linux系统,如

2012-12-25 21:45:49 538

原创 tarball套件安装应该注意的问题

对于linux下成熟的用户来讲,他们安装tarball套件都习惯性的将软件的tarball包拷贝到/usr/local目录下,然后解压缩源码到/usr/local/src目录下;利用configure,make,make install,来完成安装,软件将按照默认的安装目录(/usr/local)安装。安装完成后数据就会放在(以abc.tar.gz安装为例):/usr/local/etc(

2012-12-18 19:10:16 679

原创 linux套件安装过程中configure,make,make install的作用

./configure,make,make install都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤。其中:       ./configure是检测程序文件,用来检测你的安装平台的目标特征的。比如它会检测你是不是有CC或GCC,并不是需要CC或GCC,它是个shell脚本;运行完成之后会建立Makefile文件。        make是用来编译的,在命

2012-12-18 15:39:46 9180

转载 linux配置文件

系统级的配置存放在/etc 目录中。用户级的配置存放在用户的主目录/home/user_login_name。这里是我常用的系统级配置文件列表:    SHELL 默认文件    /etc/bashrc      – bash shell 的系统级默认功能和别名    /etc/profile       – bash shell 的系统级默认值,包括系统级的环境变量    /et

2012-12-12 14:58:18 611

转载 虚拟机中vmware tools

在虚拟机VMware workstation中安装linux系统时,为了主机系统和虚拟机系统切换方便,通常VMware workstation会提示用户安装一个叫做“VMware tools”的工具,下面将具体讲解该工具的作用,以及安装过程。        VMware Tools是VMware硬件的驱动程序,它的作用有:①、更新虚拟机中的显卡驱动, 使虚拟机中的XWindows可以运行在SV

2012-12-12 10:51:09 558

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除