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

Posted

技术标签:

【中文标题】如何使用TCL脚本在嵌入式系统上测试C语言功能?【英文标题】:How to use the TCL script to test the C language function on the embedded system? 【发布时间】:2015-04-10 03:12:31 【问题描述】:

我想在嵌入式系统上测试C语言功能。 拓扑为: PC --------(控制台或远程登录)----- 嵌入式系统。

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

测试步骤:

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

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

Q1:这是一个可行的解决方案吗?

Q2:还有其他可能的解决方案(必须在PC上运行TCL脚本)?

Q3:是否需要在嵌入式系统运行时嵌入 SWIG?

谢谢。

【问题讨论】:

只要有一种方法可以调用函数并查看它是成功还是失败——嵌入式 Tcl 解释器并不是唯一的方法;一个小的 C 程序也可以做到合理——那么就没有理由将 Tcl 放在嵌入式系统上。 非常感谢您的回复。是的,它可以使用一点 C 程序。但是这个嵌入式系统是一个非常非常大的系统并且在成长中。我们期望使用一个可扩展的接口来测试它。于是我们想到了Tcl的使用。 【参考方案1】:

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

【讨论】:

以上是关于如何使用TCL脚本在嵌入式系统上测试C语言功能?的主要内容,如果未能解决你的问题,请参考以下文章

tkinter: 基本+Button+Layout

这些 tcl 错误是不是表明代码不安全?

嵌入式:ARM内嵌汇编及C和ARM汇编相互调用

如何将脚本转换为 Tcl 语言的硬编码版本?

如何写tcl脚本?谢谢

执行tcl脚本怎么让tk窗口弹出来