将UART添加到BALBOLE SEMPLE项目

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
马哈居
离线
最后一次露面:2年1个月前
加入:2018-01-29 01:08
将UART添加到BALBOLE SEMPLE项目

I am trying to study about BLE using DA14580 using the DA14580 motherboard and the BLE barebones project

我认为无法使用keil调试printf()函数(https://support.dialog-semiconductor.com/forums/post/dialog-smartbond-bl...), so I am trying to add the UART feature from the Blinky sample program into the BLE barebones project

我在keil的项目树视图中添加了一个common_uart到ble_app_barebone_580,并在这个组中包含common_uart.c

common_uart.c和common_uart.h文件在文件夹“... ble_app_barebone \ src”中添加了文件

我在user_barebones.c中添加了以下行
#include“common_uart.h”
printf_string("Entered user_app_adv_start\n");

它构建没有任何错误,但是当我在进入调试模式后运行程序时,它会停止此时

__asm(“bkpt#0 \ n”);

在nmi_handler.c.中

我没有对我认为可能导致这种情况的UART进行任何初始化。所以我的问题是:

1.这是在鞍地区添加UART的正确方法吗?
2.Artbones项目中的main()函数在哪里?我发现int main_func(void){..}在Arch_main.cn内。这是主要功能吗?编辑此文件是否可以安全地添加UART初始化代码?
3.我是否正确理解我不能使用printf()函数来添加诊断消息?

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

Hi mahaju,

  1. 由于NMI发生,这意味着代码被困在某个地方,我不认为它是因为UART,无论如何,为了在BLE项目上使用UART打印,您将必须:
    1. 在da1458x_config_basic中定义cfg_printf。
    2. use the arch_printf() API in order to print messages to the uart
    3. 包括ARCH_CONSOLE.H文件,以便使用上述API进行打印消息
    4. make sure that the pins used from UART2 are connected to your FTDI chip the default pin are from PORT2 the PIN6 and PIN7.
  2. The main function of the BLE projects is in arch_main.c function and is the main_func(), dont use this function for UART initialization, using the above method the SDK will make all the proper initializations for the UART.
  3. 是的,您无法使用标准的Printf实现。

谢谢mt_dialog.

马哈居
离线
最后一次露面:2年1个月前
加入:2018-01-29 01:08
你好

你好

感谢你能这么快回复
我加了
1) #define CFG_PRINTF in da1458x_config_basic.h, after the line #undef CFG_PRINTF that was already there
2)user_barebone.c中的#include“arch_console.h”
3)ARCH_PRINTF(“输入user_app_adv_start \ n”);在函数中void user_app_adv_start(void)

I was hoping that when BLE advertisement starts I would see something on TeraTerm, but I don't see anything

当程序开始时,我看到几行痛苦,但在此之后没有任何东西

I have set the baud rate and com port to the same values that I would use with the Blinky sample program

然而,我不确定你在早期回复中的意思。我在默认位置留下了板上的所有跳线,当我收到它时,电路板的设置相同(我已经附上了当前跳线位置的屏幕截图)。Blinky样品在没有任何跳线修改的情况下工作

查看原理图文档后(第1页的“e-da14580devkt-p_vb_schematic.pdf”)我尝试了在我的主板上的j8的连接销7和8(da14580devkt-p_vc,当前的子板是da14580atdb-p,但我需要这个为WLCSP34子板工作也适用于连接Port2引脚6和7的思考,但UART仍然无法正常工作

可能是什么问题呢?或者,可以使用在Blinky程序中使用相同的硬件和软件设置而没有对主板进行任何硬件更改的情况下,可以使用UART?

- - 编辑 - -

通过J5的J7至12的引脚7和J5的J7至14的引脚8的连接销7来解决了该问题。
UART输出显示在两个虚拟串行端口的较小部分上
已经制作了上述所有软件修改
(主板是DA14580DEVKT-P_VC,子板是DA14580ATDB-P)

**新问题**
我仍然想知道是否可以在BLE项目中启用UART,而无需进行任何硬件修改,与Blinky程序相同。如果使用WL-CSP34子板,我还想知道我当前的硬件配置是否会以相同的方式工作。

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

Hi mahaju,

在启动调试会话时看到的jiberish只是在JTAG重置电路板之后执行的引导加载程序。

4点我上面提到的是什么改变the default UART2 pins from (since the default printing utility uses the UART 2 and the default pins are P26 and P27) so this is where the printing goes, so you have two options either connect the on board FTDI pins with the above mentioned pins or change the pins configuration and use instead of of P26 and P27 the pins P04 and P05 as TX and RX respectively (check the UART2_TX/RX_GPIO_PORT and UART2_TX/RX_GPIO_PIN in the user_periph_setup.h file). With the latter method you dont have to change any configuration on the pro kit and keep the jumper configuration as is on the attachment.

我想上面的关于WL-CSP34的问题的上述声明答案,因为该包没有Port2引脚,但只有Port0和Port1,所以上述方法也将为CSP包工作。

谢谢mt_dialog.