需求方的例子

了解更多常见问题解答教程

25个帖子/ 0新
最后一篇
本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
需求方的例子

嗨对话框,

我正在使用DSP示例,我遇到了一个问题希望你能提供帮助。

我使用定时器通过SPI读取数据约1s的时间,但它在读取5或6次(附加的第1页)后停止,并且在另外10个之后,程序发生故障(第2页)。

你能帮我分析一下原因吗?

我使用的例子是DSPS_DEVICE,也许使用SPI的UART中呼行冲突?如果是这样,如何停止UART?

谢谢

便雅悯

关键词:
设备:
PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

τheplatform_reset_func()由platform_reset()调用,它是实现的ROM代码。您获得此断言的最可能原因是由于内存不足,因为您可能会尝试分配您永远不会消耗的消息。例如,如果要分配通知消息,并且您有一个小的连接间隔,则邮件堆叠堆积,直到连接事件到达,但在连接事件到达之前,使用大的连接间隔耗尽内存。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

非常感谢您的快速回复。

我的代码如附件中所示,似乎没有未消耗的数据。

我仍然认为spi我与UART冲突

由于UART在我的项目中没有使用,

你能告诉我怎么阻止它吗?然后我可以测试uart是否与spi冲突。

谢谢

(我在另一个例子中测试了spi,它工作得很好)

附件:
本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
我认为spi_trabsanction是

我认为spi_trabsanction是唯一一个导致冲突的原因

谢谢

便雅悯

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

设备是否从Flash或系统RAM启动?你是否连续与UART互动?我会尝试复制它。如果您可以与我分享您所做的修改,那将是非常有帮助的。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

从系统启动,uart之间几乎没有交互

我的主要修改如下

void timer_callback(void)

{

int空间站;

ISSS = SPI_TRANSACTION(0x80040001);

/ /空间站= (iss > > 5) &0xFFFF;

/ /空间站/ = 64;

/ /空间站= 1023;

ARCH_PRINTF(“ttttt \ t”);

}

# ifdef CFG_PRINTF_UART2

gpio_configurepin(2,8,输出,pid_uart2_tx,false);

GPIO_ConfigurePin(2, 9, INPUT, PID_UART2_RX, false);

# endif

gpio_configurepin(0,0,输出,pid_spi_clk,false);

GPIO_ConfigurePin(0,2, OUTPUT, PID_SPI_EN, true);

gpio_configurepin(0,5,输入,pid_spi_di,false);

gpio_configurepin(0,6,输出,pid_spi_do,false);

spi_pad_t spi_cs_pad;

spi_CS_Pad。销= 2;/ / 2或

spi_cs_pad.port = 0;// spi_port;

spi_init(&spi_cs_pad,spi_mode_32bit,spi_rool_master,spi_clk_idle_pol_low,spi_pha_mode_0,spi_mint_disable,spi_xtal_div_8);

timer_init ();

timer0_register_callback (timer_callback);

输出如下,然后它停止,大约15s,它失败了。附件是修改后的整个文档

SPSS Init.

TTTTT other msgstr 3328

ttttt tttt ttttt ttttt ttttt ttttt

附件:
本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

总共修改了4个文档,都在上面的.pdf简单地复制它们并粘贴到相应的文档中,然后你就可以测试它了。

非常感谢您的帮助

便雅悯

2019.10.17

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

platform_reset_func()是由于内存不足,所以请尝试通过在da1458x_config_advanced.h标题文件中定义db_heap_sz来提高堆大小?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

我将DB_HEAP_SZ增加了2倍和4倍,但它仍然会崩溃,区别在于DB_HEAP_SZ越大,崩溃所需的时间就越长。

你能告诉我内存用在哪里了吗?

你还有别的办法避免撞车吗?

谢谢

便雅悯

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

以前我以前使用sdk3.xuart_slave,db_heap_sz是1024,仍然很好,我按照你的建议转移到新的sdk,但它崩溃如上面的节目,我认为它是由于系列端口的串行存储器消耗,因为系列端口不是在我的项目中使用,你可以帮助建议如何停止系列港口吗?

谢谢

便雅悯

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

可能spi与其他中断冲突?

由于SPI可以很好地努力。

谢谢

便雅悯

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

问题是由于内存不足。您能否总结您完成的所有修改以便复制您的问题?DSP有UART和BLE活动,所以我不太确定这是可实现的,因为系统由于待定消息而耗尽内存。你在另一个SDK项目中复制了吗?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

以下3个文件修改:

Arch_main.c.

user_periph_setup.c

da1458x_config_basic.h.

我在PDF文档中复制了这3个文件的内容和它们的修改,这3个文件用///////////分开,你可以在有//Benjamin added的地方找到修改。

我用SDK3测试了相同的代码。X uart_slave,它工作。

谢谢

本杰明10月23日。

附件:
本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

我的项目是使用dsps读透spi,我认为应该是可能的。

谢谢

便雅悯

10月24日

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

你能给我一个答复吗?

谢谢

BenjaminDU 10月25日

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

你说有挂起的消息,能否举例说明是哪个消息?

谢谢

BenjaminDU

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
谁都可以告诉我怎么用

任何人都可以告诉我如何使用SPI和同时,也可以通过BLE连接?

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

我测试的项目是dsps_device。修改后的3个文件如附件所示

谢谢

便雅悯

附件:
PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

您无法同时拥有UART和SPI活动。SDK的BLE_APP_SECURY示例使用SPI Flash N命令来存储绑定数据。请关注user_cfg_app_bond_db_use_spi_flash。为了与SPI Flash初始化和互动,我建议您使用我们的API。您也可以将SPI_FLASH示例作为参考(6.0.10.511 \ Projects \ target_apps \ peripherall_examples \ spi)。您可以澄清您对DSP和SPI闪光的要求吗?

您应该使用app_easy_timer() API。每次计时器过期时,将触发已注册的回调,因此您需要注册与SPI flash交互的回调。请记住,DSP默认使用扩展睡眠模式,因此包括SPI在内的所有外围块都将关闭电源。

谢谢,PM_DIALOG.

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

刚刚看到你附加的修改文件。我将尝试在一个干净的sps_device项目中测试它。你有定制板吗,或者你正在使用我们的dk ?另外,您是否有另一个DA14585运行sps_host固件或您正在使用我们的DSPS移动应用程序连接?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

UART不是必须的,我使用UART以一种简单的方式输出数据来观察调试期间运行的代码,但是我测试了我的代码,如果我不使用UART输出任何东西,程序仍然可能崩溃,这也是在SKD3中。x,我使用了slave_uart和master_uart的例子,UART与SPI很好地工作。

我测试了SPI_flash示例,它可以很好地与我的SPI设备交互。

我的要求是通过SPI读取数据,并将数据发送到对等设备(移动或sps_host)

你的意思是延长睡眠模式会禁用spi吗?和spi停止,也许这就是程序崩溃的原因?

谢谢

便雅悯

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
嗨对话框,

嗨对话框,

是的,我正在使用客户董事会。

我使用sps_host固件,我也可以使用移动应用程序,它们都可以连接到dsps_device

希望您可以测试我的代码并帮助我发现问题在哪里。

谢谢

便雅悯

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨本杰明,

嗨本杰明,

在睡眠模式下,所有外围块包括I2C,UART,SPI都会断电。在DSP示例中,默认情况下,睡眠模式是扩展的睡眠模式。在UART的情况下,使用硬件流控制以便在有可用数据发送或接收时唤醒设备。你能在活动模式下尝试吗?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2天4小时前
加入:2016-03-14 02:38
你好,

你好,

我测试了活动模式,似乎有效,我会做更多的测试来确认它。

谢谢

便雅悯

PM_DIALOG.
离线
最后一次露面:1周前1周前
职员
加入:2018-02-08 11:03
嗨本杰明,

嗨本杰明,

扩展睡眠模式是问题,因为,正如我之前提到的答案中所提到的那样,所有外围块都在睡眠模式下进行电动。

谢谢,PM_DIALOG.