Skip to main content
欢迎来到PAWPAW技术文档网站了解更多信息

如何运用参数和返回码

在真实的嵌入式应用场景中,参数和返回码可能并不那么实用,因为并没有用户来提供这些参数或对它们做出回应。然而,在进行单元测试和回归测试时,它们显得尤为重要,因为这些功能允许测试被简便地配置,并直接返回测试的成功或失败结果。

备注

参数和返回码的使用仅限于单个 Tile 的应用程序,即那些用 C 语言编写的主函数main()应用程序。

对于涉及多个 Tile 的应用程序(即使用 XC 语言编写的主函数main()),利用参数和返回码并无实际意义。这是因为缺乏一种机制来指定哪个 Tile 作为“主”Tile,以及如何分配参数和汇总返回码。因此,本教程仅适用于单 Tile 测试场景。

要添加命令行参数,请按照常规方式创建一个 main() 函数:

#include <stdio.h>

int main(int argc, char* argv[])
{
for (int x = 0; x < argc; x++)
printf("参数 %d %s\n", x, argv[x]);
return argc;
}

使用非零值构建 xcc -fcmdline-buffer-bytes

$ xcc main.c -target=XCORE-200-EXPLORER -fcmdline-buffer-bytes=1024
备注

如果您忘记添加 -fcmdline-buffer-bytes 参数,系统将会分配一个大小为零的缓冲区,并且 argc 的值将永远是零。此时,不会出现任何错误或警告提示。因此,请务必不要忘记这一步!

通过使用 xrun --args 来运行程序,并查看返回码:

$ xrun --io --args a.xe giraffe elephant
参数 0 a.xe
参数 1 giraffe
参数 2 elephant
$ echo $?
3

使用 xsim --argsxgdb --args 时,您将遇到类似的行为。