Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用TCL脚本在嵌入式系统上测试C语言功能?_C_Embedded_Tcl_Swig - Fatal编程技术网

如何使用TCL脚本在嵌入式系统上测试C语言功能?

如何使用TCL脚本在嵌入式系统上测试C语言功能?,c,embedded,tcl,swig,C,Embedded,Tcl,Swig,我想在嵌入式系统上测试C语言的功能。 拓扑结构是: PC----控制台或telnet----嵌入式系统 测试脚本在PC机上运行,并在嵌入式系统上调用C语言函数。 我想使用TCL脚本来测试它。 我看到了一个解决方案:将TCL解释器嵌入到嵌入式系统运行时 测试步骤如下: PC机将TCL脚本发送到嵌入式系统 嵌入在嵌入式系统中的TCL解释器解析TCL脚本并运行它来调用C语言函数 问题1:这是一个可行的解决方案吗 问题2:还有其他可能的解决方案必须在PC上运行TCL脚本吗 问题3:是否需要在嵌入式系统运

我想在嵌入式系统上测试C语言的功能。 拓扑结构是: PC----控制台或telnet----嵌入式系统

测试脚本在PC机上运行,并在嵌入式系统上调用C语言函数。 我想使用TCL脚本来测试它。 我看到了一个解决方案:将TCL解释器嵌入到嵌入式系统运行时

测试步骤如下:

PC机将TCL脚本发送到嵌入式系统

嵌入在嵌入式系统中的TCL解释器解析TCL脚本并运行它来调用C语言函数

问题1:这是一个可行的解决方案吗

问题2:还有其他可能的解决方案必须在PC上运行TCL脚本吗

问题3:是否需要在嵌入式系统运行时嵌入SWIG


谢谢。

与许多情况一样,处理器之间在何处划分取决于许多因素。仅仅因为系统本质上是嵌入式的,并不一定意味着嵌入式计算机不是很强大。我已经按照您的建议做了,在嵌入式系统上运行Tcl解释器,并使用它来驱动嵌入式应用程序的测试。但那是很久以前的事了,在TCL7.x时代。当前的Tcl解释器在嵌入式计算机标准中相当大,而在传统计算机标准中则相当小。你可能想考虑一些更小的足迹。正如Donal所建议的,您实际上只需要在嵌入式系统中使用一些小方法来映射一个字符串,您可能会从PC上运行的Tcl脚本发送该字符串来调用函数并返回一个指示结果的字符串。这是我现在在嵌入式系统中使用的技术,因为它比将Tcl移植到嵌入式环境小得多,也更容易实现。这种安排仍然为您提供了相当大的能力,因为您可以使用诸如tcltest之类的工具来驱动测试用例、将命令字符串发送到嵌入式系统、从嵌入式系统获得结果并将获得的结果与预期结果进行比较。通过一些预先设计,嵌入式系统中将字符串映射到函数调用并返回结果的代码可以根据文本接口规范自动生成,这是一个类似swig的概念,但要简化在嵌入式系统中添加更多可测试函数接口的任务,就要简单得多。这基本上是我现在使用的策略,因为我的嵌入式系统计算机是小型微控制器,通常内存少于64K。随着时间的推移,您可以构建一个强大的测试基础设施。

只要有办法调用函数并查看它是否成功,嵌入式Tcl解释器并不是唯一的方法;一个小小的C程序也可以做得很合理——那么就没有理由把Tcl放在嵌入式系统上了。非常感谢您的回复。是的,它可以用一点C程序。但是这个嵌入式系统是一个非常非常大的系统,并且在不断增长。我们希望使用一个可扩展接口来测试它。所以我们考虑了Tcl的使用。