2年前
SPI启动和引脚Remaping / DA14580&DA14585兼容性
张贴了本杰德杜135分 17回复亲爱的对话支持团队,
我正在使用spi使用da14580,我的.hex大约40kb,所以我必须使用外部闪光灯。
但是程序在这种情况下不起作用,如果我测试程序不使用SPI,它可以工作。
所以我有以下问题:
1)我是否可以使用SPI外部闪光,并在启动后使用SPI?
2)如果我可以在引导后使用SPI,如何重新映射引脚?
3)如果我使用有足够的OTP空间的DA14585,我可以随机重新映射引脚/或任何规则来重新映射引脚吗?
4)现在我正在使用DA14580,DA14585在软件和硬件方面与DA14580兼容吗?
非常感谢你的帮助。
本杰明
2年前
我的意思是引导后,我的应用程序想要使用SPI进行其他目的(不到R / W Flash),例如,使用SPI显示LCD。如果我使用jlink,它可以工作,但如果我使用闪存,它就没有。
你还可以帮助我有关DA14585的上述问题吗?
谢谢
2年前
嗨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年前
亲爱的对话支持团队,
感谢您在某种程度上在某种程度上在了解我的问题方面是正确的,我会更清楚地表达我的问题。
是的,我想用我的固件刻录SPI闪光灯,从那里启动。
启动后,我需要使用SPI(其他GPIO,用于CS)来控制其他组件(例如LCD)。
当我使用jlink时(直接从keil运行,固件未刻录到闪存上),由spi控制的液晶显示器很好。
但是如果我将固件刻录到闪存并从那里启动,则SPI控制的液晶显示器不起作用。(我还在没有使用SPI的情况下测试了其他程序,刻录到Flash,从Flash启动程序工作)
希望我清楚地表达我的问题,希望你能给我一个原因。
非常感谢。
本杰明
2年前
嗨Benjamindu,
您可以在从SPI闪光灯启动时探测SPI信号,LCD不起作用,然后通过结果让我知道?您提到在启动后,您希望使用不同的GPIO来控制其他组件。你配置了吗?
谢谢,PM_DIALOG.
2年前
亲爱的对话框,
对不起,我无法探测信号。
附加是GPIO的配置,通过配置,它在调试时运行良好,如果刻录到闪存中,它会停止工作。
你能帮助看看我的配置吗?
我有一个分析,
由于我的固件超过42KB,在启动后,系统仍需要与Flash进行通信,这可能导致闪存SPI和SPI的界限。
非常感谢
本杰明
附件 | 尺寸 |
---|---|
spi.zip. | 216.89 KB. |
2年前
嗨Benjamindu,
如果您能够探测SPI信号,这将是伟大的,非常有帮助,因为我们可以提取有关您问题的更多信息。顺便说一下,没有问题,你无法探测你的信号。您的配置似乎是正确的。如果我能够从您所提到的正确理解,如果您的固件低于42KB,您的应用程序正常工作?
谢谢,PM_DIALOG.
2年前
亲爱的对话框,
我会设法探测信号并稍后再回来。
我的固件小于42kb,它在闪存中运行良好,但固件没有spi。
我想知道它是如何运作的,如果系统SRAM仅为42KB,而固件则不仅仅是其中的?
非常感谢您的快速答案。
本杰明
2年前
嗨Benjamindu,
你能澄清你的意思,你的固件没有spi吗?所以,如果将固件下载到外部SPI闪存并从那里启动,这项工作是否正确?此外,您是否可以确保您的固件超过42KB?如果是,则将其存放到Sysram时,它是非常奇怪的。
谢谢,PM_DIALOG.
2年前
亲爱的对话框,
没有SPI测量应用程序不使用SPI,但它有SPI连接到Flash,让我们忘记它,因为我有新的创始,请参阅以下内容。
我用SPI测试了另一个样本(我的SPI连接到Flash并连接到其他组件),该样本的固件是37KB,并且它在从闪存启动时工作。
因此,如果固件超过42KB,DA14580无法正常工作?
如果固件超过42KB,我该怎么办?使用da14580的任何方法?或者我必须选择像DA14585这样的其他芯片?
非常感谢
本杰明
2年前
嗨Benjamindu,
由于您使用的是DA14580,如果固件大小超过42KB,则希望能够存储到SystemRAM中。请检查DA14580数据表,您会发现系统RAM是42KB。由于您有外部SPI Flash,您可以将固件存储在那里并从SPI Flash启动。为了刻录SPI Flash,您应该使用Smart Spippets Toolbox,您可以从我们的支持门户下载它。如果您希望将固件下载到Systemram中,您可以移动Inti DA14585。根据DA14585数据表,有96 kB数据/保留Systemram。如果您没有下载智能代码段工具箱,则可以从DA14580支持页面的“软件和工具”选项卡中找到它。还。我强烈推荐你看看UM-B-083 SmartSnippets Toolbox用户手册为了检查如何使用工具箱刻录SPI Flash。
谢谢,PM_DIALOG.
2年前
亲爱的对话框,
在上一个我说我可以从Flash启动,我已经知道如何将固件刻录到闪存中。
我有另一个问题,如果将固件刻录到闪存,程序是否可以直接运行,而不会在Systemram中加载?(对不起我对芯片很少了解,我认为启动正在将固件加载到SystemRam中并在那里运行)。
我提出的原因是,如果我刻录固件超过42KB,则使用SPI的程序不起作用,如果我刻录小于42KB的固件,那么具有SPI的程序。
谢谢
本杰明
2年前
嗨Benjamindu,
我强烈建议您查看AN-B-001文档,以了解DA14580的靴子。我已经为您提供了链接才能下载。请选中图2:DA14581引导顺序,并且您将看到从外部设备启动序列后,将代码下载到SYSRAM。您的程序无法正常工作的原因是为什么您无法将固件下载到Sysram,超过42kb。
谢谢,PM_DIALOG.
2年前
亲爱的对话框,
我读过AN-B-001,我找不到直接信息关于在DA14580上可以运行的大固件。
我对以前的答案中的2次混淆了。
1)由于您使用的是DA14580,如果固件大小超过42KB,则希望能够存储到SystemRam中。请检查DA14580数据表,您会发现系统RAM是42KB。由于您有外部SPI Flash,您可以将固件存储在那里并从SPI Flash启动。
2)您的程序无法正常工作的原因是为什么您无法将固件下载到Sysram的原因,这是超过42kb的原因。
为了避免混淆,你能不能回答我是或否的以下问题?
如果固件更高为42KB,是否有任何方法可以在DA14580上运行该程序?
2年前
嗨Benjamindu,
很抱歉的混乱,我会试着更specific. You can't write software that exceeds the 42K SYSRAM. Also you are not allowed to use all the 42K of the SYSRAM since parts of the RAM are used by the stack, exchanged memory etc. You cannot store your firmware which is more than 42K into the SPI Flash as well. Please check the Figure 1: DA14580 booting sequence from the AN-B-001. According to the diagram, you will see that after booting from the SPI Flash, the code is downloaded into the SysRAM, so if your code exceeds the 42K it would not be fit into the RAM. To sum up, since you are using the DA14580, you are NOT allowed to run a firmware which exceeds the 42K. In case you would like to have bigger firmware, you should move into DA14585 product.
谢谢,PM_DIALOG.
2年前
嗨Benjamindu,
DA14580标准销的靴子。请从AN-B-001文档检查“表1:引脚分配和引导序列”。您可以从我们的支持门户下载此文档。为方便起见,您也可以遵循下面的链接。
https://support.dialog-seminile.com/resource/b-001-da14580581583-booting-serial-interfaces.
在启动过程之后,您可以使用外部闪存以供应用程序代码。您能否澄清你的意思是什么意思,“remap”?您是否想从独立式引脚从不同的引脚启动,或者您的意思是在启动过程后要更改SPI闪存引脚?
谢谢,PM_DIALOG.