1 / 17

实验一 存储器实验

实验一 存储器实验. 1 实验目的 2 实验设备 3 实验内容 4 实验原理 5 实验操作步骤. 1 实验目的. 通过实验熟悉 ARM 的内部存储空间分配。 熟悉用寄存器配置存储空间的方法。 掌握对存储区进行访问的方法。. 2 实验设备. 硬件: Embest S3CEV40 实验平台, Embest ARM 标准 / 增强型仿真器套件, PC 机。 软件: Embest IDE 2004 集成开发环境, Windows 2000/NT/XP 。. 3 实验内容.

davin
Télécharger la présentation

实验一 存储器实验

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 实验一 存储器实验 • 1实验目的 • 2实验设备 • 3实验内容 • 4实验原理 • 5实验操作步骤

  2. 1实验目的 • 通过实验熟悉ARM的内部存储空间分配。 • 熟悉用寄存器配置存储空间的方法。 • 掌握对存储区进行访问的方法。

  3. 2实验设备 硬件:Embest S3CEV40实验平台,Embest ARM标准/增强型仿真器套件,PC机。 软件:Embest IDE 2004集成开发环境,Windows 2000/NT/XP。

  4. 3实验内容 • 掌握S3C44B0X处理器对存储空间的配置和读写访问的方法。使用汇编和C语言编程实现对RAM的字、半字和字节的读写。

  5. 4实验原理 • 存储控制器 • 大/小ENDIAN模式选择 • BANK0总线宽度 存储器地址分配图 Bank6/Bank7地址 大/小ENDIAN模式选择 数据宽度选择

  6. 实验原理 存储器控制专用寄存器 总线宽度/等待控制寄存器(BWSCON) Bank控制寄存器(BANKCONn: nGCS0-nGCS5) Bank控制寄存器(BANKCONn: nGCS6-nGCS7) 刷新控制寄存器(REFRESH) BANK大小寄存器(BANKSIZE) 模式设置寄存器(MRSR)

  7. 实验原理 • 寄存器的配置示例: • ldr r0, =SMRDATA • ldmia r0, {r1-r13} • ldr r0, =0x01c80000 ; BWSCON Address • stmia r0, {r1-r13} • SMRDATA: • .long 0x22221210 ; BWSCON • .long 0x00000600 ; GCS0 • .long 0x00000700 ; GCS1 • .long 0x00000700 ; GCS2 • .long 0x00000700 ; GCS3

  8. .long 0x00000700 ; GCS4 .long 0x00000700 ; GCS5 .long 0x0001002a ; GCS6, EDO DRAM(Trcd=3, Tcas=2, ;Tcp=1, CAN=10bit) .long 0x0001002a ; GCS7, EDO DRAM .long 0x00960000 + 953 ; Refresh(REFEN=1, TREFMD=0, ;Trp=3, Trc=5, Tchr=3) .long 0x0 ; Bank Size, 32MB/32MB .long 0x20 ; MRSR 6(CL=2) .long 0x20 ; MRSR 7(CL=2)

  9. 实验原理 • 存储器(SROM/DRAM/SDRAM)地址线连接如下表所示,数据宽度不同,连接方式也不同。

  10. 片选信号 选择的接口或器件 NGCS0 FLASH NGCS6/NSCS0 SDRAM NGCS1 A20 A19 A18 0 0 0 CS1 USB 0 0 1 CS2 固态硬盘 0 1 0 CS3 IDE 0 1 1 CS4 1 0 0 CS5 1 0 1 CS6 8-SEG 1 1 0 CS7 ETHERNET 1 1 1 CS8 LCD 实验原理 片选信号设置

  11. 外围器件 片选信号 片选控制寄存器 地址空间 FLASH NGCS0 BANKCON0 0X0000_0000~0X01BF_FFFF SDRAM NGCS6 BANKCON6 0X0C00_0000~0X0DF_FFFF USB CS1 BANKCON1 0X0200_0000~0X0203_FFFF 固态硬盘 CS2 BANKCON1 0X0204_0000~0X0207_FFFF IDE(IOR/W) CS3 BANKCON1 0X0208_0000~0X020B_FFFF IDE(KEY) CS4 BANKCON1 0X020C_0000~0X020F_FFFF IDE(PDIAG) CS5 BANKCON1 0X0210_0000~0X0213_FFFF 8-SEG CS6 BANKCON1 0X0214_0000~0X0217_FFFF ETHERNET CS7 BANKCON1 0X0218_0000~0X021B_FFFF LCD CS8 BANKCON1 0X021C_0000~0X021F_FFFF NOUSE NGCS2 BANKCON2 0X0400_0000~0X05FF_FFFF KEYBOARD NGCS3 BANKCON3 0X0600_0000~0X07FF_FFFF NOUSE NGCS4 BANKCON4 0X0800_0000~0X09FF_FFFF NOUSE NGCS5 BANKCON5 0X0A00_0000~0X0BFF_FFFF NOUSE NGCS7 BANKCON7 0X0E00_0000~0X1FFF_FFFF 实验原理 外围地址空间分配:

  12. 实验原理 • 电路设计 • Flash连接电路 • SDRAM连接电路

  13. ZI RODATA RW CODE RO RO 内存分配 存放静态变量/常量 Image_ZI_Base Image_RW_Base 0x0C000000 存放应用程序代码 Image_RO_Base 0x0 非易失性存储器

  14. 5实验操作步骤 • 准备实验环境。使用Embest仿真器连接目标板,使用Embest S3CEV40实验板附带的串口线连接实验板上的UART0和PC机的串口。 • 在PC机上运行windows自带的超级终端串口通信程序(波特率115200、1位停止位、无校验位、无硬件流控制);或者使用其它串口通信程序。 • 使用EmbestIDE通过Embest仿真器连接实验板,打开实验例程目录下Memory_test子目录下的Memory_Test.ews例程,编译链接通过后连接目标板,执行下载操作。

  15. 实验操作步骤 • 打开Memory1窗口,键入地址0x0C010000; 打开Memory2窗口,键入地址0x0C010200。 • 打开Rwrams.s文件,在LDR r2,=0x0C010000; 行设置断点;打开Rwramc.c文件,在cRWramtest函数*ptr = 0xAA55AA55;行设置断点。 • 运行程序。程序停在LDR r2,=0x0C010000;行处,观察Memory1窗口数据内容,单步运行程序并注意观察运行前后Memory1窗口数据的变化;结合实验介绍,分析掌握汇编语言程序访问RAM的方法。

  16. 实验操作步骤 • 当程序执行Rwramc.c文件内最后一条语句时,全速运行程序。程序停在*ptr = 0xAA55AA55;行处,观察Memory2窗口数据内容,单步运行程序并注意观察运行前后Memory2窗口数据的变化;结合实验介绍,分析掌握高级语言程序访问RAM的方法。 • 理解和掌握实验后,完成实验练习题。

  17. 实验题目 • 题目1. 对内存地址0XC409000开始的255个字节内存单元填入0x01----0xff,并将这255个字节内存单元中的内容拷贝到0XC009500开始的内存中。用四种方法实现其拷贝:单字节、双字节、4字节、16字节。 • 题目2. 对开发平台上实际内存0XC400100开始的100字数据单元填入0X11111111----0X11111174,将数据拷贝到0XC000400开始的内存,将0XC000400开始的每个字单元进行64位累加,结果送入其后容闲内存单元,并通过串口显示起始和目标地址信息。

More Related