prod_test.bin用户测试命令ID

9个员额/ 0个新员额
最后发表
戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
prod_test.bin用户测试命令ID

你好,支持,

我一直在努力熟悉生产线工具板和相关软件。我能够成功地执行RF测试,并完成DA14580设计所需的所有编程(使用Murata型ZY模块)。当电路在生产线上时,我需要集成一个单元自检,通过UM-B-041读取,我遇到了第29页的客户测试命令ID描述。其描述称:“在固件中有一个功能,客户可以添加自己的代码来处理他们喜欢的数据。”

我已经浏览了prod_test项目的代码,但还不能确定我可以在哪里添加自己的测试代码。我想要做的是按顺序切换3个gpio引脚并执行一个i2c事务。在测试/编程过程中,这是正确的位置吗?我应该从哪里开始寻找能够实现这个功能?

一个相关的问题是,我应该使用来自SDK3或SDK 5的prod_test代码吗?我的设计使用的是SDK5,但我看到一个帖子推荐使用SDK3版本。如果您能就这些问题提供任何建议,我将非常感谢,谢谢。

设备:
Gongyu_Dialog
离线
最后看到:1周18小时前
加入:2016-04-27 07:07
你好,戴夫。意甲首轮

你好,戴夫。意甲首轮
问题1的回答:
>检查PLT源代码“host_hci.c”文件中的“hci_custom_action”函数。
//如果用于DA1458X芯片,则对应的hci cmd为“01 D0 40 01 01 (param_data)”。操作码是0 x40d0
>检查SDK文件customer_prodc中的函数"hci_custom_action_cmd
//添加客户代码。现在,默认代码只返回事件。

问题2的回答:
作为prod_test代码,如果不打算做任何更改,建议使用SDK3。
但对于SDK5,据我所知,在RF接收测试时可能会出现异常aml结果。例如:出错率可能超过100%。当然,这是与代码计算部分相关的错误。

修复方法如下:
在项目文件\ 5.0.3 \ \ target_apps \ prod_test \ prod_test \ src \ custom_gtl_hci.c

Struct hci_ccevt* gtl_hci_tx_evt_func(uint8_t* length)

......
案例LLM_LE_TEST_END_CMP_EVT:
操作码= HCI_LE_TEST_END_CMD_OPCODE;
param_len + = HCI_CCEVT_LETSTEND_RETPAR_LEN;
/ /添加开始 *******************
Struct llm_test_end_cmd_complete * s = (Struct llm_test_end_cmd_complete *)(gtl_env.p_msg_tx->param);
co_write16p (& (p_evt - >参数[1]),co_htobs (s - > nb_packet_received));
/ /添加结束 *************************
打破;

戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
我有一些定制代码

我运行了一些自定义代码,但现在生产线工具gui报告自定义测试失败。我将gpio设置为高,循环nop约2秒,然后将gpio设置为低。函数的其余部分未被触及,所以我很困惑,为什么它现在报告失败。

我希望能够在半秒间隔内依次切换3个GPIO引脚。最好的方法是什么?我可以使用简单的定时器api吗?再次感谢您的帮助,非常感谢。

戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
我现在使用pwm定时器

我现在使用pwm定时器而不是简单的定时器api,但我遇到了问题。我可以打开gpios,但似乎不能关闭它。对此有什么想法吗?

Gongyu_Dialog
离线
最后看到:1周18小时前
加入:2016-04-27 07:07
你好,戴夫。

你好,戴夫。
你提到PWM不起作用?
此外,任何耗时的代码可能不建议添加函数“hci_custom_action_cmd”,因为PC工具的软件中有超时检查,等待返回事件。
您可以设置一个标志,然后在主函数中执行工作负载,或者使用计时器回调函数。

戴夫。意甲首轮
离线
最后看到:2年11个月前
加入:2015-10-08 13:21
PWM定时器似乎是

PWM定时器似乎是工作,但如果我尝试做一些事情如下:

1)打开GPIO
2)等待1秒
3)关闭GPIO
4)等待1秒

gpio将上升,然后2秒后软件将报告失败。对于实际的测试序列,我希望在20 -30毫秒的时间内切换GPIO。至于在主函数中设置一个标志并执行测试代码,我应该在主函数的哪个位置执行这个操作呢?

Gongyu_Dialog
离线
最后看到:1周18小时前
加入:2016-04-27 07:07
你好,戴夫

你好,戴夫

您只能在这里添加测试。

int main_func(空白)

...............
/*
************************************************************************************
*主循环
************************************************************************************
*/
而(1)

#如果HAS_TOGGLE_GPIO
cust_gpio_fsm ();
# endif
......

thomasburton
离线
最后看到:3年9个月前
加入:2016-01-13 14:46
嗨,对话框中,

嗨,对话框中,

我尝试在下面的代码中添加XTAL修剪与SDK5中的自定义测试,但我仍然得到XTAL修剪失败的消息,我知道通过标准的未修改的prod_test.bin

/ /添加开始 *******************
Struct llm_test_end_cmd_complete * s = (Struct llm_test_end_cmd_complete *)(gtl_env.p_msg_tx->param);
co_write16p (& (p_evt - >参数[1]),co_htobs (s - > nb_packet_received));
/ /添加结束 *************************

从日志:

|17:07:06.476 |DUT_PDLL_XTAL_TRIM_INIT | STARTED |XTAL trim operation initialized。
|17:07:06.477 |DUT_PDLL_XTAL_TRIM_START | STARTED |XTAL trim operation STARTED。
|17:07:36.478 |DUT_PDLL_RX_TIMEOUT | ERROR |Device did not reply on a pll message request。当前设备状态=[12]。
|17:07:36.479 |DUT_PDLL_XTAL_TRIM_FAILED | FAIL |XTAL trim FAILED。当前设备状态=[12]。

SDK5中还有什么需要更改的吗?

最好的祝愿,

托马斯。

MT_dialog
离线
最后看到:6个月2个星期前
工作人员
加入:2015-06-08 34
嗨thomasburton,

嗨thomasburton,

您所添加的代码是一个缺陷修复的应用,介绍了5.0.3和有关CBT测试仪的测试,没有使用的修复,实现prod_test 5.0.4项目,还没有使用,以使用一个定制的测试。

由于MT_dialog