摘要: 般而言,一个程序包括只读的代码段和可读写的数据段。在ARM的集成开发环境中,只读的代码段和常量被称作RO段(ReadOnly);可读写的全局变量和静态变量被称作RW段(ReadWrite);RW段中要被初始化为零的变量被称为ZI段(ZeroInit)。对于嵌入式系统而言,程序映象都是存储在Flash存储器等一些非易失性器件中的,而在运行时,程序中的RW段必须重新装载到可读写的RAM中。这就涉及到程... 阅读全文
posted @ 2010-04-11 21:12 辛勤耕耘 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 之所以要介绍S3C2410 DMA,因为它对性能太重要了!只有活用了DMA,CPU的性能才能上去!S3C2410有四个DMA,每个DMA支持工作方式基本相同,但支持的source Dest可能略有不同,具体见Datasheet。     这里具体DMA CONTROL寄存器(DCON)的配置说明,进而引出DMA的各种工作方式。 Atomic transfer:指的是D... 阅读全文
posted @ 2010-04-11 13:11 辛勤耕耘 阅读(565) 评论(0) 推荐(0) 编辑
摘要: 我们知道MMU存在的原因是为了支持虚拟存储技术,但不知道你发现了没有,虚拟存储技术的使用会降低整个系统的效率,因为与传统的存储技术相比,虚拟存储技术对内存的访问操作多了一步,就是对地址进行查表(查找映射关系),必须先从虚拟地址中分解出页号和页内偏移,根据页号对描述符进行索引(这就是一个查表过程)得到物理空间的首地址,这样做的代价是巨大的(其实这也正是时间效率与空间效率之间矛盾的一个体现),对某些嵌... 阅读全文
posted @ 2010-04-11 13:01 辛勤耕耘 阅读(246) 评论(0) 推荐(0) 编辑
摘要:  MMU,全称Memory Manage Unit, 中文名——存储器管理单元。     许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难... 阅读全文
posted @ 2010-04-11 11:54 辛勤耕耘 阅读(557) 评论(0) 推荐(0) 编辑
摘要:         作者:蔡于清     ARM920T的异常向量表(Exception Vectors)简介: 有两种存放方式,一种是低端存放(从0x00000000处开始存放),另一种是高端存放(从0xfff000000处开始存放)。关于为什么要分两种方式进行存放参考MMU的文章,本文采用低端模式... 阅读全文
posted @ 2010-04-11 10:06 辛勤耕耘 阅读(573) 评论(0) 推荐(0) 编辑