DSPS项目使用外接Atmel处理器

⚠️
大家好. .谢谢你来参加论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台,它将提供更好的功能,并包含在Dialog主网站中。所有的帖子和账户都已迁移。我们现在只接受新论坛的流量-请张贴任何新的线程//www.xmece.com/support.我们将在未来几天修复漏洞/优化搜索和标签。
43个帖子/ 0个新
最后发表
腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
DSPS项目使用外接Atmel处理器

你好MT_dialog,

我们在DA14580开发工具包基础上实现了DSPS项目,采用UART和SPI配置。我们想用我们的微控制器和板上的UART连接引脚来使用DA 14580蓝牙芯片和我们的ATMEL处理器。

如何在DSPS项目中添加我们的代码,在keil项目中添加哪部分代码?还需要做进一步的连接吗?

主要目标是通过uart连接DA14580的dsp和我们的处理器。

提前谢谢你,
腻过

设备:
MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

我不太明白这个问题,据我所知,你想从你的外部MCU发送数据到580,这些数据应该通过蓝牙推送,如果是这样的话,就没有必要更改DSPS代码。DSPS应用程序将从UART端口获取数据,并通过BLE将数据传输到连接的另一端,您所要做的就是通过UART配置和连接您的外部MCU(如果您想使用h/w流控制,则使用RX/TX和RTS/CTS -这是可靠传输UART数据并使580处于扩展睡眠模式的唯一可能方法)。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
感谢您的快速回复!!

感谢您的快速回复!!

好的,如果我理解正确的话,DSPS代码在Da14580上,当它将通过smartsnippets的JTAG进行flash时,我唯一需要配置的是我的外部处理器(MCU)中的代码。

当然,还有一个数据接收检查函数,它将检查通过UART从DA14580接收的数据是否正确,并继续执行我们想要实现的结果。

如果我说错了,请指正

任何进一步的建议都非常感激。

提前谢谢你,
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

是的,DSPS是一个独立的应用程序,无论在UART端口上显示什么数据,它都会在连接的另一端传输它们(当然你需要一个适当的客户端支持DSPS,这是一个Dialog专用配置文件-像DSPS Android / Ios应用程序或另一个580运行DSPS的主机应用程序)。

我不太清楚你说的“收账功能”是什么意思,你能澄清一下吗?

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好MT_dialog

你好MT_dialog

感谢您的快速回复!

我们已经连接我们的ATMEL处理器与对话框DA14580开发工具包-基本如下所附的示意图。
(DA RX ->到外部ATMEL TX)和(DA TX ->到外部ATMEL RX)
我们已经尝试和相反的连接也到我们的外部处理器。

但是我们的ATMEL处理器没有接收到任何数据,我们使用官方的DSPS android应用程序发送数据。

1)我们还需要做什么与这些连接有关的事情吗?

2)是否需要从DA板连接spi连接到我们的ATMEL处理器,以将数据传输到另一边?
我们已经做了spi配置,如所附的示意图。

3)位于DA的vin引脚3,3,为板供电,因为现在只从usb端口启动。
最后,在代码的哪一部分,我需要为580设置扩展睡眠模式来传输数据?

提前谢谢你,
腻过。

附件:
MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

1) DSPS被设计成在启用h/w流量控制的情况下正常工作,因此您还需要连接CTS/RTS,因为当启用睡眠时,外部设备需要知道580何时唤醒以发送数据。此外,s/w流量控制是可用的,但将会在设备上丢失数据。

2)不,当你运行DSPS应用程序时,没有必要连接SPI引脚,除非你打算从pro工具包自带的SPI闪存引导fw。

3)关于最后一个问题,如果你不想从USB为板供电,你可以将电源连接到引脚1 (VBAT_580)的J5头上,但你还需要以某种方式下载固件到设备,所以你必须通过keil从SWD引导,这当然需要USB或烧毁OTP或SPI或通过UART引导。默认情况下,DSPS预先配置为启用了扩展睡眠模式,您可以在app_default_sleep_mode结构的user_config.h文件中检查这一点。

关于你的连接,在连接你的示意图连接RX和TX行Atmel的UART实现JLink为了使用打印数据的基本装备,没有UART接口之间的连接580和你的爱特梅尔公司处理器,你指示的别针P04 P05不适当,在阁下的别针恰是那些在你面前的指示,您可以查看基本套件的原理图和用户手册,以获得更多信息(UM-B-048 Getting Started with DA1458x),并且建议在此上使用FTDI,而不是SEGGER MCU的UART。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
亲爱的MT_dialog

亲爱的MT_dialog

我已经将user_config.h文件中的设置更改为扩展睡眠模式启用
和我得到以下错误时,我试图闪光我的板:

[INFO General @17-06-12 23:40:12]无法测量总红外波长。TDO一直很高。
[INFO General @17-06-12 23:40:12]无法测量总红外波长。TDO一直很高。
[INFO General @17-06-12 23:40:13]无法测量总红外波长。TDO一直很高。
[INFO General @17-06-12 23:40:13]无法测量总红外波长。TDO一直很高。
[INFO General @17-06-12 23:40:13]无法测量总红外波长。TDO一直很高。
[ERROR General @17-06-12 23:40:13]无法读取内存地址0x50003200与函数JLINKARM_ReadMemHW
[ERROR General @17-06-12 23:40:14]在打开JLink连接时没有发现已知的芯片。终止过程中…
[ERROR SPI Flash Programmer @17-06-12 23:40:14]下载固件文件到单板失败。
[ERROR SPI Flash Programmer @17-06-12 23:40:14]配置SPI Flash端口和引脚失败。

我把我的板子调到了spi模式

我该如何解决这个问题?

提前谢谢你,
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

从你附加的日志中,我假设你正在使用智能片段工具来在你的板上刻录SPI flash,我也假设你已经在SPI中刻录了一个应用程序,启用了睡眠,在刻录启用了睡眠的fw后,你无法连接智能片段并重新刻录你的flash(我假设你刻录的fw是基于5.0.4以上的SDK)。另外,我假设您通过JTAG接口连接到智能片段。从5.0.4的SDK是第一个SDK,使580的调试器模块即使在睡眠模式下也能启用,所有以前的版本都禁用了该模块,因此当Smart snippet试图下载flash_programmer以flash SPI内存时,它会失败,因为它无法找到580上的调试器模块。你能做的就是点击板上的重置按钮,在2秒内(设备保持活动2秒,XTAL32解决)点击智能片段上的连接,这将在设备进入睡眠之前下载flash_programmer。

除此之外,如果JTAG不能与580通信,检查580是否正常供电,检查J5跳线是否正确放置。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好,先生。

你好,先生。

我已经完成了上述步骤,我已经解决了通过更改user_config.h文件中的设置为扩展睡眠模式而发生的问题,提前谢谢你!

1)我已经通过下载SDK版本更新到SDK 5.0.4,并在Smart Snippets启动菜单中选择SDK文件夹,还安装了推荐的J-link驱动程序,但当我在keil中的user_config.h文件中将值设置为扩展睡眠模式时,我在第一次闪烁后遇到了同样的问题,我的板根本无法识别,我需要按照你上一篇文章中的指南再次闪光。我也有数据丢失,数据不能正确传输。现在我已经在user_config.h文件中将其设置为ARCH_SLEEP_OFF,有了这个配置,我没有任何闪烁我的板的问题,也没有数据丢失,一切都被传输ok。还有什么需要我进一步做的吗?例如在keil中设置SDK或将其更新到5.0.4 ?
我还设置了这个值#define CFG_UART_HW_FLOW_CTRL和#undef CFG_UART_HW_FLOW_CTRL在user_pher_setup .h文件中

2)你能给我更多关于如何使用FTDI的信息吗?以某种方式改变keil中的代码以启用dsp数据传输,或者我们只需要连接到我们的ATMEL ?例如,在tx和rx引脚上,当我们通过android应用程序发送数据时,我们看不到任何数据,我在原理图中指示的引脚实际上是tx和rx引脚,而不是PO_5和po_4,但在我们的终端中,或者当我们在ATMEL STUDIO中使用调试线模式时,没有任何东西到达另一端。

提前感谢你的帮助,非常感激!
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

1)我很抱歉但是我很困惑,SDK软件环境,580年的使用,如果您使用的是需求方的参考设计,与一位年长的SDK构建,这意味着改变你适用于智能片段工作室不会改变这一事实SDK是一个老SDK和禁用JTAG当操作在睡眠模式因此如果你想烧你闪你必须总是按下重置按钮。对于数据丢失,需求方是测试参考设计和数据丢失不是观察如果设备是适当的设置,如果你正面临着这样的问题尝试检查设备与PC机,如果一切都好,这意味着有问题的另一边设置(外部单片机)和最可能的硬件流控制针(580年睡眠模式需要那些针为了信号etxernal单片机当它准备接收数据)。

2)关于启用传输,我真的不明白这个问题,DSPS连接时,无论放在UART上的是什么,它都被传输到连接的设备上,你只需要连接所有四根UART线RX/TX/RTS/CTS,当然你必须正确配置外部MCU。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好先生,

你好先生,

你能提供我下载带有sdk 5.0.4的dsps keil项目的链接吗?因为我不能用最新的sdk版本编译dsps项目,我收到奇怪的错误
我从以下网站下载了DSPS项目的源代码:https://support.dialog-semiconductor.com/connectivity/product/da14580?qt..。
我也下载了最新的sdk:https://support.dialog-semiconductor.com/connectivity/product/da14580?qt..。
我想我必须更新keil SDK,但如何实现呢?正确项目包的任何步骤或链接都非常有用
我想感谢你的快速回复。

提前谢谢你,
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

如前所述,当前版本的DSPS是基于之前的SDK版本构建的,最新的SDK上没有可用的版本,为了做到这一点,你需要将现有版本的DSPS移植到新的SDK上,这需要花费时间。我认为你误解了SDK的含义,它不是你可以放在keil中,然后用一个新的SDK构建一个项目,你必须完全将代码从一个SDK移植到另一个。另外,如果你担心的是你不能在当前DSPS版本上不先点击重置就刷新设备,你可以搜索这条指令SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0);并将其转换为1,以便始终启用调试器。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
谢谢你的快速回复,

谢谢你的快速回复,

1)当我们最终放置da14580模块时,有必要将spi引脚连接到具有外部处理器的板上吗?

2)我在代码中搜索了启用臭虫模式,我看到它已经被设置为1

3)我们将在接下来的几天里连接我们外部处理器上的UART tx和Rx引脚,也连接CTS RTS引脚,并使用android DSPS应用程序传输数据,我们希望有一些成功并接收数据

对上述步骤的任何进一步修正都是非常感谢的。
我们也找到这个指南作为参考

https://support.dialog semiconductor.com/resource/b - 001 da14580 -引导- . .。

提前谢谢你,
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

1)不(如果我理解正确的话),如果没有使用spi闪存(用于引导或数据),就不需要连接spi引脚。

2)在check_sys_startup_period()函数和BLE_SLP_Handler()(应该有两个这样的函数),调试器在dsp参考设计中被禁用SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0);所以你要把它换成1。

3)你的附件是580如何开机,和DSPS项目没有关系。那你想做什么?从外部MCU下载fw或只是通过DSPS参考设计与外部MCU通信?无论如何,我没有看到任何额外的连接或额外的代码修改在DSPS,这个例子是为盒子,它应该是只要你有适当的连接。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
谢谢你这么快

感谢您的快速回复!

我们已经连接了tx Rx和CTS RTS引脚,但我们还没有从另一边收到任何数据

我们怎样才能成功?
我们的代码似乎没问题,还有什么可以尝试的吗?

我不能弄清楚spi引脚是否是nesaserry,因为如果我只使用UART引脚,牙根本不广播

任何建议都非常感谢

提前谢谢你
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

关于SPI引脚,如上所述,只有在580中没有fw时才能使用DSPS上的SPI连接,所以当你上电时,设备中显然没有fw运行(只要你处于开发模式并且不使用OTP),所以你将需要SPI连接以便580从外部闪存下载图像。所以显然你不通过keil下载图像,而当外部处理器正在运行时,但你正在启动设备,你从SPI下载fw。DSPS正在使用580使用的一些SPI线作为UART线启动,所以我假设你已经将这些线连接到SPI和FTDI的UART TX/RX。

为了调试这个问题,你可以尝试:

  • 在项目中禁用睡眠模式,并使用软件流控制,以便省略额外的RTS/CTS行。检查您是否可以通过该配置获得一些数据。
  • 尝试重新安排冲突的引脚或SPI和UART,为UART通信放置其他端口/引脚,并避免580使用的引脚以便从SPI引导。

正如前面提到的,参考设计是开箱即用的,所以如果另一方的实现是正确的,没有线路问题(连接等),你应该能够实现通信。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好,我的对话,谢谢

您好,我的对话提前感谢您的快速回复!

我们已经尝试了上面的设置,我们已经禁用了睡眠模式,spi引脚配置在不同的端口,而不是UART端口
我们已经测试了我们的程序,是在我们的atmel处理器和工作正常
但是当我们连接UART引脚时,没有任何东西被转移到另一边。

同时也尝试了软硬件控制
请问我们能做些什么来解决这个问题

我们将在你的产品上投资
对话框14580
提前谢谢你
腻过

MT_dialog
离线
最后看到:4个月1周前
工作人员
加入:2015-06-08 34
嗨腻过,

嗨腻过,

让我更清楚地说明一些事情,因为我认为你遗漏了一些东西:

  • 单板上的SPI连接只是为了580从SPI闪存下载代码所必需的,因此当设备启动时,主引导加载程序启动并执行一个过程,其中它开始扫描port0的不同接口(I2C/SPI/UART)引脚。这些引脚(设备引导的地方)不能改变,580从特定接口的特定引脚引导(请检查AN-B-001)。这是“spi引脚配置在不同的端口”的评论,只是为了澄清这一点。
  • 如果你能看到580广告的DSPS项目,那么在那之前你应该没问题。在那之前你都没问题,连接android设备并开始向你的设备发送数据。如果ATMEL没有接收到任何数据,请使用逻辑分析仪检查线路,以查看RX/TX线路上是否有数据,如果您使用RTS/CTS,也请检查这些线路的状态。
  • 此外,为了使事情更简单,尝试通过JTAG下载代码,而不是通过SPI。
  • 如果您在ATMEL上看到数据,但不是预期的数据(垃圾数据),请尝试降低设备的波特率。
  • 尝试在PC上使用DSPS和基本套件与FTDI,并检查是否可以在另一端获取数据(请检查UM-B-038 da14580串口服务参考应用程序。pdf,以便正确地将基本套件与PC连接)。

由于MT_dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
亲爱的先生女士你好!

亲爱的先生女士你好!
我们已经实现了从对方接收数据而不丢失数据!

但是,当我们尝试在我们的板上使用开发工具包(如程序员)使用智能代码片段闪da 14580时,我们在智能代码片段上收到这个错误。(附图)

我们使用了对话中推荐的闪存。
你能提供一种正确的方法来检查我们板上的da14580吗?

提前谢谢你,
腻过

KevinL
离线
最后看到:两个月前两个星期前
工作人员
加入:2017-11-06 13:52
嗨腻过,

嗨腻过,

你用哪个接口下载固件,UART还是JTAG?

顺便说一句,我发现P1_3被用作BT_TX,这是uart接口吗?如果gpio数量足够,我们不建议客户使用P1_2和P1_3。
请参阅对话框应用说明AN-B-018第3.2章。

致以最亲切的问候

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好!

你好!
感谢您的快速回复!

我们从DA14580DEVKIT-B BASIC到定制板的连接是:

Spi_miso = p0_5
Spi_mosi = p06
Po_3 = spi_cs
P0_0 = spi_cl
T_tms = swdio
T_tck = sw_clk

我们使用jtag接口,我们已经成功地连接了jtag板,但我们收到以下错误日志,当我们试图闪光和werify spi内存通过智能片段:

[INFO SPI Flash程序员@18-07-31 20:56:19]找到ID为0x0BB11477的SWD-DP
[INFO SPI Flash Programmer @18-07-31 20:56:20] FPUnit: 4个代码(BP)插槽和0个文字插槽
[INFO SPI Flash程序员@18-07-31 20:56:20]发现Cortex-M0 r0p0, Little endian。
[INFO SPI Flash Programmer @18-07-31 20:56:20]固件文件C:\DiaSemi\SmartSnippetsStudio\Toolbox\common_resources\jtag_programmer.bin已被选择下载。
[INFO SPI Flash Programmer @18-07-31 20:56:20]成功下载固件文件到板。
[INFO SPI Flash Programmer @18-07-31 20:56:20]成功配置SPI Flash端口和引脚。
[INFO SPI Flash Programmer @18-07-31 20:56:24]开始从内存中读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:56:26]读取已完成。读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:56:33] SPI内存擦除完成成功。
[INFO SPI Flash Programmer @18-07-31 20:56:33]读取内存以验证其内容后擦除…
[ERROR SPI Flash Programmer @18-07-31 20:56:33]验证地址0x00失败
[INFO SPI Flash Programmer @18-07-31 20:56:33]读取内存刷新其内容....
[INFO SPI Flash Programmer @18-07-31 20:56:35]读取已完成。读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:56:41] SPI内存擦除完成成功。
[INFO SPI Flash Programmer @18-07-31 20:56:41]读取内存以验证其内容后擦除…
[ERROR SPI Flash Programmer @18-07-31 20:56:41]验证地址0x00失败
[INFO SPI Flash Programmer @18-07-31 20:56:41]读取内存刷新内存内容....
[INFO SPI Flash Programmer @18-07-31 20:56:41]读取已完成。读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:56:51]开始在地址0x00000处燃烧内存,数据为17992字节。
[INFO SPI Flash Programmer @18-07-31 20:56:53]内存刻录完成成功。
[INFO SPI Flash Programmer @18-07-31 20:56:53]读取内存刷新内存内容....
[INFO SPI Flash Programmer @18-07-31 20:56:55]读取已完成。读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:57:07]开始从内存中读取32768字节。
[INFO SPI Flash Programmer @18-07-31 20:57:09]读取已完成。读取32768字节。

提前谢谢你,
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

我看看能不能帮上忙。

你上面发布的原理图是正确的,除了你为UART使用了错误的引脚(如上所述)。除非你改变DSPS实现中的引脚配置,否则你将需要使用P0_4作为DA14580的TX输出,P0_5作为DA14580的RX输入。这些信号在开发套件的引脚头上可用(BASIC套件上的J4和PRO套件上的J5)。注意P0_5已经连接到FLASH的MISO,但这应该不会引起任何问题,只要你保持从选择(/SS或/CE或/EN)在FLASH高-这将迫使MISO去高z。我建议更改DSPS实现中的pin-out以避免任何问题,但它应该按原样工作。

有可能您的闪光灯不工作,但在我们继续进行并设置产品更换之前,请遵循这些说明。我们的开发工具包构建得非常好,在我担任这个职位的5年里,我没有经历过多少产品退货:o)

  1. 完全断开外部处理器板的连接,只需要使用开发工具包,上面的原理图中设置了跳线(用于SPI操作)
  2. 关闭SmartSnippets工具箱——这个工具很棒,但是当不可预见的问题发生时不能自动恢复
  3. 重新打开SmartSnippets工具箱。选择JTAG选项,并确保选择正确的Dialog芯片。点击“打开”
  4. 打开FLASH工具并选择您的十六进制文件
  5. 你的截图显示flash大小设置为200,000,将其更改为20,000(这是一个十六进制数字!)
  6. 选择“连接”,然后“删除”,然后“刻录并验证”。当被问及是否希望图像可启动时,回答“是”

最后,把日志发给我看。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好,我们已断开连接

你好,我们已经从DEV KIT断开了外部板,我们已经设置了spi连接的跳线
spi的计划是成功的和广泛的广播。

smartsnipets的日志:

[INFO @18-08-01 16:12:03]固件文件C:\Users\aimon\SmartSnippets\resources\jtag_programmer.bin已被选择下载。
[INFO @18-08-01 16:12:04] Successfully download firmware file to the board.日志含义
[INFO @18-08-01 16:12:04] Successfully configured SPI Flash ports and pins。
[INFO @18-08-01 16:12:08]头记录已经从十六进制文件sps_device_580.hex中删除。
[INFO @18-08-01 16:12:08]从sps_device_580.hex文件读取17672字节。
[INFO @18-08-01 16:12:16] SPI内存擦除完成成功。
[INFO @18-08-01 16:12:16]在删除后读取内存以验证其内容…
[INFO @18-08-01 16:12:18]验证成功。
[INFO @18-08-01 16:12:18]读取内存刷新其内容....
[INFO @18-08-01 16:12:19]阅读已结束。读取32768字节。
[INFO @18-08-01 16:12:43]开始刻录地址为0x00000的17992字节的数据。
[INFO @18-08-01 16:12:43]内存刻录完成成功。
[INFO @18-08-01 16:12:43]读取内存以验证SPI闪存内容后刻录…
[INFO @18-08-01 16:12:44] SPI FLash memory verification succeeded.验证成功。

接下来,我们再次连接我们的自定义板开发工具包与spi连接
我们有下面的对数
为了成功连接并读取内存,我们必须一直按下reset按钮,否则我们会收到日志的第一行所播种的错误

smartsnippets的日志

[INFO @18-08-01 16:36:34]固件文件C:\Users\aimon\SmartSnippets\resources\jtag_programmer.bin已被选择下载。
[ERROR @18-08-01 16:36:34]在地址80000处写入文件C:\Users\aimon\SmartSnippets\resources\jtag_programmer.bin失败。
[INFO @18-08-01 16:36:34]下载固件文件到单板失败。
[INFO @18-08-01 16:36:34]配置SPI Flash端口和引脚失败。
[INFO @18-08-01 16:37:06]固件文件C:\Users\aimon\SmartSnippets\resources\jtag_programmer.bin已被选择下载。
[警告@18-08-01 16:37:07]XPSR的t位是0,但应该是1。改为1。
[INFO @18-08-01 16:37:07] Successfully downloading firmware file to the board.日志含义
[INFO @18-08-01 16:37:07] Successfully configured SPI Flash ports and pins。
[INFO @18-08-01 16:37:21]开始从内存中读取32768字节。
[INFO @18-08-01 16:37:22]阅读已结束。读取32768字节。
[INFO @18-08-01 16:37:55]头记录已经从十六进制文件sps_device_580.hex中删除。
[INFO @18-08-01 16:37:55]从sps_device_580.hex文件读取17672字节。
[INFO @18-08-01 16:38:09]添加引导头后的图像大小为:17992
[INFO @18-08-01 16:38:09]开始刻录地址为0x00000的17992字节的数据。
[ERROR @18-08-01 16:38:09]在地址20000000上写字节失败。
[ERROR @18-08-01 16:38:09]内存刻录失败。

提前谢谢你,
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

您已经在闪存中编写了一个固件映像,这意味着ROM引导加载程序将在设备启动后立即找到并执行该映像。重置设备只给你一个非常短的窗口来“捕获”带有JTAG的设备。如果你移除连接到闪光灯的一个跳线(开发套件J4/J5的引脚23-24将切断闪光灯的电源),重置目标,按“连接”,然后再次放置跳线,你就可以解决这个问题。在这一点上,flash加载器图像将加载,你可以再次擦除和编程的闪光。从日志中显示,您在试图对其编程之前忘记了擦除闪存。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好!MHv_Dialog !

你好!MHv_Dialog !

这是智能片段的日志

一切都是正确的连接读取,但当我点击擦除,我有以下日志从smartsnipets

[INFO SPI Flash @18-08-01 20:34:24]找到ID为0x0BB11477的SWD-DP
[INFO SPI Flash @18-08-01 20:34:24] FPUnit: 4个代码(BP)插槽和0个文字插槽
[INFO SPI Flash @18-08-01 20:34:24]发现Cortex-M0 r0p0, Little endian。
[INFO SPI Flash @18-08-01 20:34:24]固件文件C:\DiaSemi\SmartSnippetsStudio\Toolbox\common_resources\jtag_programmer.bin已被选择下载。
[INFO SPI Flash @18-08-01 20:34:24]成功下载固件文件到板。
[INFO SPI Flash @18-08-01 20:34:25]成功配置SPI Flash端口和引脚。
[INFO SPI Flash @18-08-01 20:34:28]开始从内存中读取32768字节。
[INFO SPI Flash @18-08-01 20:34:29]读取已完成。读取32768字节。
[INFO SPI Flash @18-08-01 20:34:38] SPI内存擦除完成成功。
[INFO SPI Flash @18-08-01 20:34:38]读取内存以验证其内容后擦除…
[ERROR SPI Flash @18-08-01 20:34:38]验证地址0x00失败
[INFO SPI Flash @18-08-01 20:34:38]读取内存刷新其内容....
[INFO SPI Flash @18-08-01 20:34:39]读取已完成。读取32768字节。

提前
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

这是很好的数据。我们现在可以得出结论,您的外部处理器正在干扰闪存读取操作。这可能是由于P0_5引脚(来自处理器和MISO的TX在闪存和DA1458x之间)的混合使用造成的。外部处理器UART的输出驱动程序过于强大,以至于闪存的MISO无法自由切换。你可以用示波器来证实这一点。

解决此问题的首选方法是打开DSPS项目并将UART RX引脚从P0_5更改为您选择的其他引脚。或者,您可以尝试在外部处理器的TX(例如1kOhm)和P0_5头引脚之间放置一个串联电阻。这不是一个很好的解决方案,因为它给信号增加了负载,增加了功耗,但可能是一个快速前进的方法。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好MHv_Dialog ! !

你好MHv_Dialog ! !
感谢您的快速回复!!

正如您可以从所附的连接图中看到的那样
uart引脚p0_5 RX碰巧引脚p1_3以避免与spi冲突。

这个错误与uart连接有关吗?

提前,
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

我很困惑。你刚才提供的原理图是什么?J7的目的是什么?

到目前为止,我的理解是,您正在以以下方式使用DA14580 BASIC开发工具包:

  1. DSPS固件加载在开发工具包的外部闪存中(跳线也相应设置)。在这一点上,您可以成功地将固件加载到flash中。
  2. 您有一个带有其他微控制器的自定义板,您希望该控制器通过UART与DA145850接口。你没有将开发工具包上的flash连接到你的自定义控制器板;只有UART。
  3. 您正在使用的DSPS固件在构建时禁用了HW流控制,并且UART的RX被定义为端口P1_3

你的示意图2018 - 08 - 01 - _22.38.26.pdf不符合我的理解,所以我需要你详细说明你想要达到的目标。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好! !!

你好! !!

1)我们已经从dsps android应用程序传输数据到我们的定制微控制器。使用devkit spi flash和连接uart引脚到我们的微控制器。
数据传输成功。

现在我们已经设计了我们的电路板,我们的atmel处理器和对话框da14580在一起,闪存spi从启动dsp。

我们想要以某种方式刷新spi内存。

这是如何实现闪光的spi,是在我们的自定义板?

有可能用开发工具包完成吗?
还是程序员之类的?

提前谢谢你
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

谢谢你的解释。我认为你现在想做的很清楚了;o)

当然可以使用DA14580 BASIC套件和SmartSnippets来编程您的定制板。请参阅养育指南(https://support.dialog-semiconductor.com/system/files/resources/Training_07_DA1458x_prototype_bring_up_guide-v1.2.pdf(见第23页)-只需要四个连接,GND, SW_CLK, SW_DIO和可选的RST。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好! !MHv_Dialog !

你好! !MHv_Dialog !
感谢您的快速回复!!

非常乐于助人!
谢谢,我会很快尝试,我会让你保持联系!

现在我已经明白了miso-mosi和其他销
不需要在编程过程中连接,但必须在启动过程中连接spi flash,当flash完成时,

在闪烁过程中,只有你上面说的四个引脚。

提前,
腻过

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好!MHv_Dialog !

你好!MHv_Dialog !

今天我们测试了推荐的连接,并且成功了!
我们的spi内存已经擦除和验证成功,我们已经埋葬内存!
但是我们收到了一个验证错误
在附上的PDF文件中播种的智能nipets日志中

董事会广播了这个名字,我们如预期的那样成功地接通了!
我们还没有测试传输数据,但看起来很好。

但是为什么我们在闪过记忆之后会出现这种veryfication错误呢?
事先,
腻过

MHv_Dialog
离线
最后看到:4个月6天前
工作人员
加入:15 2013-12-06
嗨腻过,

嗨腻过,

这真是个好消息。

验证错误可能是由于JTAG连线太长引起的。你应该限制长度不超过2-3英寸,以确保正确的传输。

/ MHv

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好MHv_Dialog !

你好MHv_Dialog !

极好的!感谢您的快速回复!
我们已经限制了JTAG电线的长度,现在我们成功了!!非常成功地烧录了闪存!

在KEIL的DSPS代码中,我们如何启用da14580的深度睡眠模式?

提前谢谢你,
腻过

PM_Dialog
离线
最后看到:13小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

很高兴您能够通过JTAG燃烧SPI flash。DSPS参考设计不支持深度睡眠模式。请查看DSPS用户手册(UM-B-038),您会发现只支持扩展睡眠模式。如果要更改睡眠模式,则应该配置app_default_sleep_mode值,并将其定义为user_config.h头文件。请检查下面的代码片段:

  • 扩展睡眠模式配置

const static sleep_state_t app_default_sleep_mode = ARCH_EXT_SLEEP_ON

  • 主动模式配置

const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF

谢谢,PM_Dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

感谢您的快速回复!

我已经看到,在SDK DSPS项目的user_config文件中有在DSPS项目上启用深度睡眠模式的功能,也在config_basic文件中,正如您可以在附件PDF文件中看到的那样。
如果我在user_config文件中选择ARCH_DEEP_SLEEP_ON,并在config_basic文件中定义CFG_MEM_MAP_DEEP_SLEEP选项,该设置是否启用了dsp项目上的深度睡眠?
非常感谢你的帮助和你的时间!

提前,
腻过

附件:
PM_Dialog
离线
最后看到:13小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

正如我在上一篇文章中已经提到的,DSPS应用程序代码不支持深度睡眠模式,因此CFG_MEM_MAP_DEEP_SLEEP宏不启用深度睡眠。

谢谢,PM_Dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好,PM_Dialog !

你好,PM_Dialog !

感谢您的快速回复!

在DSPS项目的扩展深度睡眠模式下
设备在休眠状态下的功耗是多少?在连接模式下的功耗是多少?

非常感谢您的宝贵时间和帮助!

在此之前,
腻过

PM_Dialog
离线
最后看到:13小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

在主动模式下的电流消耗约为0.6mA,在延长睡眠模式下约为1.4uA。

谢谢,PM_Dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好,PM_Dialog !

你好,PM_Dialog !

这是个好消息!!极好的!谢谢你的快速回复!

1)我们也想在spi flash过程中改变每个设备的蓝牙名称,这是可能的吗?

2)蓝牙地址UUID必须唯一?或者我们可以使用默认的UUID为所有生产的设备提供不同的广播名称?

提前谢谢你,
腻过

PM_Dialog
离线
最后看到:13小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

  1. 要更改设备名称,请在user_config.h头文件中配置USER_DEVICE_NAME定义。
  2. 每个设备都应该有自己的BD地址。您可以使用公共BD地址或静态BD地址,但在这两种情况下,每个地址都应该遵循适当的格式。

如果你有任何其他问题,请在论坛上创建一个新的帖子,因为这个帖子与你上一个问题无关。如果你不知道你如何能够创建一个新的职位,请让我知道,我会为您提供适当的步骤

谢谢,PM_Dialog

腻过
离线
最后看到:5个月前
加入:2017-05-09 20:27
你好PM_Dialog !

你好PM_Dialog !

是的,如果你能指导我在论坛上开一个新的帖子就太感激了!

我一直在帮助和反馈部分,对吗?

提前谢谢你,
腻过

PM_Dialog
离线
最后看到:13小时13分钟前
工作人员
加入:2018-02-08 11:03
嗨腻过,

嗨腻过,

  1. 在这个链接中访问我们的论坛页面:https://support.dialog-semiconductor.com/forum
  2. 请登录,展开“蓝牙”选项卡,您将看到对话框Smartbond蓝牙低能耗(H/W, S/W, Tools)论坛。
  3. 然后,进入对话框“Smartbond蓝牙低能耗-软件”论坛。
  4. 点击“新主题”,最后用合适的关键词创建你的帖子。

根据我所描述的步骤,您不应该出现在帮助和反馈部分。你会在附件中发现上述步骤的一些截图。

谢谢,PM_Dialog