prod_test uninitalized port_sel.

⚠️
大家好. .谢谢你来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,包含在主对话网站中。所有岗位和账户都已迁移。我们现在只接受新论坛的流量-请在上面发布任何新帖子//www.wsdof.com/support.我们将在未来几天修复bug /优化搜索和标记。
4个帖子/ 0新
最后发表
jcdr
离线
最后一次露面:8个月,3个星期前
加入:2019-12-19分
prod_test uninitalized port_sel.

你好,

如果通信配置为TX=P0_0和RX=P0_1,为什么DA14531 prod_test不能可靠地在Development Kit-Pro和Development Kit-USB上运行。我发现,用于设置UART引脚的port_sel变量保持未初始化。大多数情况下,包含port_sel变量的内存保持一个零值,匹配P0_0_AND_P0_1_INITIALIZED_FROM_EXT_TOOL常量,并且应用程序按照预期工作。但有时内存包含非零值,应用程序无法通信。

我成功地解决了这个问题,通过在文件user_peri_setup .c的函数peri_init()的开头添加以下行:

port_sel = UART_PORT_SEL;

将这一行添加到user_外围_setup.h中,就在enum的定义之后:

#定义UART_PORT_SEL P0_0_AND_P0_1_INITIALIZED_FROM_EXT_TOOL;

此致。

Jean-Christian de Rivaz

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:2天8小时前
工作人员
加入:2018-02-08 11:03
嗨Jean-Christian,

嗨Jean-Christian,

请参考AN-B-077: DA14531蓝牙直接测试模式DA14531支持网页的申请说明。为了在P00和P01上从2线UART模式运行prod_test,您将找到应该遵循的适当步骤和配置。非常感谢您的意见和反馈,但是您提到的修改是不需要的。请按照下面的步骤操作。我用DA14531 Pro-DK在我这边测试了它。

1.请打开prod_test项目,没有SDK6.0.12提供的任何修改。\

2.在“user_peri_setup .h”中修改gpio配置如下。更多信息请参见4.1 AN的软件设置。

/****************************************************************************/ /* UART销配置  */ /****************************************************************************/ /****************************************************************************/ /* CONFIG_UART_GPIOS * / / *定义Uart接口* / /针是由外部工具/ *定义Uart港口/针在当前项目中定义  */ /****************************************************************************/ # undef CONFIG_UART_GPIOS  /****************************************************************************/ /* UART销配置* / / *支持端口/销组合:* / / * Tx: P00,处方:P01 * / / * Tx:P02, Rx: P03 */ * Tx/Rx: P03 (1-Wire UART) */ * Tx: P04, Rx: P05 */ * Tx/Rx: P05 (1-Wire UART) */ * Tx: P06, Rx:P07  */ /****************************************************************************/ # 如果定义(__DA14531__) # define UART1_TX_GPIO_PORT GPIO_PORT_0 # define UART1_TX_GPIO_PIN GPIO_PIN_0 # define UART1_RX_GPIO_PORT GPIO_PORT_0 # define UART1_RX_GPIO_PIN GPIO_PIN_1其他# # define UART1_TX_GPIO_PORT GPIO_PORT_0 # define UART1_TX_GPIO_PIN GPIO_PIN_4#define UART1_RX_GPIO_PORT GPIO_PORT_0 #define uart1_rx_gpio_pin_5 #endif

3.编译项目并下载fw到System-RAM。这可以通过3种选择来实现:

- 按“开始/停止调试会话”按钮两次Keil IDE

- SmartSnippets工具箱(SST)启动器

- SST RF-Master固件下载工具

4.下一步是对SST进行相应配置。因此,打开SST和“板设置”。您应该为P0_0和P0_1选择UART配置。更多信息请参考4.1.1设置射频Master的Rx/Tx测试模式。

5.现在,你应该能够使用RF主人!

谢谢,PM_DIALOG.

jcdr
离线
最后一次露面:8个月,3个星期前
加入:2019-12-19分
感谢您的答复。

感谢您的答复。

我也遵循了这个指示。这在大多数情况下是可行的,但是由于port_sel变量未初始化,结果并不可靠。如果port_sel偶然不为零,端口引脚永远不会为UART操作配置,通信也不会工作。在SDK/6.0.12.1020.2/projects/target_apps/prod_test文件夹下,port_sel变量没有被初始化为P0_0_AND_P0_1_INITIALIZED_FROM_EXT_TOOL常量。

/6.0.12.1020.2/projects/target_apps/prod_test
prod_test / src / config / user_periph_setup.h:走读生uint8_t port_sel;
prod_test / src / platform / user_periph_setup.c:uint8_t port_sel __section_zero(“prodtest_uninit”);
prod_test / src / platform / user_periph_setup.c:switch(port_sel)
prod_test / src / platform / user_periph_setup.c:switch(port_sel)

注意:由于某些原因,这个问题在DA14531“Kit-USB”板上比在DA14531“Kit-Pro”板上更经常发生。

PM_DIALOG.
离线
最后一次露面:2天8小时前
工作人员
加入:2018-02-08 11:03
嗨Jean-Christian,

嗨Jean-Christian,

谢谢你的建议。我会在内部检查并测试您建议的解决方案。再次感谢您的建议!

谢谢,PM_DIALOG.