你好MT_dialog,
我们在DA14580开发工具包基础上实现了DSPS项目,采用UART和SPI配置。我们想用我们的微控制器和板上的UART连接引脚来使用DA 14580蓝牙芯片和我们的ATMEL处理器。
如何在DSPS项目中添加我们的代码,在keil项目中添加哪部分代码?还需要做进一步的连接吗?
主要目标是通过uart连接DA14580的dsp和我们的处理器。
提前谢谢你,腻过
嗨腻过,
我不太明白这个问题,据我所知,你想从你的外部MCU发送数据到580,这些数据应该通过蓝牙推送,如果是这样的话,就没有必要更改DSPS代码。DSPS应用程序将从UART端口获取数据,并通过BLE将数据传输到连接的另一端,您所要做的就是通过UART配置和连接您的外部MCU(如果您想使用h/w流控制,则使用RX/TX和RTS/CTS -这是可靠传输UART数据并使580处于扩展睡眠模式的唯一可能方法)。
由于MT_dialog
感谢您的快速回复!!
好的,如果我理解正确的话,DSPS代码在Da14580上,当它将通过smartsnippets的JTAG进行flash时,我唯一需要配置的是我的外部处理器(MCU)中的代码。
当然,还有一个数据接收检查函数,它将检查通过UART从DA14580接收的数据是否正确,并继续执行我们想要实现的结果。
如果我说错了,请指正
任何进一步的建议都非常感激。
是的,DSPS是一个独立的应用程序,无论在UART端口上显示什么数据,它都会在连接的另一端传输它们(当然你需要一个适当的客户端支持DSPS,这是一个Dialog专用配置文件-像DSPS Android / Ios应用程序或另一个580运行DSPS的主机应用程序)。
我不太清楚你说的“收账功能”是什么意思,你能澄清一下吗?
你好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设置扩展睡眠模式来传输数据?
提前谢谢你,腻过。
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
我已经将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模式
我该如何解决这个问题?
从你附加的日志中,我假设你正在使用智能片段工具来在你的板上刻录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跳线是否正确放置。
你好,先生。
我已经完成了上述步骤,我已经解决了通过更改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中使用调试线模式时,没有任何东西到达另一端。
提前感谢你的帮助,非常感激!腻过
1)我很抱歉但是我很困惑,SDK软件环境,580年的使用,如果您使用的是需求方的参考设计,与一位年长的SDK构建,这意味着改变你适用于智能片段工作室不会改变这一事实SDK是一个老SDK和禁用JTAG当操作在睡眠模式因此如果你想烧你闪你必须总是按下重置按钮。对于数据丢失,需求方是测试参考设计和数据丢失不是观察如果设备是适当的设置,如果你正面临着这样的问题尝试检查设备与PC机,如果一切都好,这意味着有问题的另一边设置(外部单片机)和最可能的硬件流控制针(580年睡眠模式需要那些针为了信号etxernal单片机当它准备接收数据)。
2)关于启用传输,我真的不明白这个问题,DSPS连接时,无论放在UART上的是什么,它都被传输到连接的设备上,你只需要连接所有四根UART线RX/TX/RTS/CTS,当然你必须正确配置外部MCU。
你好先生,
你能提供我下载带有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,但如何实现呢?正确项目包的任何步骤或链接都非常有用我想感谢你的快速回复。
如前所述,当前版本的DSPS是基于之前的SDK版本构建的,最新的SDK上没有可用的版本,为了做到这一点,你需要将现有版本的DSPS移植到新的SDK上,这需要花费时间。我认为你误解了SDK的含义,它不是你可以放在keil中,然后用一个新的SDK构建一个项目,你必须完全将代码从一个SDK移植到另一个。另外,如果你担心的是你不能在当前DSPS版本上不先点击重置就刷新设备,你可以搜索这条指令SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0);并将其转换为1,以便始终启用调试器。
谢谢你的快速回复,
1)当我们最终放置da14580模块时,有必要将spi引脚连接到具有外部处理器的板上吗?
2)我在代码中搜索了启用臭虫模式,我看到它已经被设置为1
3)我们将在接下来的几天里连接我们外部处理器上的UART tx和Rx引脚,也连接CTS RTS引脚,并使用android DSPS应用程序传输数据,我们希望有一些成功并接收数据
对上述步骤的任何进一步修正都是非常感谢的。我们也找到这个指南作为参考
https://support.dialog semiconductor.com/resource/b - 001 da14580 -引导- . .。
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,这个例子是为盒子,它应该是只要你有适当的连接。
我们已经连接了tx Rx和CTS RTS引脚,但我们还没有从另一边收到任何数据
我们怎样才能成功?我们的代码似乎没问题,还有什么可以尝试的吗?
我不能弄清楚spi引脚是否是nesaserry,因为如果我只使用UART引脚,牙根本不广播
任何建议都非常感谢
提前谢谢你腻过
关于SPI引脚,如上所述,只有在580中没有fw时才能使用DSPS上的SPI连接,所以当你上电时,设备中显然没有fw运行(只要你处于开发模式并且不使用OTP),所以你将需要SPI连接以便580从外部闪存下载图像。所以显然你不通过keil下载图像,而当外部处理器正在运行时,但你正在启动设备,你从SPI下载fw。DSPS正在使用580使用的一些SPI线作为UART线启动,所以我假设你已经将这些线连接到SPI和FTDI的UART TX/RX。
为了调试这个问题,你可以尝试:
正如前面提到的,参考设计是开箱即用的,所以如果另一方的实现是正确的,没有线路问题(连接等),你应该能够实现通信。
您好,我的对话提前感谢您的快速回复!
我们已经尝试了上面的设置,我们已经禁用了睡眠模式,spi引脚配置在不同的端口,而不是UART端口我们已经测试了我们的程序,是在我们的atmel处理器和工作正常但是当我们连接UART引脚时,没有任何东西被转移到另一边。
同时也尝试了软硬件控制请问我们能做些什么来解决这个问题
我们将在你的产品上投资对话框14580提前谢谢你腻过
让我更清楚地说明一些事情,因为我认为你遗漏了一些东西:
亲爱的先生女士你好!我们已经实现了从对方接收数据而不丢失数据!
但是,当我们尝试在我们的板上使用开发工具包(如程序员)使用智能代码片段闪da 14580时,我们在智能代码片段上收到这个错误。(附图)
我们使用了对话中推荐的闪存。你能提供一种正确的方法来检查我们板上的da14580吗?
你用哪个接口下载固件,UART还是JTAG?
顺便说一句,我发现P1_3被用作BT_TX,这是uart接口吗?如果gpio数量足够,我们不建议客户使用P1_2和P1_3。请参阅对话框应用说明AN-B-018第3.2章。
致以最亲切的问候
你好!感谢您的快速回复!
我们从DA14580DEVKIT-B BASIC到定制板的连接是:
Spi_miso = p0_5Spi_mosi = p06Po_3 = spi_csP0_0 = spi_clT_tms = swdioT_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字节。
我看看能不能帮上忙。
你上面发布的原理图是正确的,除了你为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)
最后,把日志发给我看。
/ MHv
你好,我们已经从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]内存刻录失败。
您已经在闪存中编写了一个固件映像,这意味着ROM引导加载程序将在设备启动后立即找到并执行该映像。重置设备只给你一个非常短的窗口来“捕获”带有JTAG的设备。如果你移除连接到闪光灯的一个跳线(开发套件J4/J5的引脚23-24将切断闪光灯的电源),重置目标,按“连接”,然后再次放置跳线,你就可以解决这个问题。在这一点上,flash加载器图像将加载,你可以再次擦除和编程的闪光。从日志中显示,您在试图对其编程之前忘记了擦除闪存。
你好!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字节。
提前腻过
这是很好的数据。我们现在可以得出结论,您的外部处理器正在干扰闪存读取操作。这可能是由于P0_5引脚(来自处理器和MISO的TX在闪存和DA1458x之间)的混合使用造成的。外部处理器UART的输出驱动程序过于强大,以至于闪存的MISO无法自由切换。你可以用示波器来证实这一点。
解决此问题的首选方法是打开DSPS项目并将UART RX引脚从P0_5更改为您选择的其他引脚。或者,您可以尝试在外部处理器的TX(例如1kOhm)和P0_5头引脚之间放置一个串联电阻。这不是一个很好的解决方案,因为它给信号增加了负载,增加了功耗,但可能是一个快速前进的方法。
你好MHv_Dialog ! !感谢您的快速回复!!
正如您可以从所附的连接图中看到的那样uart引脚p0_5 RX碰巧引脚p1_3以避免与spi冲突。
这个错误与uart连接有关吗?
提前,腻过
我很困惑。你刚才提供的原理图是什么?J7的目的是什么?
到目前为止,我的理解是,您正在以以下方式使用DA14580 BASIC开发工具包:
你的示意图2018 - 08 - 01 - _22.38.26.pdf不符合我的理解,所以我需要你详细说明你想要达到的目标。
你好! !!
1)我们已经从dsps android应用程序传输数据到我们的定制微控制器。使用devkit spi flash和连接uart引脚到我们的微控制器。数据传输成功。
现在我们已经设计了我们的电路板,我们的atmel处理器和对话框da14580在一起,闪存spi从启动dsp。
我们想要以某种方式刷新spi内存。
这是如何实现闪光的spi,是在我们的自定义板?
有可能用开发工具包完成吗?还是程序员之类的?
谢谢你的解释。我认为你现在想做的很清楚了;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_Dialog !感谢您的快速回复!!
非常乐于助人!谢谢,我会很快尝试,我会让你保持联系!
现在我已经明白了miso-mosi和其他销不需要在编程过程中连接,但必须在启动过程中连接spi flash,当flash完成时,
在闪烁过程中,只有你上面说的四个引脚。
今天我们测试了推荐的连接,并且成功了!我们的spi内存已经擦除和验证成功,我们已经埋葬内存!但是我们收到了一个验证错误在附上的PDF文件中播种的智能nipets日志中
董事会广播了这个名字,我们如预期的那样成功地接通了!我们还没有测试传输数据,但看起来很好。
但是为什么我们在闪过记忆之后会出现这种veryfication错误呢?事先,腻过
这真是个好消息。
验证错误可能是由于JTAG连线太长引起的。你应该限制长度不超过2-3英寸,以确保正确的传输。
你好MHv_Dialog !
极好的!感谢您的快速回复!我们已经限制了JTAG电线的长度,现在我们成功了!!非常成功地烧录了闪存!
在KEIL的DSPS代码中,我们如何启用da14580的深度睡眠模式?
很高兴您能够通过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
你好PM_Dialog !
我已经看到,在SDK DSPS项目的user_config文件中有在DSPS项目上启用深度睡眠模式的功能,也在config_basic文件中,正如您可以在附件PDF文件中看到的那样。如果我在user_config文件中选择ARCH_DEEP_SLEEP_ON,并在config_basic文件中定义CFG_MEM_MAP_DEEP_SLEEP选项,该设置是否启用了dsp项目上的深度睡眠?非常感谢你的帮助和你的时间!
正如我在上一篇文章中已经提到的,DSPS应用程序代码不支持深度睡眠模式,因此CFG_MEM_MAP_DEEP_SLEEP宏不启用深度睡眠。
你好,PM_Dialog !
在DSPS项目的扩展深度睡眠模式下设备在休眠状态下的功耗是多少?在连接模式下的功耗是多少?
非常感谢您的宝贵时间和帮助!
在此之前,腻过
在主动模式下的电流消耗约为0.6mA,在延长睡眠模式下约为1.4uA。
这是个好消息!!极好的!谢谢你的快速回复!
1)我们也想在spi flash过程中改变每个设备的蓝牙名称,这是可能的吗?
2)蓝牙地址UUID必须唯一?或者我们可以使用默认的UUID为所有生产的设备提供不同的广播名称?
如果你有任何其他问题,请在论坛上创建一个新的帖子,因为这个帖子与你上一个问题无关。如果你不知道你如何能够创建一个新的职位,请让我知道,我会为您提供适当的步骤
是的,如果你能指导我在论坛上开一个新的帖子就太感激了!
我一直在帮助和反馈部分,对吗?
根据我所描述的步骤,您不应该出现在帮助和反馈部分。你会在附件中发现上述步骤的一些截图。
嗨腻过,
我不太明白这个问题,据我所知,你想从你的外部MCU发送数据到580,这些数据应该通过蓝牙推送,如果是这样的话,就没有必要更改DSPS代码。DSPS应用程序将从UART端口获取数据,并通过BLE将数据传输到连接的另一端,您所要做的就是通过UART配置和连接您的外部MCU(如果您想使用h/w流控制,则使用RX/TX和RTS/CTS -这是可靠传输UART数据并使580处于扩展睡眠模式的唯一可能方法)。
由于MT_dialog
感谢您的快速回复!!
好的,如果我理解正确的话,DSPS代码在Da14580上,当它将通过smartsnippets的JTAG进行flash时,我唯一需要配置的是我的外部处理器(MCU)中的代码。
当然,还有一个数据接收检查函数,它将检查通过UART从DA14580接收的数据是否正确,并继续执行我们想要实现的结果。
如果我说错了,请指正
任何进一步的建议都非常感激。
提前谢谢你,
腻过
嗨腻过,
是的,DSPS是一个独立的应用程序,无论在UART端口上显示什么数据,它都会在连接的另一端传输它们(当然你需要一个适当的客户端支持DSPS,这是一个Dialog专用配置文件-像DSPS Android / Ios应用程序或另一个580运行DSPS的主机应用程序)。
我不太清楚你说的“收账功能”是什么意思,你能澄清一下吗?
由于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设置扩展睡眠模式来传输数据?
提前谢谢你,
腻过。
嗨腻过,
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
亲爱的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模式
我该如何解决这个问题?
提前谢谢你,
腻过
嗨腻过,
从你附加的日志中,我假设你正在使用智能片段工具来在你的板上刻录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
你好,先生。
我已经完成了上述步骤,我已经解决了通过更改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中使用调试线模式时,没有任何东西到达另一端。
提前感谢你的帮助,非常感激!
腻过
嗨腻过,
1)我很抱歉但是我很困惑,SDK软件环境,580年的使用,如果您使用的是需求方的参考设计,与一位年长的SDK构建,这意味着改变你适用于智能片段工作室不会改变这一事实SDK是一个老SDK和禁用JTAG当操作在睡眠模式因此如果你想烧你闪你必须总是按下重置按钮。对于数据丢失,需求方是测试参考设计和数据丢失不是观察如果设备是适当的设置,如果你正面临着这样的问题尝试检查设备与PC机,如果一切都好,这意味着有问题的另一边设置(外部单片机)和最可能的硬件流控制针(580年睡眠模式需要那些针为了信号etxernal单片机当它准备接收数据)。
2)关于启用传输,我真的不明白这个问题,DSPS连接时,无论放在UART上的是什么,它都被传输到连接的设备上,你只需要连接所有四根UART线RX/TX/RTS/CTS,当然你必须正确配置外部MCU。
由于MT_dialog
你好先生,
你能提供我下载带有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,但如何实现呢?正确项目包的任何步骤或链接都非常有用
我想感谢你的快速回复。
提前谢谢你,
腻过
嗨腻过,
如前所述,当前版本的DSPS是基于之前的SDK版本构建的,最新的SDK上没有可用的版本,为了做到这一点,你需要将现有版本的DSPS移植到新的SDK上,这需要花费时间。我认为你误解了SDK的含义,它不是你可以放在keil中,然后用一个新的SDK构建一个项目,你必须完全将代码从一个SDK移植到另一个。另外,如果你担心的是你不能在当前DSPS版本上不先点击重置就刷新设备,你可以搜索这条指令SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0);并将其转换为1,以便始终启用调试器。
由于MT_dialog
谢谢你的快速回复,
1)当我们最终放置da14580模块时,有必要将spi引脚连接到具有外部处理器的板上吗?
2)我在代码中搜索了启用臭虫模式,我看到它已经被设置为1
3)我们将在接下来的几天里连接我们外部处理器上的UART tx和Rx引脚,也连接CTS RTS引脚,并使用android DSPS应用程序传输数据,我们希望有一些成功并接收数据
对上述步骤的任何进一步修正都是非常感谢的。
我们也找到这个指南作为参考
https://support.dialog semiconductor.com/resource/b - 001 da14580 -引导- . .。
提前谢谢你,
腻过
嗨腻过,
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
感谢您的快速回复!
我们已经连接了tx Rx和CTS RTS引脚,但我们还没有从另一边收到任何数据
我们怎样才能成功?
我们的代码似乎没问题,还有什么可以尝试的吗?
我不能弄清楚spi引脚是否是nesaserry,因为如果我只使用UART引脚,牙根本不广播
任何建议都非常感谢
提前谢谢你
腻过
嗨腻过,
关于SPI引脚,如上所述,只有在580中没有fw时才能使用DSPS上的SPI连接,所以当你上电时,设备中显然没有fw运行(只要你处于开发模式并且不使用OTP),所以你将需要SPI连接以便580从外部闪存下载图像。所以显然你不通过keil下载图像,而当外部处理器正在运行时,但你正在启动设备,你从SPI下载fw。DSPS正在使用580使用的一些SPI线作为UART线启动,所以我假设你已经将这些线连接到SPI和FTDI的UART TX/RX。
为了调试这个问题,你可以尝试:
正如前面提到的,参考设计是开箱即用的,所以如果另一方的实现是正确的,没有线路问题(连接等),你应该能够实现通信。
由于MT_dialog
您好,我的对话提前感谢您的快速回复!
我们已经尝试了上面的设置,我们已经禁用了睡眠模式,spi引脚配置在不同的端口,而不是UART端口
我们已经测试了我们的程序,是在我们的atmel处理器和工作正常
但是当我们连接UART引脚时,没有任何东西被转移到另一边。
同时也尝试了软硬件控制
请问我们能做些什么来解决这个问题
我们将在你的产品上投资
对话框14580
提前谢谢你
腻过
嗨腻过,
让我更清楚地说明一些事情,因为我认为你遗漏了一些东西:
由于MT_dialog
亲爱的先生女士你好!
我们已经实现了从对方接收数据而不丢失数据!
但是,当我们尝试在我们的板上使用开发工具包(如程序员)使用智能代码片段闪da 14580时,我们在智能代码片段上收到这个错误。(附图)
我们使用了对话中推荐的闪存。
你能提供一种正确的方法来检查我们板上的da14580吗?
提前谢谢你,
腻过
嗨腻过,
你用哪个接口下载固件,UART还是JTAG?
顺便说一句,我发现P1_3被用作BT_TX,这是uart接口吗?如果gpio数量足够,我们不建议客户使用P1_2和P1_3。
请参阅对话框应用说明AN-B-018第3.2章。
致以最亲切的问候
你好!
感谢您的快速回复!
我们从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字节。
提前谢谢你,
腻过
嗨腻过,
我看看能不能帮上忙。
你上面发布的原理图是正确的,除了你为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)
最后,把日志发给我看。
/ MHv
你好,我们已经从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]内存刻录失败。
提前谢谢你,
腻过
嗨腻过,
您已经在闪存中编写了一个固件映像,这意味着ROM引导加载程序将在设备启动后立即找到并执行该映像。重置设备只给你一个非常短的窗口来“捕获”带有JTAG的设备。如果你移除连接到闪光灯的一个跳线(开发套件J4/J5的引脚23-24将切断闪光灯的电源),重置目标,按“连接”,然后再次放置跳线,你就可以解决这个问题。在这一点上,flash加载器图像将加载,你可以再次擦除和编程的闪光。从日志中显示,您在试图对其编程之前忘记了擦除闪存。
/ MHv
你好!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字节。
提前
腻过
嗨腻过,
这是很好的数据。我们现在可以得出结论,您的外部处理器正在干扰闪存读取操作。这可能是由于P0_5引脚(来自处理器和MISO的TX在闪存和DA1458x之间)的混合使用造成的。外部处理器UART的输出驱动程序过于强大,以至于闪存的MISO无法自由切换。你可以用示波器来证实这一点。
解决此问题的首选方法是打开DSPS项目并将UART RX引脚从P0_5更改为您选择的其他引脚。或者,您可以尝试在外部处理器的TX(例如1kOhm)和P0_5头引脚之间放置一个串联电阻。这不是一个很好的解决方案,因为它给信号增加了负载,增加了功耗,但可能是一个快速前进的方法。
/ MHv
你好MHv_Dialog ! !
感谢您的快速回复!!
正如您可以从所附的连接图中看到的那样
uart引脚p0_5 RX碰巧引脚p1_3以避免与spi冲突。
这个错误与uart连接有关吗?
提前,
腻过
嗨腻过,
我很困惑。你刚才提供的原理图是什么?J7的目的是什么?
到目前为止,我的理解是,您正在以以下方式使用DA14580 BASIC开发工具包:
你的示意图2018 - 08 - 01 - _22.38.26.pdf不符合我的理解,所以我需要你详细说明你想要达到的目标。
/ MHv
你好! !!
1)我们已经从dsps android应用程序传输数据到我们的定制微控制器。使用devkit spi flash和连接uart引脚到我们的微控制器。
数据传输成功。
现在我们已经设计了我们的电路板,我们的atmel处理器和对话框da14580在一起,闪存spi从启动dsp。
我们想要以某种方式刷新spi内存。
这是如何实现闪光的spi,是在我们的自定义板?
有可能用开发工具包完成吗?
还是程序员之类的?
提前谢谢你
腻过
嗨腻过,
谢谢你的解释。我认为你现在想做的很清楚了;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
你好! !MHv_Dialog !
感谢您的快速回复!!
非常乐于助人!
谢谢,我会很快尝试,我会让你保持联系!
现在我已经明白了miso-mosi和其他销
不需要在编程过程中连接,但必须在启动过程中连接spi flash,当flash完成时,
在闪烁过程中,只有你上面说的四个引脚。
提前,
腻过
你好!MHv_Dialog !
今天我们测试了推荐的连接,并且成功了!
我们的spi内存已经擦除和验证成功,我们已经埋葬内存!
但是我们收到了一个验证错误
在附上的PDF文件中播种的智能nipets日志中
董事会广播了这个名字,我们如预期的那样成功地接通了!
我们还没有测试传输数据,但看起来很好。
但是为什么我们在闪过记忆之后会出现这种veryfication错误呢?
事先,
腻过
嗨腻过,
这真是个好消息。
验证错误可能是由于JTAG连线太长引起的。你应该限制长度不超过2-3英寸,以确保正确的传输。
/ MHv
你好MHv_Dialog !
极好的!感谢您的快速回复!
我们已经限制了JTAG电线的长度,现在我们成功了!!非常成功地烧录了闪存!
在KEIL的DSPS代码中,我们如何启用da14580的深度睡眠模式?
提前谢谢你,
腻过
嗨腻过,
很高兴您能够通过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
你好PM_Dialog !
感谢您的快速回复!
我已经看到,在SDK DSPS项目的user_config文件中有在DSPS项目上启用深度睡眠模式的功能,也在config_basic文件中,正如您可以在附件PDF文件中看到的那样。
如果我在user_config文件中选择ARCH_DEEP_SLEEP_ON,并在config_basic文件中定义CFG_MEM_MAP_DEEP_SLEEP选项,该设置是否启用了dsp项目上的深度睡眠?
非常感谢你的帮助和你的时间!
提前,
腻过
嗨腻过,
正如我在上一篇文章中已经提到的,DSPS应用程序代码不支持深度睡眠模式,因此CFG_MEM_MAP_DEEP_SLEEP宏不启用深度睡眠。
谢谢,PM_Dialog
你好,PM_Dialog !
感谢您的快速回复!
在DSPS项目的扩展深度睡眠模式下
设备在休眠状态下的功耗是多少?在连接模式下的功耗是多少?
非常感谢您的宝贵时间和帮助!
在此之前,
腻过
嗨腻过,
在主动模式下的电流消耗约为0.6mA,在延长睡眠模式下约为1.4uA。
谢谢,PM_Dialog
你好,PM_Dialog !
这是个好消息!!极好的!谢谢你的快速回复!
1)我们也想在spi flash过程中改变每个设备的蓝牙名称,这是可能的吗?
2)蓝牙地址UUID必须唯一?或者我们可以使用默认的UUID为所有生产的设备提供不同的广播名称?
提前谢谢你,
腻过
嗨腻过,
如果你有任何其他问题,请在论坛上创建一个新的帖子,因为这个帖子与你上一个问题无关。如果你不知道你如何能够创建一个新的职位,请让我知道,我会为您提供适当的步骤
谢谢,PM_Dialog
你好PM_Dialog !
是的,如果你能指导我在论坛上开一个新的帖子就太感激了!
我一直在帮助和反馈部分,对吗?
提前谢谢你,
腻过
嗨腻过,
根据我所描述的步骤,您不应该出现在帮助和反馈部分。你会在附件中发现上述步骤的一些截图。
谢谢,PM_Dialog