亲爱的对话支持团队,
I'm using DA14580 with SPI,and my .HEX is around 40KB, so I have to use external flash.
但是程序在这种情况下不起作用,如果我测试程序不使用SPI,它可以工作。
所以我有以下问题:
1) Is it possible for me to use SPI external flash and also use SPI after booting?
2)如果我可以在引导后使用SPI,如何重新映射引脚?
3)如果我使用有足够的OTP空间的DA14585,我可以随机重新映射引脚/或任何规则来重新映射引脚吗?
4) Now I'm using DA14580, is DA14585 compatible with DA14580 in terms of soft ware and hard ware?
非常感谢你的帮助。
Benjamin
Device:
Hi BenjaminDu,
The DA14580 boots from standard pins. Please check the “Table 1: Pin assignment and booting sequence from external devices” from the AN-B-001 document. You can download this document from our support portal. For your convenience, you can follow the link below as well.
https://support.dialog-seminile.com/resource/b-001-da14580581583-booting-serial-interfaces.
After the booting procedure you are allowed to use the external flash for your application code. Could you please clarify what do you mean with the “remap”? Do you want to boot from different pins from the standers pins or do you mean that you want to change SPI flash pins after the booting procedure?
谢谢,PM_DIALOG.
我的意思是引导后,我的应用程序想要使用SPI进行其他目的(不到R / W Flash),例如,使用SPI显示LCD。如果我使用jlink,它可以工作,但如果我使用闪存,它就没有。
can you also help me with above questions about da14585?
THANKS
Hi 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.
亲爱的对话支持团队,
感谢您在某种程度上在某种程度上在了解我的问题方面是正确的,我会更清楚地表达我的问题。
是的,我想用我的固件刻录SPI闪光灯,从那里启动。
After booting, I need to use SPI(other GPIOs,for CS) to control other components(for example LCD).
When I use JLink(run directly from Keil, firmware not burned onto flash.), the LCD controlled by SPI works well.
But if I burn the firmware onto flash and boot from there, the LCD controlled by SPI does not work.( I also tested other program without using SPI,burn onto flash, booting from flash the program works)
希望我清楚地表达我的问题,希望你能给我一个原因。
非常感谢。
Benjamin
Hi BenjaminDu,
您可以在从SPI闪光灯启动时探测SPI信号,LCD不起作用,然后通过结果让我知道?您提到在启动后,您希望使用不同的GPIO来控制其他组件。你配置了吗?
谢谢,PM_DIALOG.
Dear DIalog,
对不起,我无法探测信号。
Attached is the configure of the GPIOs, with the configuration, it works well while debuging, if burned into flash, it stops work.
Can you help to have a look of my configuration?
I have an analysis,
由于我的固件超过42KB,在启动后,系统仍需要与Flash进行通信,这可能导致闪存SPI和SPI的界限。
Thanks a lot
Benjamin
Hi BenjaminDu,
It would be great and very helpful if you would able to probe the SPI signals, because we could extract further information about your issue. By the way, no problem that you are not able to probe your signals. Your configurations seem correct. If I am able to understand correctly from what you mentioned, if your firmware is less than 42KB, your application works correctly?
谢谢,PM_DIALOG.
Dear Dialog,
I will manage to probe the signal and come back later.
我的固件小于42kb,它在闪存中运行良好,但固件没有spi。
我想知道它是如何运作的,如果系统SRAM仅为42KB,而固件则不仅仅是其中的?
非常感谢您的快速答案。
Benjamin
Hi BenjaminDu,
Could you please clarify what you mean that your firmware has no SPI? So, if you download firmware into the external SPI flash and boot from there, does this work correctly? Also, could you please make sure that your firmware is more than 42KB? If yes, it is quite strange that it works correctly when you store it into the SysRAM.
谢谢,PM_DIALOG.
Dear Dialog,
Has no SPI meas the application does not use SPI, but it has SPI connected to flash, let's forget it as I have new founding, please see the following.
我测试了另一个公司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.
So if the firmware is more than 42KB, DA14580 can not work?
如果固件超过42KB,我该怎么办?使用da14580的任何方法?或者我必须选择像DA14585这样的其他芯片?
Thanks a lot
Benjamin
Hi 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 User Manualin order to check how you could burn the SPI Flash using the toolbox.
谢谢,PM_DIALOG.
Dear Dialog,
In the previous I said I can boot from flash,I already know how to burn firmware into flash.
I have another question,if I burn the firmware into flash, can the program run directly without being loaded in SystemRAM? (sorry I know little about chip, I think a booting is loading the firmware into SystemRAM and run there).
The reason I asked the question is that if I burn a firmware more than 42KB,the program with SPI doesn't work, if I burn a firmware less than 42KB, then the program with SPI works.
Thanks
Benjamin
Hi BenjaminDu,
我强烈推荐你看看AN-B-001 document in order to understand how the DA14580 boots. I have already provided you the link in order to download it. Please check Figure 2: DA14581 booting sequence, and you will see that after the booting sequence from external devices, the code is downloaded to SysRAM. The reason why your program is not working is why you are not able to download firmware to SysRAM which is more than 42KB.
谢谢,PM_DIALOG.
Dear Dialog,
I've read AN-B-001,I can not find direct info about how big firmware can run on DA14580.
I'm confused as the following 2 from your previous answer.
1)Since you are using the DA14580, if the firmware size 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.
2)The reason why your program is not working is why you are not able to download firmware to SysRAM which is more than 42KB.
To avoid confusion, can you simply answer me YES or NO for the following question?
如果固件更高为42KB,是否有任何方法可以在DA14580上运行该程序?
Hi 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.
Dear Dialog,
谢谢,现在很清楚。
Benjamin
Hi BenjaminDu,
Glad that the things get cleared. If you found any of the above answers useful, please mark on of them as accepted.
谢谢,PM_DIALOG.