一种在tornado开发环境下SDRAM的测试方法

时间:2022-07-12 05:55:40

一种在tornado开发环境下SDRAM的测试方法

摘要:根据嵌入式操作系统特点,提出了一种基于TORNADO开发环境的测试方法,通过对SDRAM写入、读出多种数据,测试它的状态,该测试方法具有简介、直观的特点。

关键词:RTOS;tornado/VxWorks;C++;SDRAM

中图分类号:TP333 文献标识码:A 文章编号:1007-9416(2017)03-0182-02

随着计算机技术的发展和芯片制造工艺的不断进步,嵌入式实时操作系统(Embedded Real-time Operation System,RTOS)的应用日益广泛,在嵌入式系统的开发应用中,采用嵌入式实时操作系统(简称RTOS),包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。它能够有效管理越来越复杂的系统资源、能够把硬件虚拟化,能够支持多任务、使得程序开发调试更加容易、便于维护,同时能够提高系统的稳定性和可靠性。嵌入式操作系统的核心是嵌入式微处理器,嵌入式微处理器对实时性和多任务有很强的支持能力,具有很强的存储区保护功能,可扩展的处理器结构,以及极低的能耗,从八十年代Ready System发展了世界上第一个商业嵌入式实时内核(VRTX32),到今天已经三十多年了,进入九十年代,现代操作系统的设计思想,如微内核设计技术和模块化设计思想,新一代的RTOS厂家逐步推出了VxWorks等开发系统、主流的微处理器主要有ARM、PowerPc、MIPS等。

SDRAM(Synchronize Dynamic Random Access Memory)简称同步动态随机存储器,它是同步的动态随机存储器,它在工作时需要同步时钟,内部命令的发送和数据的传输都以一个时钟作为基准,它的所有信号都和时钟信号同步,通过时钟信号来控制数据输入输出,能以流水线的方式访问存储阵列,在带宽上也有了很大的改善,而且具有高速稳定性,是目前市场的主流。

1 tornado/VxWorks调试环境介绍

VxWorks是专门为实时嵌入式系统设计开发的操作系统软件,从设计成功以来,经过了广泛验证,成功的应用在航空、航天、舰船、通信、医疗等领域。该操作系统具有良好的持续发展能力。

Tornado集成开发环境是嵌入式实时操作领域中最新一代开发调试环境,是实现嵌入式应用程序的完整软件开发平台,是开发调试Vxworks系统不可缺少的组成部分,Tornado本身包括了功能非常强大的开发以及调试工具,非常适用于面对大量问题的嵌入式开发, 这些工具包括C和C++远程源级调试器、目标和工具管理、系统目标跟踪,内存使用和自动配置,另外,所有这些工具能很方便的同时运行。

2 设计介绍

本设计中嵌入式微处理器采用PowerPc的8245,SDRAM采用SPANSION的AM29LV320D,设计目的是对SDRAM进行读写操作;对申请测试使用的4M空间进行写入全零、全1、1010、0101等四种数值,然后再将写入的数值读出;通过对写入、读出数值进行比较,测试SDRAM的工作状态是否良好,该方法实现起来非常的方便、简捷、直观。现仅给出读写全零的代码,其余类似。

#include

#dedine SDRAM_SPACE 0X10000000

#dedine DATA0 0x0

#define DATA1 0xFFFFFFFF

#define DATA2 0x55555555

#define DATA3 0xAAAAAAAA

Int cpu8245test (void)

{

Int *psdram,*psdramBase;

Int data;

Int i ;

Int error;

Psdram=(int*)malloc(SDRAM_SPACE); /*申请空间*/

If (psdram==0)

{

Printf(“\n SDRAM malloc failure!\n); /*申请空间失败*/

Return -1;

}

Else

{

PSDRAMBase =Psaram;

}

Error=0;

Printf(“\n write 0 test……”);

}

/*write 0*/

Printf(“\n write 0 sdram……”);

For (i=0;I

{

*psdrma=DATA0;

Psdram++;

}

Psdram=psdramBase;

/*read 0 from sdram */

Printf(“\n read data from sdram……”);

For (i=0;I

{

Data=*psdram;

If(data!=DATA0)

Error++

Psdram++;

}

Printf(“\n sdram(write 0) error=%x\n,error);

Free(psdramBase)

Return 0;

}

3 y试程序的编译和运行

测试程序函数名为cpu8245test.c;编译后名字为cpu8245test.o;将编译后的文件加载,然后运行,操作如图1。

测试结果如图2。

4 结语

仿真测试在TORNADO2.0开发环境下进行,该测试方法实现起来非常简单、测试结果直接明了,具有很好的实用效果。

参考文献

[1]王金刚,宫霄霖,熊辉.VxWorks网络程序员指南,2003.

[2]周启平,张扬,吴琼.VxWorks开发指南与Tornado实用手册,2004.

上一篇:方法活用解题轻松 下一篇:基于HFSS的低频大功率信号开关的小型化设计