“低空玻璃摇滚”通过精心收集,向本站投稿了5篇Flash程序的测试方法,这次小编给大家整理后的Flash程序的测试方法,供大家阅读参考,也相信能帮助到您。

Flash程序的测试方法

篇1:Flash程序的测试方法

随着RIA(Rich Internet Application)的流行,以往测试HTML类型的应用程序的方法对于测试Flash已经有点不够用了。

Kristopher Schultz在《Serious Techniques For Testing Your Sericous Flash Apps》一文中总结了测试Flash程序的方法,大概包括以下4个大的方面:

(1)在各种的连接速度下测试(Test Over Multiple Connection Speeds)

(2)在各种浏览器下测试(Test With Multiple Browsers)

(3)在低配置的机器上测试(Test on ‘Weak’ Machines)

(4)在各种版本的Flash Player上测试(Test Against Older Flash Player Versions)

篇2:C8051FXXX单片机FLASH程序的自动升级

Flash程序的测试方法

C8051FXXX单片机FLASH程序的自动升级

作者Email:  wolfman6353@sina.com

引言:

C8051FXXX系列高速SOC单片机是由美国Cygnal公司开发的完全集成的混合信号系统级芯片,具有与8051兼容的微处理器内核,内部集成FLASH程序存储器,具有在系统重新编程能力,以C8051F020为例,内部集成64K的FLASH程序存储器。在系统控制软件的开发调试阶段,可用集成开发环境来下载及测试系统,但当将C8051F020目标系统集成到产品后,则由于操作系统及软硬件接口不一样等等原因,不能在最终产品中用集成开发环境来下载FLASH程序,故产品到了用户处之后,如要再进行FLASH程序的更新,则必须更换相应的集成电路印刷板,造成很多麻烦及不可靠因素。笔者通过实验,在用户操作界面的PC机及C8051F020的单片机控制系统之间,通过串行口进行C8051F020单片机控制程序的自动升级及程序加密,从而使用户只要从互联网上下载控制程序,即可实现单片机程序的自动升级。以下以64KBFLASH RAM为例简要介绍单片机目标程序的.准备及自动升级的制作过程。

1)系统简介及自动升级的实现方法

PC机(80486/DX2以上)  具有1.44既砬及串行口。单片机控制系统(具有串行口及内置的FLASH程序区)。PC与C8051FXXX之间通过九针串行接口线相连。设置传送速率为115200BIT/S。

C8051F020单片机的FLASH RAM分为用户程序区(0000H~0FDFDH),厂家保留及加密区(0FDFEH~0FFFFH)两部分。现将用户程序区(0000H~0FDFDH)的0000H~0DFFFH部分用于装载用户程序,而0E000H~0FDFDH部分作为引导程序区,引导程序区在升级时不能改变,它用于与用户操作界面的PC机部分进行程序接收及装载等工作。

在控制程序区0000H~0DFFFH中,做一握手程序块,在上电时,用于和用户操作界面PC机部分进行握手,当接收到PC机部分要进行软件升级的命令时,程序跳至引导程序区,执行如下流程:

->发送准备升级字节到PC机

->删除FLASH程序区

->发送开始下载命令到PC机

->接收且放到相应地址

->加密

为了达到自动升级的目的,需要在用户界面的PC机引导时,自动检测PC机外设,软盘控制器,一旦检索到软盘中有升级文件及其索引文件,且其版本比现有的单片机控制程序的版本高,则开始执行PC机中的下载程序。

2)删除0000H~ODFFFH的FLASH程序区

C8051FXXX系列单片机将FLASH程序区按512字节为一页(PAGE)来组织,在删除控制程序区0000H~ODFFFH时,首先屏蔽掉所有中断,使能程序删除位PSEE(PSCTL.1),同时使能PSWE(PSCTL.0)MOVX指令指向FALSH程序区。应用MOVX指令在每一页的任意一地址写0FFH,则将该页的所有字节都置为0FFH,从而实现了该页的删除。依此操作可删除所有的程序页。删除部分程序如下:

//删除0000H’ODFFFH的FLASH程序区

DEL_NEXT_PAGE:

CLR EA

MOV A,FLSCL

ANL A,#0FEH

ORL A,#01H

MOV FLSCL,A

MOV A,PSCTL

ANL A,#0FCH

ORL A,#03H

MOV PSCTL,A;#03H  //使能页删除及页写操作

MOV A,#0FFH

MOVX @DPTR,A    //将该页全填充为0FFH

INC DPH

INC DPH     //调节页指针

MOV A,PSCTL

ANL A,#0FDH

MOV PSCTL,A;#03H

MOV A,DPH

CJNE A,#0E0H,DEL01_NEXT_PAGE

DEL01_NEXT_PAGE:

JC DEL_NEXT_PAGE

3)从PC中接收FLASH字节

以下程序用于从PC机中接收程序并放到相应的FLASH地址。在此仅使能PSWE(PSCTL.0)位,使MOVX指令指向FALSH程序区。

MOV DPTR,#0000H

MOV FLSCL,#01H

MOV PSCTL,#01H;

RECEIVE_NEXT_DOWNLOAD_CHAR:

MOV FLSCL,#01H

MOV PSCTL,#01H;

JNB RI,$

CLR RI

MOV A,SBUF0

MOVX @DPTR,A

INC DPTR

MOV A,DPH

CJNE A,#0E0H,RECEIVE_NEXT_DOWNLOAD_CHAR

MOV FLSCL,#01H //FLASH 写使能

MOV PSCTL,#01H

MOV DPTR,#0FDFEH

CLR A

MOVX @DPTR,A

MOV DPTR,#0FDFFH

MOVX @DPTR,A

MOV PSCTL,#00H

MOV FLSCL,#00H

CYCLE_FOREVER:SJMP CYCLE_FOREVER;死循环

RET

4)FLASH程序的准备

为了更快地得到―下载到C8051F020的FLASH程序,先在CYGNAL IDE开发环境中,将做好的控制程序编泽,链按,然后用厂家提供的串行适配器将PC与目标板连接起来,传送FLASH程序到目标系统中去。接下来用“UPLOAD MEMORY T0 PILE…”(如图示)功能将0000H~OEOOOH的FLASH代码程序上载到硬盘存储器中,再将此ASCII文件转化为16进制的HE文件,注意将其十的0DH,0AH等回车换行字节取消,最后生成的HEX文件即可被直接下载到FLASH的0000H~0DFFFH的相应地址中。此HEX文件即可发送至用户处,用于升级用户的单片机FLASH程序。

5)C程序的准备

//发送FLASH程序文件到单片机中去

BOOL SendFileToFlash

{

unsigned  char ch;

FILE *fp;

long int flen,wi=0;

int i,j;

if ((fp = fopen(“flashwl”,“rb”))==NULL)

{

return FALSE;

}

//初使化串口,且与单片机系统握手

InitialCommuClass();

//发送数据

for (wi=0,j=0;wi

{

if (feof(fp)!=0)//到达文件结束

break;

fread(&ch,sizeof(unsigned char),1,fp);

for (;;)

if (SendAByte(ch)==TRUE)

break;

Printf(“%ld bytes is transmitted!n”,wi); }

fclose(fp);

for (;;)

{

Printf(“All bytes is transmitted!n”);

}

}

//转换上载文件为可下载的HEX目标文件

BOOL ConvertFileToFlash()

{

unsigned  char ch,ru;

FILE *fp,*fpw;

long int flen,wi=0;

int i,j;

if ((fp = fopen(“SOURCEC”,“rb”))==NULL)

{

return FALSE;

}

if ((fpw = fopen(“HEXOBJECT”,“wb”))==NULL)

{

return FALSE;

}

for (wi=0,j=0;;wi++)

{

if (feof(fp)!=0)

break;

ru=0;

fread(&ch,sizeof(unsigned char),1,fp);

if ((ch>=0x30) && (ch<=0x39))

ru+=(ch-0x30)*16;

else if ((ch>=0x61) && (ch<=0x66))

ru+=((ch-0x61)+0x0a)*16;

fread(&ch,sizeof(unsigned char),1,fp);

if ((ch>=0x30) && (ch<=0x39))

ru+=ch-0x30;

else if ((ch>=0x61) && (ch<=0x66))

ru+=(ch-0x61)+0x0a;

fwrite(&ru,sizeof(unsigned char),1,fpw);

fread(&ch,sizeof(unsigned char),1,fp);/*0x0d*/

fread(&ch,sizeof(unsigned char),1,fp);/*0x0d*/

fread(&ch,sizeof(unsigned char),1,fp);/*0x0a*/

j++;

if (j==255)

{

j=0;

fread(&ch,sizeof(unsigned char),1,fp);

fread(&ch,sizeof(unsigned char),1,fp);

fread(&ch,sizeof(unsigned char),1,fp);

fread(&ch,sizeof(unsigned char),1,fp);

fread(&ch,sizeof(unsigned char),1,fp);

continue;

}

}

fclose(fp);fclose(fpw);

}

结束语

以上所介绍的FLASH自动升级程序的PC部分在VC6.0及TC2.0中开发,并与805lFXXX系列的单片机联机成功,并最后用于在用户处的单片机FLASH程序升级。

篇3:C8051FXXX单片机FLASH程序的自动升级

C8051FXXX单片机FLASH程序的自动升级

作者Email:  wolfman6353@sina.com

引言:

C8051FXXX系列高速SOC单片机是由美国Cygnal公司开发的完全集成的混合信号系统级芯片,具有与8051兼容的微处理器内核,内部集成FLASH程序存储器,具有在系统重新编程能力,以C8051F020为例,内部集成64K的FLASH程序存储器。在系统控制软件的开发调试阶段,可用集成开发环境来下载及测试系统,但当将C8051F020目标系统集成到产品后,则由于操作系统及软硬件接口不一样等等原因,不能在最终产品中用集成开发环境来下载FLASH程序,故产品到了用户处之后,如要再进行FLASH程序的更新,则必须更换相应的集成电路印刷板,造成很多麻烦及不可靠因素。笔者通过实验,在用户操作界面的PC机及C8051F020的单片机控制系统之间,通过串行口进行C8051F020单片机控制程序的自动升级及程序加密,从而使用户只要从互联网上下载控制程序,即可实现单片机程序的自动升级。以下以64KBFLASH RAM为例简要介绍单片机目标程序的准备及自动升级的制作过程。

1)系统简介及自动升级的.实现方法

PC机(80486/DX2以上)  具有1.44既砬及串行口。单片机控制系统(具有串行口及内置的FLASH程序区)。PC与C8051FXXX之间通过九针串行接口线相连。设置传送速率为115200BIT/S。

C8051F020单片机的FLASH RAM分为用户程序区(0000H~0FDFDH),厂家保留及加密区(0FDFEH~0FFFFH)两部分。现将用户程序区(0000H~0FDFDH)的0000H~0DFFFH部分用于装载用户程序,而0E000H~0FDFDH部分作为引导程序区,引导程序区在升级时不能改变,它用于与用户操作界面的PC机部分进行程序接收及装载等工作。

在控制程序区0000H~0DFFFH中,做一握手程序块,在上电时,用于和用户操作界面PC机部分进行握手,当接收到PC机部分要进行软件升级的命令时,程序跳至引导程序区,执行如下流程:

->发送准备升级字节到PC机

->删除FLASH程序区

->发送开始下载命令到PC机

->接收且放到相应地址

->加密

为了达到自动升级的目的,需要在用户界面的PC机引导时,自动检测PC机外设,软盘控制器,一旦检索到软盘中有升级文件及其索引文件,且其版本比现有的单片机控制程序的版本高,则开始执行PC机中的下载程序。

2)删除0000H~ODFFFH的FLASH程序区

C8051FXXX系列单片机将FLASH程序区按512字节为一页(PAGE)来组织,在删除控制程序区0000H~ODFFFH时,首先屏蔽掉所有中断,使能程序删除位PSEE(PSCTL.1),同时使能PSWE(PSCTL.0)MOVX指令指向FALSH程序区。应用MOVX指令在每一页的任意一地址写0FFH,则将该页的所有字节都置为0FFH,从而实现了该页的删除。依此操作可删除所有的程序页。删除部分程序如下:

//删除0000H’ODFFFH的FLASH程序区

DEL_NEXT_PAGE:

CLR EA

MOV A,FLSCL

ANL A,#0FEH

ORL A,#01H

MOV FLSCL,A

MOV A,PSCTL

ANL A,#0FCH

ORL A,#03H

MOV PSCTL,

[1] [2] [3] [4]

篇4:光纤测试方法

光纤在架设,熔接完工后就是测试工作,使用的仪器主要是OTDR测试仪,用加拿大EXFO公司的FTB-100B便携式中文彩色触摸屏OTDR测试仪(动态范围有32/31、37.5/35、40/38、45/43db),可以测试,光纤断点的位置;光纤链路的全程损耗;了解沿光纤长度的损耗分布;光纤接续点的接头损耗,为了测试准确,OTDR测试仪的脉冲大小和宽度要适当选择,按照厂方给出的折射率n值的指标设定。

在判断故障点时,如果光缆长度预先不知道,可先放在自动OTDR,找出故障点的大体地点,然后放在高级OTDR,

将脉冲大小和宽度选择小一点,但要与光缆长度相对应,盲区减小直至与坐标线重合,脉宽越小越精确,当然脉冲太小后曲线显示出现噪波,要恰到好处。再就是加接探纤盘,目的是为了防止近处有盲区不易发觉。

关于判断断点时,如果断点不在接续盒处,将就近处接续盒打开,接上OTDR测试仪,测试故障点距离测试点的准确距离,利用光缆上的米标就很容易找出故障点。---学电脑(bianceng.cn)

利用米标查找故障时,对层绞式光缆还有一个绞合率问题,那就是光缆的长度和光纤的长度并不相等,光纤的长度大约是光缆长度的1.005倍,利用上述方法可成功排除多处断点和高损耗点。

篇5:光纤测试方法

使用光功率计或光时域反射图示仪(OTDR)对光纤进行定量测量,可测出光纤的衰减和接头的衰减,甚至可测出光纤的断点位置。这种测量可用来定量分析光纤网络出现故障的原因和对光纤网络产品进行评价。

用OTDR进行光纤测量可分为三步:参数设置、数据获取和曲线分析。人工设置测量参数包括:

(1)波长选择(λ):

因不同的波长对应不同的光线特性(包括衰减、微弯等),测试波长一般遵循与系统传输通信波长相对应的原则,即系统开放1550波长,则测试波长为1550nm。

(2)脉宽(Pulse Width):

脉宽越长,动态测量范围越大,测量距离更长,但在OTDR曲线波形中产生盲区更大;短脉冲注入光平低,但可减小盲区。脉宽周期通常以ns来表示。

(3)测量范围(Range):

OTDR测量范围是指OTDR获取数据取样的最大距离,此参数的选择决定了取样分辨率的大小。最佳测量范围为待测光纤长度1.5~2倍距离之间。

由于后向散射光信号极其微弱,一般采用统计平均的方法来提高信噪比,平均时间越长,信噪比越高。例如,3min的获得取将比1min的获得取提高 0.8dB的动态。但超过 10min的获得取时间对信噪比的改善并不大。一般平均时间不超过3min。

(5)光纤参数:

光纤参数的设置包括折射率n和后向散射系数n和后向散射系数η的设置。折射率参数与距离测量有关,后向散射系数则影响反射与回波损耗的测量结果。这两个参数通常由光纤生产厂家给出。

参数设置好后,OTDR即可发送光脉冲并接收由光纤链路散射和反射回来的光,对光电探测器的输出取样,得到OTDR曲线,对曲线进行分析即可了解光纤质量。

阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。