prod_test.bin客户测试命令ID

9个帖子/ 0新
最后一篇
Dave.renzo.
离线
最后一次露面:2年6个月前
加入:2015-10-08 13:21
prod_test.bin客户测试命令ID

你好支持,

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

我看过prod_test项目的代码,但没有能够确定我可能添加自己的测试代码的位置。我想做的是依次切换3个GPIO引脚并执行I2C事务。这是测试/编程过程中的正确位置,要做这一点,我应该在哪里开始希望能够实现这个功能?

应该使用SDK3或SDK 5使用PROD_TEST代码应该是相关问题吗?我的设计使用SDK5,但我看到了一个推荐使用SDK3版本的帖子。您可以提供与这些问题有关的任何建议,非常感谢,谢谢。

设备:
Gongyu_dialog.
离线
最后一次露面:4天5小时前
加入:2016-04-27 07:07
嗨,dave.renzo.

嗨,dave.renzo.
答案1:
>从PLT源代码中检查文件“host_hci.c”中的函数“hci_custom_action”。
//如果用于DA1458X芯片,则相应的HCI CMD为“01 D0 40 01 01(PARAM_DATA).opcode为0x40D0
>从SDK检查文件“Customer_Prod.c”中的“hci_custom_action_cmd”函数
//添加客户代码。现在默认代码只返回事件。

答案2:
关于prod_test代码,如果您不打算进行任何更改,请为SDK3推荐。
但对于SDK5,据我所知,Abnoraml结果可以在RF接收测试中获得。前任。错误率可能超过100%。Cource,它是与代码的核实部分相关的错误。

修复如下:
在文件\ 5.0.3 \ projects \ target_apps \ prod_test \ prod_test \ src \ custom_gtl_hci.c

struct hci_ccevt * gtl_hci_tx_evt_func(uint8_t *长度)
{
......
case llm_le_test_end_cmp_evt:
opcode = 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-> param [1]),co_htobs(s-> nb_packet_receive));
//添加结尾*************************
休息;

Dave.renzo.
离线
最后一次露面:2年6个月前
加入:2015-10-08 13:21
我有一些自定义代码

我有一些自定义代码运行,但现在生产线工具GUI报告自定义测试失败。我正在设置一个GPIO高,循环NOP约2秒,然后将GPIO设置为低。该功能的剩余部分是未触及的,所以我很困惑为什么它现在报告失败。

我希望能够以半秒的间隔顺序地将3个GPIO引脚缩短。做这个的最好方式是什么?我可以使用简单的计时器API吗?再次感谢您的帮助,非常感谢。

Dave.renzo.
离线
最后一次露面:2年6个月前
加入:2015-10-08 13:21
我现在正在使用pwm计时器

我现在正在使用PWM计时器而不是简单的计时器API,但却遇到了问题。我能够转动GPIO,但似乎没有脱离。任何想法如何导致这个?

Gongyu_dialog.
离线
最后一次露面:4天5小时前
加入:2016-04-27 07:07
嗨,戴夫。

嗨,戴夫。
你提到PWM不起作用吗?
此外,由于PC工具软件的超时检查,可能不会建议在函数“HCI_Custom_Action_cmd”中添加任何耗时的代码,该代码在等待返回事件的PC工具的软件中检查。
您可以设置标志,然后在主函数中进行工作负载,或使用定时器回调函数。

Dave.renzo.
离线
最后一次露面:2年6个月前
加入:2015-10-08 13:21
PWM计时器似乎是

PWM计时器似乎正在运作,但如果我尝试做一些如下:

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

GPIO将高速,然后2秒后,软件将报告失败。对于实际的测试序列,我要按时为20ms -30ms的方式切换GPIO。甚远设置标志并在主函数中执行测试代码,在主要功能中我应该这样做吗?

Gongyu_dialog.
离线
最后一次露面:4天5小时前
加入:2016-04-27 07:07
嗨,戴夫

嗨,戴夫

您只能在此处添加测试。

int main_func(void)
{
...............
/ *
************************************************************************************
*主循环
************************************************************************************
* /
而(1)
{
#if has_toggle_gpio.
cust_gpio_fsm();
#万一
......

托马堡
离线
最后一次露面:3年4个月前
加入:2016-01-13 14:46
嗨对话框,

嗨对话框,

我试图在下面的代码中添加以在SDK5中使用我的自定义测试使用XTAL修剪,但我仍然在我知道的电路板上获取XTAL TRIM失败消息,我知道将其传递给标准未修饰的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-> param [1]),co_htobs(s-> nb_packet_receive));
//添加结尾*************************

从日志:

| 17:07:06.476 | DUT_PDLL_XTAL_TRIM_INIT |启动| XTAL Trim操作初始化。
| 17:07:06.477 | dut_pdll_xtal_trim_start |开始| XTAL Trim操作开始。
| 17:07:36.478 | dut_pdll_rx_timeout |错误|设备未在PDLL消息请求上回复。当前设备状态= [12]。
| 17:07:36.479 | dut_pdll_xtal_trim_failed |失败| Xtal Trim失败。当前设备状态= [12]。

在SDK5中还有什么需要改变吗?

最好的祝愿,

托马斯

mt_dialog.
离线
最后一次露面:1个月3周前
职员
加入:2015-06-08 11:34
托马堡顿,

托马堡顿,

您添加的代码是用于应用于5.0.3上介绍的错误的修复程序,并且与CBT测试仪的测试有关,但您在Prod_test项目中的修复程序无法使用5.0.4,也没有使用它以应用自定义测试。

谢谢mt_dialog.