自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

转载 sizeof 的终极解释

(转载)结构体的sizeof先看一个结构体:http://www.cwba.com.cnstruct S1{    char c;    int i;};http://www.shishangmeinv.com.cnsizeof(s1)在VC6中按默认设置得到的结果为8。我们先看看sizeof的定义——sizeof的结果等于对象或者类型所占的内存字节数,好吧,那就让我们来看看S1的内存分配情况:h

2007-12-09 17:33:00 356

转载 sizeof(结构体)和内存对齐

有的时候,在脑海中停顿了很久的“显而易见”的东西,其实根本上就是错误的。就拿下面的问题来看:struct T{  char ch;  int   i   ;};使用sizeof(T),将得到什么样的答案呢?要是以前,想都不用想,在32位机中,int是4个字节,char是1个字节,所以T一共是5个字节。实践出真知,在VC6中测试了下,答案确实8个字节。哎,反正受伤的总是我,我已经有点

2007-12-09 17:31:00 769 3

转载 浅谈C中的malloc和free

来自bc-cn C语言论坛在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以  写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了

2007-12-07 12:13:00 373

转载 one's complement & two's complement

一的补码(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

2007-10-30 21:45:00 3964

转载 C语言测试:想成为嵌入式程序员应知道的0x10个基本问题

C语言测试:想成为嵌入式程序员应知道的0x10个基本问题C语言测试是招聘嵌入式系统程序员过程中必须而且有效的方法。这些年,我既参加也组织了许多这种测试,在这过程中我意识到这些测试能为带面试者和被面试者提供许多有用信息,此外,撇开面试的压力不谈,这种测试也是相当有趣的。从被面试者的角度来讲,你能了解许多关于出题者或监考者的情况。这个测试只是出题者为显示其对ANSI标准细节的知识而不是技术技巧而设计吗

2007-10-30 18:55:00 349

转载 原码、补码和反码

数在计算机中是以二进制形式表示的。 数分为有符号数和无符号数。 原码、反码、补码都是有符号定点数的表示方法。 一个有符号定点数的最高位为符号位,0是正,1是副。 以下都以8位整数为例, 原码就是这个数本身的二进制形式。 例如0000001 就是+11000001 就是-1 正数的反码和补码都是和原码相同。 负数的反码是将其原码除符号位之外的各位求反 [-3]反=[10000011]

2007-10-18 10:29:00 361

转载 DRAM, SRAM, SDRAM的关系与区别

SRAM是英文Static RAM的缩写,它是一种具有静志存取功能的内存,不需要刷新电路即能保存它内部存储的数据。不像DRAM内存那样需要刷新电路,每隔一段时间,固定要对DRAM刷新充电一次,否则内部的数据即会消失,因此SRAM具有较高的性能,但是SRAM也有它的缺点,即它的集成度较,相同容量的DRAM内存可以设计为较小的体积,但是SRAM却需要很大的体积,所以在主板上SRAM存储器要占用一部分面

2007-10-12 17:06:00 1938

转载 ARM中的MIPS和MHz联系

最近看嵌入式系统方面的文章,经常看到MIPS这个简称,后来查了一下是什么意思。MIPS即Million Instruction Per Second 的简写--计算机每秒种执行的百万指令数。是衡量计算机速度的指标。现如今CPU的频率越来越高,又是流水线又是超标量计算又是双核多核的,单纯以时钟频率来衡量计算机的速度已经不再科学,用MIPS来衡量相对比较合理。以ARM7为内核的S3C44B

2007-10-12 16:40:00 1345

原创 Linux2.6内核TouchScreen驱动移植

在 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

2007-09-30 22:34:00 3203 1

原创 Linux2.6内核LCD驱动移植

参考: http://www.cnitblog.com/zouzheng/articles/14578.htmllinux2.6.14 已经包含了 lcd 的驱动程序,驱动程序位于 /linux-2.6.14/drivers/video/ 目录下,文件名是 s3c2410fb.c, 头文件是 s3c2410fb.h. 在这里可以不研究这个文件。只要对 lcd 进行以下初始化就可以了。     打开

2007-09-30 22:32:00 3090 1

转载 Linux2.6内核CS8900驱动移植

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     

2007-09-30 22:30:00 1423

转载 从 2.4 到 2.6:Linux 内核可装载模块机制的改变对设备驱动的影响

从 2.4 到 2.6,Linux 内核在可装载模块机制、设备模型、一些核心 API 等方面发生较大改变,设备驱动开发人员面临着将驱动从 2.4 移植到 2.6 内核,或是使驱动同时支持2.4 与 2.6 内核的任务。站在设备驱动开发人员的角度,驱动由一个或几个外部可加载内核模块组成,本文针对 2.6 内核里模块机制的改变对编写设备驱动程序的影响,从内核模块的编译、装载时的版本检查、初始化与退出、

2007-09-07 17:25:00 385

原创 弄清楚各种linux文件系统

    今天经过一顿狂研,终于对linux的文件系统这个东西有了更深入层次的认识,稍微捋清了一点他们的关系!    在Linux系统中,每个分区都是一个文件系统,都有自己的目录层次结构。Linux的最重要特征之一就是支持多种文件系统,这样它更加灵活,并可以和许多其它种操作系统共存。由于系统已将Linux文件系统的所有细节进行了转换,所以Linux核心的其它部分及系统中运行的程序将看到统一的

2007-08-25 19:47:00 860

原创 理解ramdisk

linux下的ramfs  最近写bash脚本的时候,老担心产生的临时文件伤害硬盘,所以不停的修改脚本,通过使用管道和变量,临时文件数量是不停的减少,而且技术也在提高,但仍然会产生7到8个的临时文件,以每5个小时产生的速度不停地写硬盘,怕把硬盘给写出坏道来,记得以前看到过使用内存当硬盘的工具,不知道在linux下有没,google一下,发现,原来系统本身就有这种功能,就是使用/dev/ram*文件

2007-08-25 16:50:00 1205 2

转载 嵌入式Linux内核的块设备驱动

对于linux 的根文件系统,目前有三种块设备的驱动可以选择,它们都可以用来包含根文件系统。分别是:a) Blkmem 驱动b) MTD 驱动c) RAM disk 驱动       Blkmem 驱动是专门为嵌入式linux 开发的一种块设备驱动,它是嵌入式linux系统中最为古老和通用的块设备驱动。它原理相对简单但是配置比较复杂,需要根据你即的Flash的分区使用情况来修改代码。当然修改的结果

2007-08-25 16:47:00 1524

转载 linux命令历史和 Tab 自动补全

 用不了多久,你就会感觉到一遍遍地重复键入相同命令并不是那么激动人心。一个小小的键入错误会破坏整个命令行。 解决办法之一是使用命令行历史。通过使用 [向上箭头] 和 [向下箭头] 键来上下滚动,你会发现许多前面已经键入过的命令。 我们可以再在 sneakers.txt (在 第 13.9.1 节 中创建的)文件中试验一下。不过,第一次,让我们在 shell 提示下键入: cat s

2007-08-07 16:20:00 8575 1

原创 调度

        调度     ----操作系统的基本功能,几乎所有的计算机资源在使用前都要被调度。       任务调度主要是协调任务对计算机系统资源(如内存、I/O设备、CPU)的争夺使用。进程调度又称为CPU调度,其根本任务是按照某种原理为处于就绪状态的进程分配CPU。由于嵌入式系统中内存和I/O设备一般都和CPU同时归属于某进程,所以任务调度和进程调度概念相近,很多场合不加区分。

2007-08-05 11:20:00 545

转载 如何去理解Linux中进程,线程等概念

1 基本概念  1.1. 进程和线程  可执行文件由指令和数据组成。进程就是在计算机上运行的可执行文件针对特定的输入数据的一个实例,同一个可执行程序文件如果操作不同的输入数据就是两个不同的进程。  线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享其所附属的进程的所有的资源,包括打开的文件、页表(因此也就共享整个用户态地址空间)、信号标识及动态分配的内存等等。线

2007-08-04 21:31:00 880

转载 抢占,实时

(WinCE) 提问抢占式内核和非抢占式内核的区别是不是抢占式内核的系统核心服务函数可以被中断?    但这种情况下,怎样保证系统的全局数据结构不被多任务破坏?网上的一篇文章好象说    系统(RTOS)不仅可以按任务是否可以抢占,而分为抢占式多任务和非抢占式任务;而且可以按内核是否可以被抢占,而分为抢占式多核心和非抢占式核心。不知这种说法对不对?    我看过uCos,我感觉它只是一个非抢占式核

2007-08-04 10:13:00 790

转载 GOOGLE搜索从入门到精通v2.2

一,GOOGLE简介 Google(www.google.com)是一个搜索引擎,由两个斯坦福大学博士生Larry Page与Sergey Brin于1998年9月发明,Google Inc. 于1999年创立。2000年7月份,Google替代Inktomi成为Yahoo公司的搜索引擎,同年9月份,Google成为中国网易公司的搜索引擎。98年至今,GOOGLE已经获得30多项业界大奖。

2007-08-02 10:09:00 438

转载 Keil C中用unsigned long要注意的问题

Keil C里用到了unsigned long长整型变量,编译时都能通过,但运行时老是溢出,同伙百度到了此贴,解决了问题,于是转帖于此:今天调试一个乘法,出了点问题,先看代码示意:void test(void){       unsigned long mid1,mid2,mid3;       mid1=6*10000;//index1       mid2=7*1000

2007-08-02 09:33:00 1440

转载 基于S3C2410 的时钟频率小结

其中pll 包含两种: MPLL 主要应用于各种设备时钟的提供,将重点讨论UPLL 应用于USB时钟频率应用,为48M其中MPLL的设置主要依靠使用各种锁相环和分频器来改变输入原始的频率,经过锁相环之后可以提升频率,关于频率的选择主要依靠改变CPU寄存器实现,MPLLCON通过改变其中的参数设置即可Mpll = (m * Fin) / (p * 2s)m = (MDIV + 8), p = (

2007-07-29 12:42:00 1094 1

原创 嵌入式linux

      uC/OS操作系统内核很小,特别适合初学,而且它是占先式内核,是一个实时的操作系统,特别适合实时性要求较高的场合,其内核很小当然其功能当然也就没有linux强大,而且uC/OS的图形用户界面(GUI)还是刚有雏形,没有linux的GUI好,而它的GUI是收费的。这样的话只是linux是最好了,但是linux本身不是实时的操作系统,不适合实时性高的场合,于是有一种rt-Linux产生了,

2007-07-27 11:06:00 304

转载 回车和换行

转载:回车和换行今天总算搞清楚“回车”(carriage return)和“换行”(line feed)这两个概念的来历和区别了。在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个

2007-07-11 17:52:00 314

转载 Windows和Unix文件的格式互换

linux的文件在每一行结束时只有一个换行符,而在windows中的文件在每一行结束时有一个换行符还有一个回车符,因此在linux下面创建的文件在windows中用记事本打开的时候是没有换行的,每个换行符被表示成了一个黑色的方块,下面的命令可以进行文件格式的转换,便于在不同的系统中查看。linux文件转成dos文件: sed s/$//r/g linux.txt > do

2007-07-11 17:39:00 310

转载 operators (>, >>, <, and |) ,pipe

摘自http://www.physionet.org/faq.shtml,有助于理解输入、输出、pipe等概念What is a "standard input" or a "standard output"?These concepts are common to all text mode applications (see the previous question). A prog

2007-07-11 09:39:00 342

原创 physionet软件安装

       这几天帮Doctor安装一个访问麻省理工学院MIT--HIT心电数据库的软件。由于这个软件是MIT以linux下开源软件形式提供的,因此有三种方法来用这个软件:一是在windows下安装cygwin,模拟unix的运行环境,再运行WAVE这个基于XView的linux软件;二是直接在linux系统下安装运行;三是自己在windows下用编程工具做个类似WAVE的软件,对MIT的网络数

2007-07-07 16:21:00 1268

转载 Linux下软件安装方法

对于Linux初学者来说,安装一个很小的软件恐怕都是一件很让人头疼的事,因为在Linux下安装软件不像在 Windows中那样简单。在Linux中大多数软件提供的是源代码,而不是现成的可执行文件,这就要求用户根据自己系统的实际情况和自身的需要来配置、编译源程序后,软件才能使用。多数初学者往往不知道该如何进行配置和编译就盲目地运行一些有执行属性的文件或者机械地运行“make”、“make insta

2007-07-07 15:04:00 374

原创 tftpserver调试ADS地址设置

       在2410上板子上做个简单的tftp server已经好多天了眼看就要成功了,可是运行时老是不对头,程序里是一点问题也没有的,问题是我一旦在程序里的某个地方加一条语句(无关紧要)编译make都能通过,但就是利用板子BIOS的USBdownload功能下载到RAM里再按提示敲入"y" 开始运行时结果就什么也没有了,好像程序就不运行了,彻底死了一样,郁闷抓狂了N久,一直研究程序也没研究出

2007-07-02 22:08:00 754

原创 菜鸟学飞笔记之液晶屏调试心得

        郁闷了好几天的单片机点液晶屏不成功原因终于找到了,用的是SYM320240BZK 的蓝屏,烧进厂家提供的程序始终不行,查引脚接法查了N遍也没查出错,最后不得不借助串口调试,因为刚开始是要对屏进行初始化,而初始化就是对屏里的一大堆寄存器进行写操作,比如:lcd_cmdwrite(0x00,0xcd),借用串口调试,把刚写好的寄存器里的值再读出来(lcd_cmdread(0x00))再

2007-06-25 22:01:00 778 3

转载 单片机读写U盘、cf卡开发心得转帖

单片机读写U盘、cf卡开发心得      刚做完一个项目,要求将人体心电信号采集下来,存储到海量存储设备中,可以用U盘也可以用CF卡。这个项目的难点不在采集,只要做好信号放大、滤波防干扰,就可以保证信号采集的正确性。而难点在于数据的存储,要求患者将24小时甚至更长时间的所有心电信号都存储下来,按照10ms采集一次数据那么一个小时就要400K,一天的数据存储量需要9.6M。因此一般的静态E2满足不了

2007-06-20 15:47:00 1480 1

转载 USB接口的基础理论知识

       最近开发一个单片机读写U盘的东东,看到一篇USB入门的好文,转帖于此,以飨观众-----------------------------------------------------------------------------------------------------------------------------------------------USB接口的基

2007-06-20 10:47:00 2296

原创 开新拔课喽~~~

      每天学些零碎的东西,感觉有点惶惶然, 就算是给吾所学之内容找个实体依托吧,所以就开了这个8客,正所谓好记性不如烂笔头,每天记录所学喽;同时也免得因为偶记忆力差而把这些本就学的不深的东东忘掉。再者看到广大牛人同行友友们无私奉献的精神,从他们的那些8客里也确实学了不少东东,解决了不少小问题。因此向牛人们看齐吧,呵呵

2007-06-20 09:39:00 445

空空如也

空空如也

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

TA关注的人

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