Dear Dialog support team,
我正在使用spi使用da14580,我的.hex大约40kb,所以我必须使用外部闪光灯。
But the program doesn't work in this case, if I test a program doesn't use SPI, it works.
So I have the following questions:
1)我是否可以使用SPI外部闪光,并在启动后使用SPI?
2) If I can use SPI after booting, how to remap the pins?
3) If I use DA14585 which has enough OTP space,can I remap the pins randomly/or any rules to remap pins ?
4)现在我正在使用DA14580,DA14585在软件和硬件方面与DA14580兼容吗?
非常感谢for your help.
本杰明
设备:
嗨Benjamindu,
DA14580标准销的靴子。请从AN-B-001文档检查“表1:引脚分配和引导序列”。您可以从我们的支持门户下载此文档。为方便起见,您也可以遵循下面的链接。
https://support.dialog-semiconductor.com/resource/b-001-da14580581583-booting-serial-interfaces
在启动过程之后,您可以使用外部闪存以供应用程序代码。您能否澄清你的意思是什么意思,“remap”?您是否想从独立式引脚从不同的引脚启动,或者您的意思是在启动过程后要更改SPI闪存引脚?
谢谢, PM_Dialog
I mean after booting, my application wants to use spi for other purpose( not to r/w flash), for example, to display lcd using spi. if I use jlink, it works, but if I use flash , it doesn't.
你还可以帮助我有关DA14585的上述问题吗?
谢谢
嗨Benjamindu,
Sorry, but I didn’t completely understand what you mean that if you use JLink it is working but if you use flash it is not working. I need some clarifications on this and please try to understand what you are trying to accomplish. If I understand correctly, you would like to burn the SPI flash with your firmware, booting from there and then after booting you would like to remap the same SPI GPIOs which are connected to the Flash for the other usage? If I don’t understand correctly, please let me know and correct me.
According to the datasheets, the DA14580 has 32KB OTP and the DA14585 has 64KB OTP. Please refer to the appropriate datasheets for any addition information. I am not able to understand what you mean exactly with the “can I remap the pins randomly/or any rules to remap pins”. The DA14580 and DA14585 have different hardware and each of them run different SDK. The latest version of SDK for DA14580/1/2/3 is the version 5.0.4, and the latest version of DA14585/6 SDK is version 6.0.10.
谢谢, PM_Dialog
Dear Dialog support team,
谢谢for your quick response and yes to some extent you are correct in understanding my question, and I will express my question more clearly.
Yes I want to burn the SPI flash with my firmware, booting from there.
启动后,我需要使用SPI(其他GPIO,用于CS)来控制其他组件(例如LCD)。
当我使用jlink时(直接从keil运行,固件未刻录到闪存上),由spi控制的液晶显示器很好。
但是如果我将固件刻录到闪存并从那里启动,则SPI控制的液晶显示器不起作用。(我还在没有使用SPI的情况下测试了其他程序,刻录到Flash,从Flash启动程序工作)
Hope I express my question clearly and hope you can give me the reason.
非常感谢.
本杰明
嗨Benjamindu,
Could you please probe the SPI signals when booting from SPI Flash and the LCD does not work and then let me know with the results? You mentioned that after booting you would like to use different GPIOs to control the other components. Did you configure them?
谢谢, PM_Dialog
亲爱的对话框,
I'm sorry I can't probe the signal.
附加是GPIO的配置,通过配置,它在调试时运行良好,如果刻录到闪存中,它会停止工作。
你能帮助看看我的配置吗?
我有一个分析,
As my firmware is more than 42KB, after booting, system still needs to communicate with flash, this may result in confict with flash SPI and my SPI.
非常感谢
本杰明
嗨Benjamindu,
如果您能够探测SPI信号,这将是伟大的,非常有帮助,因为我们可以提取有关您问题的更多信息。顺便说一下,没有问题,你无法探测你的信号。您的配置似乎是正确的。如果我能够从您所提到的正确理解,如果您的固件低于42KB,您的应用程序正常工作?
谢谢, PM_Dialog
亲爱的对话框,
我会设法探测信号并稍后再回来。
I have a firmware less than 42KB and it works well in flash, but the firmware has no SPI.
I wonder how it works if the System SRAM is only 42KB, while the firmware is more than that?
非常感谢for your quick answer.
本杰明
嗨Benjamindu,
你能澄清你的意思,你的固件没有spi吗?所以,如果将固件下载到外部SPI闪存并从那里启动,这项工作是否正确?此外,您是否可以确保您的固件超过42KB?如果是,则将其存放到Sysram时,它是非常奇怪的。
谢谢, PM_Dialog
亲爱的对话框,
没有SPI测量应用程序不使用SPI,但它有SPI连接到Flash,让我们忘记它,因为我有新的创始,请参阅以下内容。
我测试了另一个公司mple with SPI(I have spi connected to flash and also connected to other components),the firmware is 37KB for this sample , and it works when boot from flash.
因此,如果固件超过42KB,DA14580无法正常工作?
And if the firmware is more than 42KB, what shall I do? any method to use DA14580? or I have to choose other chip like DA14585?
非常感谢
本杰明
嗨Benjamindu,
因为你是使用DA14580,如果固件ize is more than 42KB, you want be able to store into the SystemRAM. Please check the DA14580 datasheet and you will find that the System RAM is 42KB. Since you have an external SPI Flash, you could store your firmware there and boot from the SPI Flash. In order to burn the SPI Flash, you should use the Smart Snippets toolbox and you can download it from our support portal. In case you would like to download firmware only into the SystemRAM, you could move inti DA14585. According to the DA14585 datasheet, there is 96 kB Data/Retention SystemRAM. If you have not download it the Smart Snippets toolbox, you could find it from the “Software & Tools” tab of the DA14580 support page. Also. I would highly recommend you to have a look at theUM-B-083 SmartSnippets Toolbox用户手册为了检查如何使用工具箱刻录SPI Flash。
谢谢, PM_Dialog
亲爱的对话框,
在上一个我说我可以从Flash启动,我已经知道如何将固件刻录到闪存中。
我有另一个问题,如果将固件刻录到闪存,程序是否可以直接运行,而不会在Systemram中加载?(对不起我对芯片很少了解,我认为启动正在将固件加载到SystemRam中并在那里运行)。
我提出的原因是,如果我刻录固件超过42KB,则使用SPI的程序不起作用,如果我刻录小于42KB的固件,那么具有SPI的程序。
谢谢
本杰明
嗨Benjamindu,
我强烈建议您查看AN-B-001文档,以了解DA14580的靴子。我已经为您提供了链接才能下载。请选中图2:DA14581引导顺序,并且您将看到从外部设备启动序列后,将代码下载到SYSRAM。您的程序无法正常工作的原因是为什么您无法将固件下载到Sysram,超过42kb。
谢谢, PM_Dialog
亲爱的对话框,
我读过AN-B-001,我找不到直接信息关于在DA14580上可以运行的大固件。
我对以前的答案中的2次混淆了。
1)由于您使用的是DA14580,如果固件大小超过42KB,则希望能够存储到SystemRam中。请检查DA14580数据表,您会发现系统RAM是42KB。由于您有外部SPI Flash,您可以将固件存储在那里并从SPI Flash启动。
2)您的程序无法正常工作的原因是为什么您无法将固件下载到Sysram的原因,这是超过42kb的原因。
为了避免混淆,你能不能回答我是或否的以下问题?
Is there any way to run the program on DA14580 if the firmware is more 42KB?
嗨Benjamindu,
Sorry for the confusion, I will try to be more 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
亲爱的对话框,
谢谢and now it is clear.
本杰明
嗨Benjamindu,
很高兴这些东西被清除了。如果您发现上述任何答案有用,请将其标记为已接受。
谢谢, PM_Dialog