SPI启动和引脚重新映射/ DA14580和DA14585兼容性

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
18个职位/ 0个新职位
最后一篇
本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
SPI启动和引脚重新映射/ DA14580和DA14585兼容性

亲爱的对话支持团队,
我使用DA14580与SPI,我的。hex是大约40KB,所以我必须使用外部闪存。
但是程序在这种情况下不起作用,如果我测试程序不使用SPI,它可以工作。
所以我有以下问题:
1)我可以使用SPI外部flash,启动后也可以使用SPI吗?
2)如果我可以在引导后使用SPI,如何重新映射引脚?
3)如果我使用有足够的OTP空间的DA14585,我可以随机重新映射引脚/或任何规则来重新映射引脚吗?
4)我现在使用的是DA14580, DA14585和DA14580在软件和硬件上是否兼容?

非常感谢你的帮助。
便雅悯

设备:
PM_DIALOG.
离线
最后一次露面:1天22小时前
职员
加入:2018-02-08 11:03
嗨BenjaminDu,

嗨BenjaminDu,

DA14580从标准大头针靴子。请查看AN-B-001文件中的“表1:外部设备引脚分配和启动顺序”。您可以从我们的支持门户下载此文档。为了方便,你也可以点击下面的链接。

https://support.dialog-seminile.com/resource/b-001-da14580581583-booting-serial-interfaces.

在启动过程之后,您就可以为您的应用程序代码使用外部flash了。你能解释一下“remap”是什么意思吗?你是想从不同的引脚从standers引脚启动,还是说你想在启动过程后改变SPI flash引脚?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
我的意思是在启动后,我的

我的意思是引导后,我的应用程序想要使用SPI进行其他目的(不到R / W Flash),例如,使用SPI显示LCD。如果我使用jlink,它可以工作,但如果我使用闪存,它就没有。

关于da14585上面的问题你也能帮我吗?

谢谢

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

嗨BenjaminDu,

对不起,但我并没有完全明白你的意思如果你使用jlink它正在运作,但如果你使用闪存它不起作用。我需要一些澄清,请尝试理解您想要完成的事情。如果我理解正确,你想用固件刻录SPI闪光灯,从那里启动,然后启动后你想重拍与闪存连接的相同的SPI GPIO,以便其他用法?如果我不正确理解,请让我知道并纠正我。

根据数据表,DA14580具有32KB OTP,DA14585具有64KB OTP。有关任何添加信息,请参阅适当的数据表。我无法理解你的意思是完全正确的“我可以随机重拍/或​​任何规则来重新映射引脚”。DA14580和DA14585具有不同的硬件,每个硬件运行不同的SDK。最新版本的DA14580 / 1/2 / 3的SDK是5.0.4版,最新版本的DA14585 / 6 SDK是6.0.10版。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话支持团队,

亲爱的对话支持团队,

感谢您在某种程度上在某种程度上在了解我的问题方面是正确的,我会更清楚地表达我的问题。

是的,我想用我的固件刻录SPI闪光灯,从那里启动。
启动后,我需要使用SPI(其他gpio,用于CS)来控制其他组件(例如LCD)。

当我使用JLink时(直接从Keil运行,固件不刻录到flash上),SPI控制的LCD工作良好。
但是如果我将固件刻录到flash上并从那里启动,SPI控制的LCD不能工作。(我还测试了其他程序,没有使用SPI,刻录到flash,从flash启动程序工作)

希望我清楚地表达我的问题,希望你能给我一个原因。

非常感谢。
便雅悯

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

嗨BenjaminDu,

您可以在从SPI闪光灯启动时探测SPI信号,LCD不起作用,然后通过结果让我知道?您提到在启动后,您希望使用不同的GPIO来控制其他组件。你配置了吗?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,

对不起,我无法探测信号。

附带的是gpio的配置,有了配置,它在调试时工作良好,如果烧成flash,它就停止工作。
你能帮我看一下我的配置吗?

我有一个分析,
由于我的固件超过42KB,在启动后,系统仍需要与Flash进行通信,这可能导致闪存SPI和SPI的界限。

非常感谢

便雅悯

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

嗨BenjaminDu,

如果你能探测SPI信号,这将是非常有用的,因为我们可以提取关于你的问题的进一步信息。顺便说一下,你不能探测你的信号,这没有问题。您的配置似乎是正确的。如果我能从你提到的正确理解,如果你的固件小于42KB,你的应用程序工作正确?

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,

我会设法探测信号,稍后再回来。

我的固件小于42kb,它在闪存中运行良好,但固件没有spi。
我想知道它是如何运作的,如果系统SRAM仅为42KB,而固件则不仅仅是其中的?

非常感谢您的快速答案。

便雅悯

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

嗨BenjaminDu,

请问你的固件没有SPI是什么意思?那么,如果您将固件下载到外部SPI flash并从那里启动,这是否正确工作?另外,你能确保你的固件超过42KB吗?如果是,很奇怪的是,当您将其存储到SysRAM时,它能正确地工作。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,
没有SPI意味着应用程序不使用SPI,但它有连接到flash的SPI,让我们忘记它,因为我有新的创建,请参见以下。
我用SPI测试了另一个示例(我已经将SPI连接到flash,也连接到其他组件),这个示例的固件是37KB,从flash启动时它工作。

那么如果固件超过42KB, DA14580就不能工作了?
如果固件超过42KB,我该怎么办?使用da14580的任何方法?或者我必须选择像DA14585这样的其他芯片?

非常感谢

便雅悯

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

嗨BenjaminDu,

由于您使用的是DA14580,如果固件大小超过42KB,则希望能够存储到SystemRAM中。请检查DA14580 datasheet,你会发现系统RAM是42KB。由于您有外部SPI Flash,您可以将固件存储在那里并从SPI Flash启动。为了刻录SPI Flash,您应该使用Smart Spippets Toolbox,您可以从我们的支持门户下载它。如果您希望将固件下载到Systemram中,您可以移动Inti DA14585。根据DA14585数据表,有96 kB数据/保留Systemram。如果您没有下载智能代码段工具箱,则可以从DA14580支持页面的“软件和工具”选项卡中找到它。还。我强烈推荐你看看UM-B-083 SmartSnippets工具箱用户手册来检查如何使用工具箱烧掉SPI Flash。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,

在之前我说过我可以从flash启动,我已经知道如何将固件刻录到flash。

我还有一个问题,如果我把固件刻录到flash中,程序可以直接运行而不被载入SystemRAM吗?(抱歉,我对芯片知之甚少,我认为引导是加载固件到SystemRAM并在那里运行)。
我问这个问题的原因是,如果我烧固件超过42KB,带有SPI的程序不能工作,如果我烧固件小于42KB,那么带有SPI的程序可以工作。

谢谢

便雅悯

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

嗨BenjaminDu,

我强烈建议你看一下AN-B-001文件,以便了解DA14580是如何启动的。我已经提供了链接供你下载请查看图2:DA14581引导序列,您将看到从外部设备引导序列之后,代码被下载到SysRAM。你的程序不工作的原因是为什么你不能下载固件到SysRAM超过42KB。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,

我读过AN-B-001,我找不到DA14580上可以运行多大固件的直接信息。
我对你之前回答的2感到困惑。
1)因为你使用的是DA14580,如果固件大小超过42KB,你想要能够存储到系统ram。请检查DA14580 datasheet,你会发现系统RAM是42KB。由于您有外部SPI Flash,您可以将固件存储在那里并从SPI Flash启动。
2)你的程序不工作的原因是为什么你不能下载固件到SysRAM超过42KB。

为了避免混淆,你能简单地回答我是或否吗?
如果固件更高为42KB,是否有任何方法可以在DA14580上运行该程序?

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

嗨BenjaminDu,

抱歉给你们造成了误会,我会尽量说得更具体。你不能编写超过42K系统ram的软件。你也不允许使用SYSRAM的所有42K,因为部分RAM被堆栈、交换内存等使用。你不能将超过42K的固件存储到SPI Flash中。请查看图1:AN-B-001 DA14580启动顺序。根据该图,您将看到从SPI Flash引导后,代码被下载到SysRAM中,因此,如果您的代码超过了42K,它将无法装入RAM中。综上所述,由于您正在使用DA14580,您不允许运行超过42K的固件。如果您想要更大的固件,您应该转移到DA14585产品。

谢谢,PM_DIALOG.

本杰德杜
离线
最后一次露面:2个月1周前
加入:2016-03-14 02:38
亲爱的对话框,

亲爱的对话框,

谢谢,现在很清楚。

便雅悯

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

嗨BenjaminDu,

很高兴事情都解决了。如果你认为以上答案中有任何一个是有用的,请在上面注明已接受。

谢谢,PM_DIALOG.