基于S3C4510B微处理器和uClinux实现存储系统的设计

发布时间:2023-01-06  

1. 引言

对于嵌入式系统的开发人员来说,深刻地理解其存储系统的寻址原理和有效的管理存储系统对正确高效地设计嵌入式系统的硬件和底层软件编程具有重要的意义。目前嵌入式系统中最常用的存储器包括有EEPROM、FLASH、Normal DRAM和Sync.DRAM等。本文所采用的存储器包括有SDRAM和FLASH。S3C4510B(以下简称4510)微处理器是构建在ARM核ARM7TDMI之上的,ARM7TDMI的地址总线为32位的,4510的内部系统总线却是26bit:SA[25:0],它的外部地址总线却是22bit:ADDR[21:0],它们之间是如何译码的,而仅用14根外部地址总线为什么能够访问多达16MB的内存地址空间,本文就试图回答这些问题。最后还介绍了基于S3C4510B的存储系统在硬件级别上的设计即接口设计和uClinux中对存储系统编程的实现。


2.基于S3C4510B的存储系统原理

2.1.32位地址总线与26位内部系统总线的关系

ARM7TDMI把存储器看作是从零向上增长的许多字节的线性集合,0字节到3字节为第一个字,4字节到7字节为第二个字如此等等,它的地址总线是32位的,而4510的内部系统总线却是26bit的,也就是说它能够寻址的最大空间是226byte,即64MB的地址空间0x0000000~0x3FFFFFF。很显然构建在ARM7TDMI上的RISC微控制器4510的内部地址总线仅用到了ARM7TDMI的32位地址总线的低26位,并且是一一对应的相连。

2.2.4510寻址原理

基于S3C4510B微处理器和uClinux实现存储系统的设计


2.3.26位内部系统地址总线与22根外部地址总线的关系

4510通过设定寄存器EXTDBWIHD的值可以支持同外部存储器的8、16、32位接口,而SA[25:0]到ADDR[21:0]的地址译码就是依赖于这个不同接口的数据宽度。当4510发出字访问信号时,存储系统忽略低2位SA[1:0],即SA[2]与ADDR[0]相连,依次类推,直到SA[23]与ADDR[21]相连,同理当发出半字访问信号时,存储系统忽略低位SA[0],即SA[1]与ADDR[0]相连,依次类推,这样做的目的就是在原理图设计时4510的地址总线可以方便地与存储器的地址总线一一对应连接即可。

2.4.SDRAM的寻址问题

基于S3C4510B微处理器和uClinux实现存储系统的设计

以SDRAM芯片HY57V1620HG为例说明。该芯片的内部存储组织是4Banks*1M*16Bit,即共有4个Banks,每Bank中有1M个半字(16Bit)。因为该芯片引脚中有行地址锁存引脚#RAS和列地址锁存引脚#CAS,所以我们可以把每Bank看作如下图所示的一张存储单元阵列表格。其中每一个表格代表16Bit的数据存储单元。在实际工作中,首先Bank地址与相应的行地址是同时发出的,然后再同时发送列地址寻址命令与具体的操作命令(是读还是写),这时我们就先后选中了Bank、行地址和列地址,因此也就唯一确定了该存储单元阵列表格中的一个存储单元。至此我们就能明白了仅用它的12根地址线却能够访问8MB地址空间的问题。


3.存储系统接口电路具体设计

基于S3C4510B微处理器和uClinux实现存储系统的设计

从2.2节的分析可以知道所谓的片选信号对4510来说就是存储器组选择信号。4510把nRCS《5:0》用作FLASH的片选信号,把nSDCS[3:0]用作SDRAM的片选信号。从参考文献3看到HY57V1620的LDQM和UDQM两引脚是起到Data Input/Output Mask的作用。存储系统是如何利用这两个引脚的呢?当4510执行内存中半字数据读取指令LDRH、字节数据读取指令LDRB等指令时,这两个引脚就发挥作用了。例如当执行LDRB时,4510就会发出控制信号使得SDRAM1的UDQM、SDRAM2的LDQM和UDQM有效,就是它们把32位数据中的高24位屏蔽掉,从而进行字节读取。LDQM是Low (byte)DQ Mask的缩写。UDQM则是Upper (byte) DQ Mask的缩写。DQ指SDRAM的输入/输出数据。


上图是存储系统电路原理图。两片HY57V1620的并联设计是为了充分发挥32位MPU的性能


4.存储系统在嵌入式操作系统uClinux中的实现与配置

所谓的存储系统在uClinux中的实现与配置实质上就是对4510的各个存储器组的控制寄存器进行设置。此处运用的是uClinux-Samsung-20020318.tar.gz版本。所谓配置存储系统所有的4510相关特殊寄存器的宏定义在Linux-2.4.x/Include/Asm-armnommu/Arch-samsung/Hardware.h中。部分代码如下:

…。.

#define DSR0(2《《0)/*ROM Bank0数据宽度为半字*/

…。.

#define DSD0(3《《12)/*RAM Bank0数据宽度为字*/

…。.

#define ROM_BASE0_R((0x00000000》》16)《《10)/*ROM Bank0的基指针是0x000*/

…。.

#define SDRAM_BASE0_R((0x01000000》》16)《《10)?/*RAM Bank0基指针是0x0100*/

真正进行存储系统映射的代码在Linux-

2.4.x/Arch/Armnommu/Boot/Compressed/head.S部分代码如下:

……。

#ifdef CONFIG_ARCH_SAMSUNG

ldr r0,=SYSCFG/*设定系统寄存器的值*/

ldr r1,=rSYSCFG

str r1,[r0]

adr r0,SDRAM_SYSINIT_RESET/*设定初始化存储映射*/

ldmia r0,{r1-r12}

ldr r0,=SYS_INIT_BASE/*该宏定义位于上面提到的Hardware.h中,是外部存储寄存器组中第一个寄存器的地址*/

stmia r0,{r1-r12}

……


5.结束语

本文阐述了本人在嵌入式系统设计过程中遇到的关于存储系统方面问题,希望因同样问题感到迷惑的开发人员能从本文中获得启发和帮助,从而能够从更深的层次上理解和设计整个系统的硬件和软件。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    工作中,国家纳米科学中心的孙连峰团队与其合作者成功构建出室温自旋FET。最近他们通过实验证明该种自旋FET同时具有存储功能,为实现存算一体化、低功耗、并行计算开辟了一种新途径。 在这项工作中,一种......
    结构。这就是说,该产品能够在外部同时处理24位的逻辑地址空间。而在后续的产品则能够解决32位的问题。 Zilog,8位微处理器的缔造者,宣布将要推出16位的Z8000微处理器。该产品具有分段存储功能,在......
    体积很小,但仍然保留了Linux的大多数优点,如:稳定?良好的移植性;优秀的网络功能;对各种文件系统的完备支持,以及标准丰富的API等?uClinux是专门面向没有存储器管理单元(MMU)的处理器......
    于测量放大器和滤波器等电路系统的某些参数,是-种多用途的电子测量仪器; 3、现代的频谱分析仪能以模拟方式或数字方式显示分析结果; 4、能分析低频率到亚毫米波段的全部无线电频段的电信号; 5、仪器内部采用数字电路和微处理器,具有存储和运算功能......
    含了任务调度,任务管理,时间管理,内存管理和任务问的通信和同步等基本功能。μCOS-Ⅱ拥有一个可移植、可固化、可裁剪的实时内核,它具有执行效率高,占用空间小,实时性能优良和可扩展性强等特点,被广泛地移植应用到各种嵌入式微处理器......
    ,工程师可以将更多精力放在存储功能性实现的思考上,而非繁琐的硬件配置,从而提供了更好的选择便携性和灵活性,满足数据中心的弹性增减和和快速部署。软件定义存储本质上仍然需要考虑软件与硬件之间的耦合性,只有存储......
    数字电路中的RS触发器(2024-10-12 12:37:20)
    么状态。 总结 或非门RS触发器有以下功能: S=0,R=0时候,存储功能......
    种模式主要用于阻止对硬件的异常访问,比如存储资源、关键寄存器等。 特权级别:能够访问硬件所有存储资源,能够执行所有指令。 用户级别:禁止使用MSR和MRS访问特殊功能寄存器(APSR除外),不能使用CPS指令。对系......
    数字存储示波器的优缺点是什么;  数字存储示波器是采用数字电路进行模/数转换,并通过存储器实现对触发前信号进行记忆的一种具备存储功能的数字化设备。那么数字存储示波器有哪些优缺点呢?   数字存储......
    构与版本V1相比,增加了以下功能: 乘法和乘加指令; 支持协处理器操作指令; 快速中断模式; SWP/SWPB的最基本存储器与寄存器交换指令; 寻址空间:64MB。 ARM版本Ⅲ : V3版架......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>