arm9 裸机
liangkaiyang
这个作者很懒,什么都没留下…
展开
-
S3C2440上LCD驱动(FrameBuffer)实例开发讲解(二)
注:转自http://hbhuanggang.cublog.cn 四、帧缓冲(FrameBuffer)设备驱动实例代码:①、建立驱动文件:my2440_lcd.c,依就是驱动程序的最基本结构:FrameBuffer驱动的初始化和卸载部分及其他,如下:#include linux/kernel.h>#include linux/module.h>#include linu转载 2010-05-02 20:39:00 · 844 阅读 · 0 评论 -
ads使用方法---在次做个标记
ads使用方法(arm9流水灯) 最近一直在写裸机程序,不过也不会写,真是郁闷,后来在arm9之家上下载了一个触摸屏的程序(裸机),昨天就自己在编译,说是真是奇怪,我自己摸索的流水灯(以前编译通过了,下进去也正常呀),这次我就直接打开ads,然后在file菜单下,用open来打开那个下载的工程,可是问题出来了,编译的时候就是出现一个问题 上图没有显示完,后面的是2440init.o,也就是没有找到这个文件,很是郁闷,后来干脆找老师,老师也弄了半天,也怨我没有给老师说明白,后来又重新建了一个工程,把这许多文件转载 2010-12-26 14:57:00 · 4585 阅读 · 0 评论 -
ARM基础
7种工作模式:1.User 用户模式 正常程序执行2.FIQ 快速中断模式 高优先级中断3.IRQ 外部中断模式 通常中断处理4.Surpervisor 管理模式 复位或软中断5.Abort 中止模式 存取异常6.Undefined 未定义模式 执行未定义指令7.System 系统模式 特权级的寄存器:ARM有37个寄转载 2010-10-31 18:54:00 · 965 阅读 · 0 评论 -
内存(RAM或ROM)和FLASH存储的真正区别总结
1.什么是内存 什么是内存呢?在计算机的组成结构中,有一个很重要的部分,就是存储器。存储器是用来存储程序和数据的部件,对于计算机来说,有了存储器,才有记忆功能,才能保证正常工作。存储器的种类很多,按其用途可分为主存储器和辅助存储器,主存储器又称内存储器(简称内存),辅助存储器又称外存储器(简称外存)。外存通常是磁性介质或光盘,像硬盘,软盘,磁带,CD等,能长期保存信息,并且不依赖于电来保存信息,但是由机械部件带动,速度与CPU相比就显得慢的多。内存指的就是主板上的存储部件,是CPU直接与之沟通,并用转载 2010-10-21 08:23:00 · 15978 阅读 · 0 评论 -
s3c2410 CACHES, WRITE BUFFER
作者:蔡于清www.another-prj.com 在上一篇文档中我向大家介绍MMU的工作原理和对s3c2410 MMU部分操作进行了讲解。我们知道MMU存在的原因是为了支持虚拟存储技术,但不知道你发现了没有,虚拟存储技术的使用会降低整个系统的效率,因为与传统的存储技术相比,虚拟存储技术对内存的访问操作多了一步,就是对地址进行查表(查找映射关系),必须先从虚拟地址中分解出页号和页内偏移,根据页号对描述符进行索引(这就是一个查表过程)得到物理空间的首地址,这样做的代价是巨大的(其实这也正是时间效率与空间效率转载 2010-10-21 08:21:00 · 583 阅读 · 0 评论 -
有限状态机
有限状态机是指输出取决于过去输入部分和当前输入部分的时序逻辑电路。一般来说,除了输入部分和输出部分外,有限状态机还含有一组具有“记忆”功能的寄存器,这些寄存器的功能是记忆有限状态机的内部状态,它们常被称为状态寄存器。在有限状态机中,状态寄存器的的下一个状态不仅与输入信号有关,而且还与该寄存器的当前状态有关,因此有限状态机又可以认为是组合逻辑和寄存器逻辑的一种组合。其中,寄存器逻辑的功能是存储有限状态机的内部状态;而组合逻辑有可以分为次态逻辑和输出逻辑两部分,次态逻辑的功能是确定有限状态机的下一个状态,输出逻转载 2010-10-21 08:14:00 · 744 阅读 · 0 评论 -
字节,千,兆,千兆
1GB=1024MB=1024*1024KB=1024*1024*1024B B=字节 K=千 M=兆 G=千兆 “理论这样算,但是现在硬盘厂商都是按照1G=1000M去算的,所以现在80G的硬盘在系统检测出来的大概都是76G多 计算机中: bit就是位,(就是二进制数中的一位)是最小的单位,8位表示一个字节。容量GB,MB,KB,B。B就是一个字节(八位)G,M,K表示吉,兆,千,他们之间是1024进位。也就是1GB=1024MB,1MB=1024KB,1KB=1024B。 个英文字母、半角标点符号占用一转载 2010-10-21 08:11:00 · 1769 阅读 · 0 评论 -
C笔试题(判断大端小端模式)
试题1:请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1解答: int checkCPU( ){ { union w { int a; char b; } c; c.a = 1; return(c.b ==1); } }剖析:嵌入式系统开发者应该对Litt转载 2010-10-21 08:07:00 · 752 阅读 · 0 评论 -
I2C和SPI总线
看了王珏的本科毕业论文,才算在没有任何实践的情况下搞清楚总线协议和CMU的IO端口的关系。原来这才是我要找的东西,原先的资料太多和杂,实在是太概念。 现在明白为什么可以用C编程控制CMU了。以下转载自王珏的毕业论文: 1.I2C总线及其工作原理 微控制器和各种传感器的通信一般是通过I2C 总线(Inter-IntegratedCircuit)。 I2C 串行总线一般有两根信号线,一根是双向的数据线SDA,另一根是时钟线SCL。I2C 的工作原理如图所示,主机在SCL 线上产生自己的转载 2010-10-21 08:19:00 · 802 阅读 · 0 评论 -
DMA(一)
DMA介紹之所以要介绍DMA,因为它对性能太重要了!只有活用了DMA,CPU的性能才能上去!S3c2410有四个DMA,每个DMA支持工作方式基本相同,但支持的source Dest可能略有不同,具体见Datasheet。这里具体DMA CONTROL寄存器(DCON)的配置说明,进而引出DMA的各种工作方式。Atomic transfer:指的是DMA的单次原子操作,它可以是Unit模式(传输1个data size),也可以是burst模式(传输4个data size),具体对应DCON[28]。Da转载 2010-10-21 08:12:00 · 3141 阅读 · 0 评论 -
LCD驱动舍弃RGB位数的编程问题
因为RGB的有效位数都不足一个字节(8位),那我们只能忍痛割爱了,舍弃掉低位数据,代码如下:r = R & 0xF8;g = G & 0xFC;b = B & 0xF8;high = r | (glow = (g>3);//????color= (high 在编写lcd驱动,16位的 而RGB分别8位共24位所以要舍弃 rgb分别位5,6,5位 。前面三行看得懂 后三行加注释??的谁帮解析一下啊 主要是一个位的移位转换问题。举个例子:一个24位颜色RGB(0x50,0x60,0x70)转换为565的16位:转载 2010-11-10 15:22:00 · 1008 阅读 · 0 评论