04 2013 档案
摘要:举个例子:排队时1.A排在第一的位置,B排在第二的位置2.A排在B的前面这两种情况,都说明的A和B的位置关系,而第一种跟位置相关,属于绝对地址;而第二种情况则跟位置无关,属于相对地址。 位置无关码:CPU取指时,总是相对于本条执行指令的相对地址去取指。比如指行一个ADD指令时,PC要取下一指令的地址,就在原来的基础上+4。这就不管你代码放在存储器的任何位置,只要他们的相对地址没有改变,就能正常执行程序。一般上电复位那几条语句就必须是位置无关码指令。 位置相关码:可以这样来说,就是CPU每次取指都从绝对位置去取,而不是上面的相对位置。这个绝对地址就是相对起始地址0来说的。这样,就要求你在存放..
阅读全文
摘要:BIOS是主板上的一块EPROM或EEROM芯片,里面装有系统的重要信息和设置系统参数的设置程序(BIOS Setup程序);CMOS是主板上的一块可读写的RAM芯片,里面装的是关于系统配置的具体参数,其内容可通过设置程序进行读写。CMOS RAM芯片靠后备电池供电,即使系统掉电信息也不会丢失。BIOS与CMOS既相关又不同:BIOS中的系统设置程序是完成CMOS参数设置的手段;CMOS RAM既是BIOS设定系统参数的存放场所,又是BIOS设定系统参数的结果。因此完整的说法是“通过BIOS设置程序对CMOS参数进行设置”。
阅读全文
摘要:当一个任务(进程)执行系统调用而陷入内核代码中执行时,我们就称进程处于内核运行态(或简称为内核态)。此时处理器处于特权级最高的(0级)内核代码中执行。当进程处于内核态时,执行的内核代码会使用当前进程的内核栈。每个进程都有自己的内核栈。当进程在执行用户自己的代码时,则称其处于用户运行态(用户态)。即此时处理器在特权级最低的(3级)用户代码中运行。当正在执行用户程序而突然被中断程序中断时,此时用户程序也可以象征性地称为处于进程的内核态。因为中断处理程序将使用当前进程的内核栈。这与处于内核态的进程的状态有些类似。
阅读全文
摘要:自百度百科目录操作系统内核--定义操作系统内核操作系统内核--定义操作系统内核是指大多数操作系统的核心部分。它由操作系统中用于管理存储器、文件、外设和系统资源的那些部分组成。操作系统内核通常运行进程,并提供进程间的通信.操作系统操作系统(英语:Operating System,简称OS)是管理计算机硬件与软件资源的程序,同时也是计算机系统的核心与基石。操作系统身负诸如管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作接口。 操作系统的形态非常多样,不同机器安装的操作系统可从简单到复杂,可从手机的嵌入式系统到
阅读全文
摘要:http://www.douban.com/note/118612624/①选中所有要修改的文件。要按顺序排列的话,请先选最后一个文件,最后选第一个文件。②直接按F2键,把第一个文件的名称修改好。③按ENTER后,自动得出相同文件名后排序。
阅读全文
摘要:高阻态(自百度百科)高阻态这是一个数字电路里常见的术语,指的是电路的一种输出状态,既不是高电平也不是低电平,如果高阻态再输入下一级电路的话,对下级电路无任何影响,和没接一样,如果用万用表测的话有可能是高电平也有可能是低电平,随它后面接的东西定。高阻态的实质:电路分析时高阻态可做开路理解。你可以把它看作输出(输入)电阻非常大。它的极限状态可以认为悬空(开路)。也就是说理论上高阻态不是悬空,它是对地或对电源电阻极大的状态。而实际应用上与引脚的悬空几乎是一样的。高阻态的意义:当门电路的输出上拉管导通而下拉管截止时,输出为高电平;反之就是低电平;如上拉管和下拉管都截止时,输出端就相当于浮空(没有电流流
阅读全文
摘要:纠结了很久的一个问题,对于有些程序RO base设置成0x33f80000编译后下载到板上可以运行;但是如果RO base设置成0x30000000编译照样成功,但是下载到板上就不能运行。。。很纠结!由于是初学,不知道这里的问题到底出在哪里? 后来找到了一个解决此问题的方法:出现上述问题之前利用三星提供的现有文件是从\嵌入式视频\第03阶段 ARM体系结构和ARM编程阶段\代码工具和资料\02 ARM硬件基础与接口技术\代码\armexample\例程中拷贝过来的(包括inc和src文件夹),现在利用的现有文件是从TQ2440_Test_20120110文件夹中拷贝过来的。但是这仅仅是从表面.
阅读全文
摘要:http://hi.baidu.com/armlinuxhouse/item/b520f01da5eafb36b93180ac GPIO做输出使用时要加上拉电阻,因为默认的是漏极开路,高阻态,无法输出高电平。 GPIO做输入时要根据外围电路选择是否设置上拉电阻: 在外接电路能提供高低电平时可不加上拉电阻,比如作为第二功能的ADC输入,或作为地址总线时;而且作为ADC输入时若加上上拉电阻,还会影响ADC的测量。 当外接电路不能提供高和低电平时加上拉电阻,比如作为按键输入时,如不加上拉电阻,只能输入低电平,无法输入高电平。
阅读全文
摘要:调色板的概念 在计算机图像技术中,一个像素的颜色是由它的R,G,B分量表示的,每个分量又经过量化,一个像素总的量化级数就是这个显示系统的颜色深度。量化级数越高,可以表示的颜色也就越多,最终的图像也就越逼真。当量化级数达到16位以上时,被称为真彩色。但是,量化级数越高,就需要越高的数据宽度,给处理器带来的负担也就越重;量化级数在8位以下时,所能表达的颜色又太少,不能够满足用户特定的需求。 为了解决这个问题,可以采取调色板技术。所谓调色板,就是在低颜色深度的模式下,在有限的像素值与RGB颜色之间建立对应关系的一个线性表。比如说,从所有的16位彩色中抽取一定数量的颜色,编制索引。当需要使用某种彩..
阅读全文
摘要:/* 函数名: vsprintf功 能: 送格式化输出到串中返回值: 正常情况下返回生成字串的长度(除去\0),错误情况返回负值用 法: int vsprintf(char *string, char *format, va_list param);// 将param 按格式format写入字符串string中注: 该函数会出现内存溢出情况,建议使用vsnprintf程序例:*/#include <stdarg.h>char buffer[80];int vspf(char *fmt, ...){va_list argptr;int cnt;va_start(argptr, fmt
阅读全文
摘要:计算一下默认的复位时隔: Prescale value = 0x80 = 128 Division factor = 16 PCLK = 12 MHz WTCNT = WTDAT = 0x8000 = 32768 所以 t_reset = 1 / (12000000 / (128+1) / 16) * 32768 = 5.6 s, 即开发板默认启动5.6秒后会自动复位。
阅读全文
摘要:1.建立工程文件2440App File->New2.设置Targets为DebugRel3.编译及链接配置 Edit->Debug Settings1)Target基本设置2)ARM汇编编译器选项:CPU->ARM920T,小端对齐,ARM指令格式,无浮点运算3)ARM C编译器选项:CPU->ARM920T,小端对齐,Pure-endian softfp浮点运算4)ARM 链接器设置:链接类型Simple,RO Base:0x3200_0000(程序段起始地址,该地址指向SDRAM),RW Base(数据段起始地址,未设则接连程序段结束地址)RO Base:这里用户
阅读全文
摘要:ASSERT:DEF:ENDIAN_CHANGEASSERT是断言伪指令,语法是:ASSERT+逻辑表达式def是逻辑伪操作符,格式为::DEF:label,作用是:判断label是否定义过
阅读全文
摘要:IMPORT |Image$$RO$$Base| ; Base of ROM codeIMPORT |Image$$RO$$Limit| ; End of ROM code (=start of ROM data)IMPORT |Image$$RW$$Base| ; Base of RAM to initialiseIMPORT |Image$$ZI$$Base| ; Base and limit of areaIMPORT |Image$$ZI$$Limit| ; to zero initialiseIMPORT MMU_SetAsyncBusModeIMPORT MMU_SetFastBu
阅读全文
摘要:[|]是ARM汇编控制伪指令,就是IFELSEENDIF,简写成[|] "["相当于if"|"相当于else"]"相当于endif例如:[ {CONFIG} = 16THUMBCODE SETL {TRUE} CODE32|THUMBCODE SETL {FALSE} ]
阅读全文
摘要:(转)C++中extern “C”含义深层探索1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不同。 2.从标准头文件说起 某企业曾经给出如下的一道面试题: 面试题 为什么标准头文件都有类似以下的结构? #ifndef __INCvxWorksh...
阅读全文
摘要:《arm体系结构与编程》第九章 异常中断处理/9.2.2 从异常中断处理程序中返回SWI和未定义指令异常中断是由当前执行的指令自身产生的。当SWI和未定义指令异常中断产生时,程序计数器PC的值还未更新,它指向当前指令后面第2条指令(???)(对于ARM指令来说+8字节;对于Thumb指令来说+4字节的位置)。数据访问异常中断由当前执行的指令自身产生,当数据访问异常中断发生时,程序计数器pc的值已经更新,它指向当前指令后面第3条指令(???)(对于ARM指令,它指向当前指令地址加12字节的位置;对于Thumb指令,它指向当前指令地址加6字节的位置)。经多方查证得到如下可以解释上述疑问(???)的
阅读全文
摘要:读状态命令可以实现读取设备内的状态寄存器,通过该命令可以获知写操作或擦除操作是否完成(判断第6位),以及是否成功完成(判断第0位)。不是特别理解。。。。。。
阅读全文
摘要:K9F2G08U0A的一页为(2K+64)字节(加号前面的2K表示的是main区容量,加号后面的64表示的是spare区容量),它的一块为64页,而整个设备包括了2048个块。这样算下来一共有2112M位容量,如果只算main区容量则有256M字节(即256M×8位)。要实现用8个IO口来要访问这么大的容量,K9F2G08U0A规定了用5个周期来实现。第一个周期访问的地址为A0~A7;第二个周期访问的地址为A8~A11,它作用在IO0~IO3上,而此时IO4~IO7必须为低电平;第三个周期访问的地址为A12~A19;第四个周期访问的地址为A20~A27;第五个周期访问的地址为A28,
阅读全文
摘要:下图自S3C2440图1 CLE/ALE时序图图2 nWE和nRE时序图从S3C2440手册中我们可以得到(由图1可知): TACLS为CLE/ALE有效到nWE有效之间的持续时间; TWRPH0为nWE的有效持续时间; TWRPH1为nWE无效到CLE/ALE无效之间的持续时间。 这些时间都是以HCLK为单位的。通过查阅nandflash(如K9F2G08U0A)的数据手册,我们可以找到并计算与S3C2440相对应的时序:K9F2G08U0A中的Twp与TWRPH0相对应,Tclh与TWRPH1相对应, TACLS不一定与TCLS相对应,还有可能与TCLS-TWP相对应(跟具体的na...
阅读全文
摘要:vim file1 file2 file3:n 切换到文件2 (n=next):e# 或 :N切换回到刚才编辑的文件比如当前编辑文件为a,:n跳至b,再:n跳至c,:e#回到b,想回到a的话用:ea打开一个,vim 文件名然后在vi的命令输入状态下输入:sp 另外一个文件的路径及文件名如此就可以在一个窗口打开多个文件了。或者用 vi -o file1 file2 file3....用分割屏幕窗口方式同时打开多个文件。可以使用 ctrl + 两次按 w 或者ctrl + w 然后按上下键在上下窗口间切换。在这几个打开的文件,拷贝文件可以使用剪贴板:要拷贝一行到剪贴板中:"*yy或者&q
阅读全文
摘要:NAND Flash每一页大小为(512+16)字节(还有其他格式的NANDFlash,比如每页大小为(256+8)、(2048+64)等),其中的512字节就是一般存储数据的区域,16字节称为OOB(Out OfBand)区。通常在OOB区存放坏块标记、前面512字节的ECC较验码等。
阅读全文
摘要:Looking up port of RPC 100003/2 on 192.168.1.17eth0: link up, 100Mbps, full-duplex, lpa 0x4DE1Root-NFS: Unable to get nfsd port number from server, using defaultLooking up port of RPC 100005/1 on 192.168.1.17Root-NFS: Unable to get mountd port number from server, using defaultRoot-NFS: Server return
阅读全文
摘要:arm-linux-gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory.
阅读全文