prod_test.bin Customer Test Command ID

9 posts / 0 new
最后一篇
Dave.Renzo
离线
最后一次露面:2年7个月前
加入:2015-10-08 13:21
prod_test.bin Customer Test Command ID

你好支持,

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

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

A related question is should I be using the prod_test code from SDK3 or SDK 5? My design uses SDK5, but I saw a post recommending the use of the SDK3 version. Any advice you could provide related to these issues would be greatly appreciated, Thanks.

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

嗨,dave.renzo.
Answer for question 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:
Regarding as prod_test code, recommend for SDK3 if you do not intend to make any change.
但对于SDK5,据我所知,Abnoraml结果可以在RF接收测试中获得。前任。错误率可能超过100%。Cource,它是与代码的核实部分相关的错误。

the fix is as follows:
在文件\ 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年7个月前
加入:2015-10-08 13:21
我有一些自定义代码

我有一些自定义代码running but now the production line tool gui is reporting that the custom test is failing. I am setting a gpio high, looping nop's for approximately 2 seconds then setting the gpio low. The remainder of the function is untouched so I am confused as to why it is now reporting failure.

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

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

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

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

嗨,戴夫.
You mentioned that PWM does not work ?
此外,由于PC工具软件的超时检查,可能不会建议在函数“HCI_Custom_Action_cmd”中添加任何耗时的代码,该代码在等待返回事件的PC工具的软件中检查。
You can set a flag, then do the workload in the main function, or use the timer callback function.

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

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

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

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

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

嗨,戴夫

您只能在此处添加测试。

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

托马堡
离线
最后一次露面:3 years 4 months ago
加入: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中还有什么需要改变吗?

Best wishes,

托马斯

mt_dialog.
离线
最后一次露面:2个月1周前
职员
加入:2015-06-08 11:34
Hi thomasburton,

Hi thomasburton,

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

谢谢mt_dialog.