一种基于TSC695处理器的可加载型通用RAM自测试方法与流程

文档序号:25429724发布日期:2021-06-11 21:44阅读:71来源:国知局
一种基于TSC695处理器的可加载型通用RAM自测试方法与流程

本发明涉及可读写ram的软件自测试技术领域,特别涉及一种基于tsc695处理器的可加载型通用ram自测试方法。



背景技术:

空间科学航天器及卫星领域的计算机在出厂验收时,往往需要对ram进行功能测试,从而验证计算机地址译码和ram器件读写功能的正确性,测试需要保证对ram中所有地址单元的全面覆盖,如果测试覆盖性不足,会埋下计算机产品保证过程中的遗漏风险,从而影响后续的整星、整器的系统联试过程,对出厂的计算机产品可靠性和可信度产生影响。

现有的ram测试方法有的将测试代码单独固化在eeprom或flash器件中实现对ram的测试覆盖或者借助外部专用测试环境实现对ram器件测试的全面覆盖,但测试时不够灵活,且不能实现自测试。另外,需要在测试过程中对计算机cpu板进行开盖和插拔器件的过程,而在某些航天器专用计算机的应用场景中,器件插拔次数是有严格限制的。

第二种测试方法是通过加载方式将测试程序加载到ram中运行,ram本身是测试对象,而加载在计算机ram中运行的测试程序由于程序本身的代码及其变量和堆栈需要占用一部分ram空间,因此无法完整地测试自身全部ram单元,从而造成测试覆盖率不足的问题。

综上,现有的两种测试方法都有局限性,导致测试不充分以及可能带来可靠性和安全性方面的隐患。因此,研究一种基于tsc695处理器的可加载型通用ram自测试方法可以解决空间科学和卫星领域计算机ram测试覆盖率不足的问题。



技术实现要素:

为了克服现有技术中的不足,本发明提供一种基于tsc695处理器的可加载型通用ram自测试方法,能够解决卫星和空间安全领域计算机验收测试时5$0自测试中覆盖不全面或需要额外插拔器件的问题,实现通过简单的串口加载对5$0进行全面自测试的目的。

为了达到上述发明目的,解决其技术问题所采用的技术方案如下:

一种基于tsc695处理器的可加载型通用ram自测试方法,包括以下步骤:

步骤s1:编译生成低地址段的测试程序模块;

步骤s2:编译生成高地址段的测试程序模块;

步骤s3:低、高两部分测试模块连接生成加载程序;

步骤s4:加载程序通过串口加载到ram中运行;

步骤s5:判断低地址段程序是否发生ram异常和测试结束;

步骤s6:运行低地址段测试模块测试高地址段ram读写;

步骤s7:将高地址段测试模块代码转存至高地址段;

步骤s8:跳转至高地址段;

步骤s9:判断高地址段测试程序是否发生ram异常和测试结束;

步骤s10:运行高地址段测试模块测试低地址段ram读写。

进一步的,所述步骤s1中,需要预先明确低地址段的测试程序模块存储地址和运行地址在内存ram地址范围0x02000000到0x02007fff的32kb空间内,低地址段的测试程序模块用于测试地址高于或等于0x02200000的ram地址空间的读写。

进一步的,所述步骤s2中,需要预先明确高地址段的测试程序模块存储地址在内存ram地址范围0x02008000到0x0200ffff的32kb空间内,而运行地址在内存ram地址范围0x02200000到0x02207fff的32kb空间内,高地址段的测试程序模块用于测试地址低于0x02200000的ram地址空间的读写。

进一步的,所述步骤s3中,需要明确和开发一个连接程序,用于将低地址段的测试程序模块二进制代码与高地址段的测试程序模块的二进制代码按两个程序各自的程序存储地址拼接成一个包含地址信息、代码和校验信息的的可加载文件,这个可加载程序的格式可以采用嵌入式单片机系统中常用的intel-hex文件格式,加载文件的低32kb存储低地址段的测试程序,高32kb存储高地址段的测试程序。

进一步的,所述步骤s4中,将加载文件通过串口读取后写入tsc695计算机的ram中,程序地址跳转至ram起始地址0x02000000运行。

进一步的,所述步骤s5中,如果触发tsc695处理器的存储访问异常或非法指令异常或指针超出所需测试地址范围,则终止低地址段程序对大于等于0x02200000地址范围ram的测试流程,转入步骤s7;否则转入步骤s6。

进一步的,所述步骤s6中,需要预先明确低、高地址段测试模块对目标ram地址的测试顺序是循环指定写入的数据码字、写入数据、按照地址由低到高的顺序读出数据并判断写入数据和读出数据是否相等,再按照地址由高到低的顺序读出数据并判断写入数据和读出数据是否相等,其中指定的写入数据码字分为0、0x55555555、0xaaaaaaaa、0x50505050、0xfafafafa和0xffffffff六种,判断写入数据和读出数据是否相等时,如果不等,通过串口输出所在单元的地址和实际读出数据,返回步骤s5。

进一步的,所述步骤s7中,将高地址段测试模块代码转存至高地址段时,将原先存储在ram地址0x02008000到0x0200ffff的高地址段测试模块代码复制写入ram地址0x02200000后的区域。

进一步的,所述步骤s8中,需要预先明确跳转至高地址段是指将程序指针指向地址0x02200000。

进一步的,所述步骤s9中,如果触发tsc695处理器的存储访问异常或非法指令异常或指针超出所需测试地址范围,则终止高地址段程序对小于0x02200000地址范围ram的测试流程,整个测试流程结束;否则转入步骤s10。

进一步的,所述步骤s10中,需要预先明确低、高地址段测试模块对目标ram地址的测试顺序是循环指定写入的数据码字、写入数据、按照地址由低到高的顺序读出数据并判断写入数据和读出数据是否相等,再按照地址由高到低的顺序读出数据并判断写入数据和读出数据是否相等,其中指定的写入数据码字分为0、0x55555555、0xaaaaaaaa、0x50505050、0xfafafafa和0xffffffff六种,判断写入数据和读出数据是否相等时,如果不等,通过串口输出所在单元的地址和实际读出数据,返回步骤s9。

本发明由于采用以上技术方案,使之与现有技术相比,具有以下的优点和积极效果:

本发明一种基于tsc695处理器的可加载型通用ram自测试方法,可以通过串口加载实现对卫星、空间科学领域计算机ram在免开盖情况下的全面测试,解决了加载自测试ram程序测试覆盖率不足的问题,取得了在调试阶段提前发现和排除计算机设计潜通路的有益效果。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。附图中:

图1是本发明一种基于tsc695处理器的可加载型通用ram自测试方法的流程图。

具体实施方式

以下将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整的描述和讨论,显然,这里所描述的仅仅是本发明的一部分实例,并不是全部的实例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。

本发明涉及可读写ram的软件自测试技术,为实现计算机单机出厂验收时通过串口加载方式测试验证本机地址总线译码以及5$0读写正确性的功能,如图所示,本实施例公开了一种基于tsc695处理器的可加载型通用ram自测试方法,包括以下步骤:

步骤s1:编译生成低地址段的测试程序模块;

进一步的,所述步骤s1中,需要预先明确低地址段的测试程序模块存储地址和运行地址在内存ram地址范围0x02000000到0x02007fff的32kb空间内,低地址段的测试程序模块用于测试地址高于或等于0x02200000的ram地址空间的读写。

步骤s2:编译生成高地址段的测试程序模块;

进一步的,所述步骤s2中,需要预先明确高地址段的测试程序模块存储地址在内存ram地址范围0x02008000到0x0200ffff的32kb空间内,而运行地址在内存ram地址范围0x02200000到0x02207fff的32kb空间内,高地址段的测试程序模块用于测试地址低于0x02200000的ram地址空间的读写。

步骤s3:低、高两部分测试模块连接生成加载程序;

进一步的,所述步骤s3中,需要明确和开发一个连接程序,用于将低地址段的测试程序模块二进制代码与高地址段的测试程序模块的二进制代码按两个程序各自的程序存储地址拼接成一个包含地址信息、代码和校验信息的的可加载文件,这个可加载程序的格式可以采用嵌入式单片机系统中常用的intel-hex文件格式,加载文件的低32kb存储低地址段的测试程序,高32kb存储高地址段的测试程序。

步骤s4:加载程序通过串口加载到ram中运行;

进一步的,所述步骤s4中,将加载文件通过串口读取后写入tsc695计算机的ram中,程序地址跳转至ram起始地址0x02000000运行。

步骤s5:判断低地址段程序是否发生ram异常和测试结束;

进一步的,所述步骤s5中,如果触发tsc695处理器的存储访问异常或非法指令异常或指针超出所需测试地址范围,则终止低地址段程序对大于等于0x02200000地址范围ram的测试流程,转入步骤s7;否则转入步骤s6。

步骤s6:运行低地址段测试模块测试高地址段ram读写;

进一步的,所述步骤s6中,需要预先明确低、高地址段测试模块对目标ram地址的测试顺序是循环指定写入的数据码字、写入数据、按照地址由低到高的顺序读出数据并判断写入数据和读出数据是否相等,再按照地址由高到低的顺序读出数据并判断写入数据和读出数据是否相等,其中指定的写入数据码字分为0、0x55555555、0xaaaaaaaa、0x50505050、0xfafafafa和0xffffffff六种,判断写入数据和读出数据是否相等时,如果不等,通过串口输出所在单元的地址和实际读出数据,返回步骤s5。

步骤s7:将高地址段测试模块代码转存至高地址段;

进一步的,所述步骤s7中,将高地址段测试模块代码转存至高地址段时,将原先存储在ram地址0x02008000到0x0200ffff的高地址段测试模块代码复制写入ram地址0x02200000后的区域。

步骤s8:跳转至高地址段;

进一步的,所述步骤s8中,需要预先明确跳转至高地址段是指将程序指针指向地址0x02200000。

步骤s9:判断高地址段测试程序是否发生ram异常和测试结束;

进一步的,所述步骤s9中,如果触发tsc695处理器的存储访问异常或非法指令异常或指针超出所需测试地址范围,则终止高地址段程序对小于0x02200000地址范围ram的测试流程,整个测试流程结束;否则转入步骤s10。

步骤s10:运行高地址段测试模块测试低地址段ram读写。

进一步的,所述步骤s10中,需要预先明确低、高地址段测试模块对目标ram地址的测试顺序是循环指定写入的数据码字、写入数据、按照地址由低到高的顺序读出数据并判断写入数据和读出数据是否相等,再按照地址由高到低的顺序读出数据并判断写入数据和读出数据是否相等,其中指定的写入数据码字分为0、0x55555555、0xaaaaaaaa、0x50505050、0xfafafafa和0xffffffff六种,判断写入数据和读出数据是否相等时,如果不等,通过串口输出所在单元的地址和实际读出数据,返回步骤s9。

本实施例解决了串口加载的自测试程序对ram测试不全面的问题,实现了对卫星、空间科学领域计算机ram在免开盖情况下的全面测试,提高了测试覆盖率,取得了提前发现和排除计算机设计潜通路的有益效果。

本技术领域的技术人员应理解,本发明可以以许多其他具体形式实现而不脱离本发明的精神或范围,以上公开的仅为本发明优选实施例。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属领域技术人员能很好地利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制,本技术领域的技术人员可如所附权利要求书界定的本发明精神和范围之内作出变化和修改。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1