自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(56)
  • 收藏
  • 关注

转载 我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)

我理解的逻辑地址、线性地址、物理地址和虚拟地址(补充完整了)http://bbs.chinaunix.net/thread-2083672-1-1.html

2012-11-15 11:48:44 341

转载 linker related

To build the executable, the linker must perform two main tasks: Symbol resolution. Object files define and reference symbols. The purpose of symbol resolution is toassociate each symbol referenc

2012-11-15 11:41:58 358

转载 linux内核源码目录

在阅读源码之前,还应知道Linux内核源码的整体分布情况。现代的操作系统一般由进程管理、内存管理、文件系统、驱动程序和网络等组成。Linux内核源码的各个目录大致与此相对应,其组成如下(假设相对于Linux-2.4.23目录):arch目录包括了所有和体系结构相关的核心代码。它下面的每一个子目录都代表一种Linux支持的体系结构,例如i386就是Intel CPU及与之相兼容体系结构的

2012-10-24 13:57:47 316

转载 我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?

<br />我们创建文件的默认权限是怎么来的?如何改变这个默认权限呢?<br />umask是什么? 当我们登录系统之后创建一个文件总是有一个默认权限的,那么这个权限是怎么来的呢?这就是umask干的事情。umask设置了用户创建文件的默认权限,它与chmod的效果刚好相反,umask设置的是权限“补码”,而chmod设置的是文件权限码。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中设置umask值。 如何计算umask值? umask命令允

2011-01-24 14:29:00 1282

转载 关于文件描述符

<br />当某个程序打开文件时,操作系统返回相应的文件描述符,程序为了处理该文件必须引用此描述符。所谓的文件描述符是一个低级的正整数。最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。因此,函数 scanf() 使用 stdin,而函数 printf() 使用 stdout。你可以用不同的文件描述符改写默认的设置并重定向进程的 I/O 到不同的文件。<br /><br />1、首先说什么是文件描述符,它有什么作用?<br />文件描述

2011-01-21 13:53:00 540

转载 ARM 汇编的mov操作立即数的疑问

ARM 汇编的mov操作立即数的疑问<br />  <br />1. 因为对arm汇编有些指令还不能理解,特别是一些相似功能指令间的区别。偶然在网上搜到“faq ARM assembly”,其中描述的几个问题还是值得好好研究一下。<br />2. 慢慢的发现自己也不再害怕英文的文档了,耐心看至少也能懂个大概。大批经典的文章和书籍都是en文的,所以经常看英文文档是一个非常好的习惯。看看GNU的一些reference manual,哪个不是经典而又值得学习并研究的!<br />3. 学习别人写文档的风格,重点要

2011-01-13 22:48:00 1320

原创 例解 autoconf 和 automake 生成 Makefile 文件

杨 小华 ([email protected]), Linux 内核研究员杨小华,目前从事 Linux 内核方面的研究,喜欢捣鼓 Linux 系统,对 Linux 中断系统比较了解。可以通过 [email protected]与他取得联系。苏 春艳, 在读研究生苏春艳:在读研究生,主要在Linux系统下从事嵌入式开发。<br /> <br />简介: 本文介绍了在 linux 系统中,通过 Gnu autoconf 和 automake 生成 Makefile 的方法。主要探讨了生成 M

2011-01-12 14:27:00 354

转载 Xilinx DCM的使用方法技巧

目前,大型设计一般推荐使用同步时序电路。同步时序电路基于时钟触发沿设计,对时钟的周期、占空比、延时和抖动提出了更高的要求。为了满足同步时序设计的要求,一般在FPGA设计中采用全局时钟资源驱动设计的主时钟,以达到最低的时钟抖动和延迟。 FPGA全局时钟资源一般使用全铜层工艺实现,并设计了专用时钟缓冲与驱动结构,从而使全局时钟到达芯片内部的所有可配置单元(CLB)、I/O单元(IOB)和选择性块RAM

2010-05-04 14:41:00 763

原创 ARM汇编伪指令

在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,通常称这些特殊指令助记符为伪指令,他们所完成的操作称为伪操作。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。           有如下几种伪指令:符号定义伪指令、数据定义伪指令、汇编控制伪指令、宏指令以及其他伪指令。 

2009-08-17 15:41:00 553

转载 ARM汇编伪指令

其他常用的伪指令           还有一些其他的伪指令,在汇编程序中经常会被使用,包括以下几条:           — AREA           — ALIGN           — CODE16 、 CODE32           — ENTRY           — END           — EQU           — EXPORT (或 GLOBAL )      

2009-08-17 15:38:00 672

原创 macro 释疑--转载

 1.0 初始准备 GBLL    THUMBCODE ;设置一个全局逻辑变量    [ {CONFIG} = 16   ;if config==16 这里表示你的目前处于领先地16位编译方式 CONFIG的意义。。?THUMBCODE SETL      {TRUE} ;置THUMBCODE为真    CODE32                 ;且执行CO

2009-01-06 15:44:00 571

原创 uboot makefile分析

 这是对网上各位大侠所写的文章做一个小归纳,方便查找。 关于uboot makefile的总体概括:http://blog.mcuol.com/User/lvembededsys/Article/4355_1.htm 关于uboot makefile内容比较详细的解说:http://blog.csdn.net/linda_si/archive/2008/12/02/3428

2008-12-31 17:15:00 460

转载 __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法

 __asm__ __volatile__ GCC的内嵌汇编语法 AT&T汇编语言语法这篇帖子由于没署作者名,所以我转的时候也没怎么署,但还是谢谢了。AT&T ASM Syntax1 Overview 开发一个OS,尽管绝大部分代码只需要用C/C++等高级语言就可以了,但至少和硬件相关部分的代码需要使用汇编语言,另外,由于启动部分的代码有大小限制,使用精练的汇编可以缩小目标代码的Siz

2008-12-23 14:05:00 401

转载 arm——流水线,pc值

 ARM处理器使用流水线来增加处理器指令流的速度,这样可使几个操作同时进行,并使处理与存储器系统之间的操作更加流畅,连续,能提供0.9MIPS/MHZ的指令执行速度。              PC代表程序计数器,流水线使用三个阶段,因此指令分为三个阶段执行:1.取指(从存储器装载一条指令);2.译码(识别将要被执行的指令);3.执行(处理指令并将结果写回寄存器)。而R15(PC)总是指向

2008-10-24 20:11:00 553

转载 arm——流水线

 500)this.width=500" border=0>

2008-10-24 19:50:00 426

原创 施密特触发器

 施密特触发器也有两个稳定状态,但与一般触发器不同的是,施密特触发器采用电位触发方式,其状态由输入信号电位维持;对于负向递减和正向递增两种不同变化方向的输入信号,施密特触发器有不同的阀值电压。门电路有一个阈值电压,当输入电压从低电平上升到阈值电压或从高电平下降到阈值电压时电路的状态将发生变化。施密特触发器是一种特殊的门电路,与普通的门电路不同,施密特触发器有两个阈值电压,分别称为正向阈值电压和负向

2008-08-08 15:22:00 1499 1

原创 vdd,vss,vcc的区别

 在电子电路中,VCC是电路的供电电压,VDD是芯片的工作电压,就那么简单: VCC:C=circuit 表示电路的意思, 即接入电路的电压, D=device 表示器件的意思, 即器件内部的工作电压,在普通的电子电路中,一般Vcc>Vdd ! VSS:S=series 表示公共连接的意思,也就是负极。 有些IC 同时有VCC和VDD, 这种器件带有电压转换功能。 在“场效应”

2008-08-08 15:21:00 1183

转载 s3c2410的串口编程与简单驱动代码

数据通信的基本方式可分为并行通信与串行通信两种:并行通信:是指利用多条数据传输线将一个资料的各位同时传送。它的特点是传输速度快,适用于短距离通信,但要求通讯速率较高的应用场合。串行通信:是指利用一条传输线将资料一位位地顺序传送。特点是通信线路简单,利用简单的线缆就可实现通信,降低成本

2008-05-22 11:31:00 2632

转载 关于directshow的开发常见问题

一、配置方法1、先编译Samples/C++/DirectShow/BaseClasses中的工程文件。注意工程的默认选项是Debug_Unicode的,在非Unicode的工程中使用还需要编译Debug版本的。“DXSDK90/SAMPLES/C++/DIRECTSHOW/BASECLASSES/baseclasses.dsw的release版本”,指的是运行DXSDK90/SAMPLE

2008-05-21 14:36:00 832

原创 U-BOOT源码分析及移植

本文从以下几个方面粗浅地分析u-boot并移植到FS2410板上:1、u-boot工程的总体结构2、u-boot的流程、主要的数据结构、内存分配。3、u-boot的重要细节,主要分析流程中各函数的功能。4、基于FS2410板子的u-boot移植。实现了NOR Flash和NAND Flash启动,网络功能。 这些认识源于自己移植u-boot过程中查找的资料和对源码的简单阅读。下面主要以smdk

2008-05-08 10:58:00 2096 1

转载 Nand Flash启动一问

Nand Flash启动一问用的是S3C2410.见附件start.s 其中关于nand flash启动的那一段一直百思不得其解,按说从NAND FLASH启动时,应该是前4KB映射到NGCS0,其中的代码将NAND中存放的程序拷贝到RAM中,但该文件提供的程序好象是先从NAND拷贝128K的代码到ResetEntry开始的地方,即地址为0的地方,然后再从ResetEntry处拷到RAM中,但此时

2008-05-08 10:46:00 845

转载 S3C2410读写Nand Flash分析

一、结构分析 S3C2410处理器集成了8位NandFlash控制器。目前市场上常见的8位NandFlash有三星公司的k9f1208、k9f1g08、k9f2g08等。k9f1208、k9f1g08、k9f2g08的数据页大小分别为512Byte、2kByte、2kByte。它们在寻址方式上有一定差异,所以程序代码并不通用。本文以S3C2410处理器和k9f1208系统为例,讲述Nand

2008-05-07 11:55:00 755

转载 ColdFire与ARM处理器中断响应分析

ColdFire与ARM处理器中断响应分析2007-10-22一.ARM处理器中断分析(以S3C2410的IRQ及timer0中断为例)1. 中断初始化过程1> 中断向量表起始地址定义C文件中的宏定义:#define _ISR_STARTADDRESS 0x33ffff00汇编文件中的定义:_ISR_STARTADDRESS EQU 0x33ffff002>

2008-05-04 02:01:00 1073

原创 ubuntu 硬盘安装

由于几天前在虚拟机的ubuntu里实现了宽带连接,决定跳出虚拟机,装个“真实的”ubuntu。毕竟正式版还没出,刻光盘既浪费也伤光驱,决定从硬盘启动iso安装。这两天一直在baidu、google、泡论坛,尝试从硬盘安装的方法,下载grub for dos,写menu.lst等,但一直没有成功,不是找不到光盘镜像就是出现"busybox",但就是这一次次的重启使我学到了不少东西。最后用

2008-05-01 16:32:00 480

原创 s3c2410 文字池 LTORG

简单介绍RISC CPU是众多CPU中的一种. RISC号称的是精简指令集的CPU. 也就是说, 它的指令系统一般都十分简洁.本文将要介绍的是RISC CPU中目前十分普遍的ARM CPU.目前很多的RISC CPU均是使用的32BIT长度的指令. 也就是每个指令长度为32BIT. (也有很多RISC CPU提供16BIT长度的指令系统,用于缩短代码长度)所有的代码均长度为32BIT意味着CP

2008-04-30 13:37:00 1738 3

转载 s3c2410 spi

概况:S3C2410X的连续外围设备接口(SPI)能连接电路实现连续数据传递。S3C2410X包含2个SPI,,每个都分别有两个8位转移寄存器用于数据的传输和接收。在一个SPI进行数据传递时,同步传送数据并连续输出数据。在某一频率的8位连续数据由它相应的通讯控制寄存器设置所决定。假如你只发送数据,接收数据就能设为哑元。反之,如果你只想接收数据,你应该发送设为哑元1数据。S3C2410有

2008-04-29 11:49:00 2700

转载 s3c2410 dma

1. DMA的含义:Direct Memory Acess ,可以不通过CPU而在DMA控制器的控制下,高速地和I/O设备和存储器之间交换数  据。 2.S3C2410A支持4通道DMA,在以下四种情况可运行                ① 源设备和目标都在系统总线AHB上 ② 源设备和目标都在外围总线APB上 ③ 源设备在系统总线,而目标设备位于外围总线④ 源设备在外围总线,而

2008-04-26 13:40:00 799 1

转载 Memory Controller Nand Flash UART Interrupt Timer

Memory ControllerSDRAM:S3C2410提供了外接ROM、SRAM、SDRAM、NOR Flash、NAND Flash的接口。S3C2410外接存储器的空间被分为8 BANKS,每BANK容量为128M:当访问BANKx(x从0到7)所对应的地址范围x*128M到(x+1)*128M-1SDRAM使用BANK6,它的物理起始地址为6*128M=0x30000000。SDR

2008-04-23 10:49:00 896

转载 嵌入式系统 Boot Loader 技术内幕

本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越来越流行。一个嵌入式 Linux 系统从软件的角度看通常可以分为四个层次: 1. 引导加载程序。包括固化在固件(firmware)中的 boot 代码(可选),和 Boot Loader

2008-04-22 23:28:00 603

转载 s3c2410 clock

S3C2410 CPU默认的工作主频为12MHz,使用PLL电路可以产生更高的主频供CPU及外围器件使用。S3C2410有两个PLL:MPLL和UPLL,UPLL专用与USB设备。MPLL用于CPU及其他外围器件。通过MPLL会产生三个部分的时钟频率:FCLK、HCLK、PLCK。FCLK用于CPU核,HCLK用于AHB总线的设备(比如SDRAM),PCLK用于APB总线的设备(比如UAR

2008-04-18 10:46:00 1395 2

原创 s3c2410 中断异常处理

    在进入正题之前,我想先把ARM920T的异常向量表(Exception Vectors)做一个简短的介绍。:]ARM920T的异常向量表有两种存放方式,一种是低端存放(从0x00000000处开始存放),另一种是高端存放(从0xfff000000处开始存放)。关于为什么要分两种方式进行存放这点我将在介绍MMU的文章中进行说明,本文采用低端模式。ARM920T能处理有8个异常,他们分别是:R

2008-04-17 10:38:00 721 1

转载 ARM S3C2410硬件手册重点

a.Memory Controllerb.Nand Flashc.UARTd.Interrupte.Timer Memory ControllerSDRAM:S3C2410提供了外接ROM、SRAM、SDRAM、NOR Flash、NAND Flash的接口。S3C2410外接存储器的空间被分为8 BANKS,每BANK容量为128M:当访问BANKx(x从0到7)

2008-04-17 10:29:00 864

转载 s3c2410 之watchdog

1.什么是watchdog?watchdog,中文名称叫做“看门狗”,全称watchdog timer,从字面上我们可以知道其实它属于一种定时器。然而它与我们平常所接触的定时器在作用上又有所不同。普通的定时器一般起记时作用,记时超时 (Timer Out)则引起一个中断,例如触发一个系统时钟中断。熟悉windows开发的朋友应该用过windows的Timer,windows Timer的作用与方才

2008-04-15 12:04:00 563

转载 error LNK2001: unresolved external symbol 错误分析

如果在 ATL 组件程序中调用了 CRT 的运行时刻库函数,比如开平方 sqrt() ,那么编译的时候可能会报错“error LNK2001: unresolved external symbol _main”。怎么办?下面方法中的任何一个都可以纠正这个错误: ?         去除_ATL_MIN_CRT这个预处理符号;?         打开stdafx.cpp,注释掉#in

2008-04-15 11:20:00 946

原创 libupnp tvdevice 运行成功!

 Initializing UPnP Sdk with         ipaddress = (null) port = 0UPnP Initialized         ipaddress= 192.168.1.85 port = 49152Specifying the webserver root directory -- ./webRegistering the RootDevice  

2008-04-14 17:26:00 1902 2

转载 C/C++程序员应聘常见面试题深入剖析之一

C/C++程序员应聘常见面试题深入剖析(1)作者:宋宝华 e-mail:[email protected] 出处:软件报1.引言本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分析面试题的内涵。文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见。许多面试题看似简单,却需要深厚的基本功才能给出完美的解答。企业要求面试者写一个最简单的strcpy 函数都可看出面试者在技

2008-04-11 17:03:00 740

转载 c/c++常见面试题深入剖析之二

 3.内功题 试题1:分别给出BOOL,int,float,指针变量 与“零值”比较的 if 语句(假设变量名为var)解答: BOOL型变量:if(!var)int型变量:   if(var==0)float型变量:const float EPSINON = 0.00001;if ((x >= - EPSINON) && (x 指针变量:  if(var==N

2008-04-11 17:02:00 552

原创 fs2410 start.s之四

fs2410 start.s之四

2008-04-10 00:28:00 424

原创 中断和异常的区别,软件中断和硬件中断

8086/8088把中断分为内部中断和外部中断两大类。为了支持多任务和虚拟存储器等功能,80386把外部中断称为“中断”,把内部中断称为“异常”。与8086/8088一样,80386通常在两条指令之间响应中断或异常。80386最多处理256种中断或异常。       1.中断             对80386而言,中断是由异步的外部事件引起的。外部事件及中断响应与正执行的指令没有关系。通常,中

2008-04-08 00:08:00 5833 4

原创 计算机基本原理问答题及答案

1. 控制器的控制方式解决什么问题?有哪几种基本控制方式?各有什么特点? 1. 计算机的基本工作由指令控制。指令操作不仅涉及CPU内部,还涉及内存和I/O接口。另外,指令的繁简程序不同,所需要执行时间也有很大差异。如何根据具体情况实施不同的控制,这是控制方式所要解决的问题。   控制器有三种控制方式:   同步控制:基本设计思想是以部件中最长的操作时间作为统一时间间隔标准,系统

2008-04-07 23:38:00 15077 1

空空如也

空空如也

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

TA关注的人

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