考虑部分由C语言编写的实时嵌入式程序经过适当的修改可以由VC编译后,在Windows环境中运行。因此可以利用Windows的多线程特性构造系统模型:把用户的主函数放在系统初始化时生成的一个主线程当中运行,同时,系统主函数监测由Socket端口发来的数据,如果是一个中断产生信号,系统主函数挂起当前正在执行的线程,新生成一个新的线程,并在新线程中执行相应的中断服务函数。
3.2系统的结构
由于CSocket类不能够由各个线程之间共享,而各个线程内部又要通过Socket端口接收和发送数据,因此应建立高效而又防止各线程之间冲突的机制,下面是系统的结构图:
当线程需要通过Socket接口收发数据时,首先检测/设置相应函数的信号量,若此资源不能使用,则线程被自动挂起。系统的主调函数负责轮询来自Socket接口的数据以及各个信号量资源,当资源可用时,唤醒相应的线程,完成其请求的操作。如果接收到中断产生信号,则生成新的线程,并挂起当前的线程,从而完成对中断请求的响应。
4.结束语
本文介绍了针对实时嵌入式软件的测试工具的研究与完善工作,根据不同的软件特点,
构造了两种系统模型。通过实际的使用,都达到了比较满意的结果。
这两种系统模型经过适当的修改,可以应用在其它语言编写的软件上,从而可以实现通用的模块功能。
参考文献
吕强 杨季文等 C语言的DOS系统程序设计 清华大学出版社
李沐孙 TURBO C 常驻内存实用程序及窗口式软件编程技术 北京科海
陈宗海 基于C/S体系的工业过程仿真模型调试环境.计算机应用.1999,4
张海藩 软件工程导论.清华大学出版社,1995
朱利群 软件测试模型及其实现。湖南师范大学自然科学学报1998 9
王 璞 基于覆盖的软件测试技术在实时嵌入式软件中的应用研究. 计算机工程与设计 1998 12
VOL.19 No.6
洪 洋 软件测试方法的应用研究. 光电对抗与无源干扰 1998 ,2
郑人杰 计算机软件测试技术清华大学出版社1990
文章来源于领测软件测试网 https://www.ltesting.net/