嗨对话框
我使用外部闪光灯W25x20进行数据存储,但是当SPI初始化完成时,我无法通过“jedec_id = spi_read_flash_jedec_id()读取jedec_id;”在函数spi_flash_auto_detect();
Set_Pad_Functions()中的接口设置如下:
GPIO_ConfigurePin( GPIO_PORT_0, GPIO_PIN_0, OUTPUT, PID_SPI_CLK, false );
gpio_configurepin(gpio_port_0,gpio_pin_6,输出,pid_spi_do,false);
gpio_configurepin(gpio_port_0,gpio_pin_3,输出,pid_spi_en,true);
gpio_configurepin(gpio_port_0,gpio_pin_5,输入,pid_spi_di,true);
并且在主循环之前初始化:
spi_flash_init(0x40000,0x100);
spi_flash_enable(GPIO_PORT_0, GPIO_PIN_3);
/ *
************************************************************************************
*Main loop
************************************************************************************
* /
而(1)
{
}
I can't read the JEDEC_ID in function spi_flash_auto_detect().is that any incorrect .

你好车道,
请查看SDK5中的Peripheral_examples目录中的SPI_FLASH示例,以检查Jedec_ID如何从SPI_FLASH_AUTO_DETECT()函数读取。示例代码能够读取W25x20 SPI内存闪存,而无需任何修改。
Thanks MT_dialog
你好,
我拍摄了“BLE_APP_PERITERWAL”示例并完成了代码的一些更改。截至目前我正在使用Keil Uvision V5.17.0.0(Trail版本)和使用SDK(DA14583)
案例1:在RAM中工作,但在闪存中工作
它在RAM中正常工作(即开发模式)。如果我通过使用“SmartSnippets”工具在Flash中下载相同的代码,则无法正常工作。即使我无法在移动侧Android应用程序上看到BLE设备名称(在闪存中加载图像时)。
Program Size: Code=19784 RO-data=3276 RW-data=80 ZI-data=8924
Case 2: Not working both in RAM as well as in FLASH
如果代码大小如下所述,则应用程序图像不在RAM和Flash中工作。
程序尺寸:CODE = 21612 RO-DATA = 3276 RW-DATA = 80 ZI-DATA = 9004
Please help me resolve the issue.
有任何内存约束。DA14583中的RAM使用率占用的主要和次级引导加载程序代码的内存将占用。
你好,
When downloading your firmware to flash via SmartSnippets, please make sure 'bootable' is selected. Or you could also enable the log printing by defining the macro CFG_PRINTF to see if the firmware executes successfully.
你好,
我在开发板上使用了LED指示而不是使用CFG_PRINTF。我已经评论了我的代码,将LED相关代码放在BLE外围代码中。我在闪存中放置了应用程序图像(具有LED代码+ BLE外围代码)。它在闪存中工作。如果我包括我的代码(具有我的应用程序代码+ LED代码+ BLE外围代码),那么都在一起在RAM中工作。但如果代码(具有我的应用程序代码+ LED代码+ BLE外围代码),则加载在闪存中,则它不起作用。甚至带领眨眼也不会来。我怀疑代码大小可能会创建一个问题。我按照正确的过程,能够访问闪光灯来编写应用程序图像。我面临着较高尺寸的代码的问题。 Please help to resolve the issue.
你好Mahesh.,
There isn't any special code limitation in the 583, Its a bit weird for the code to run from SYSRAM (i suppose that you download it via keil) and not to work via the flash due to code size. I suppose that the code doesn't boot from the flash at all for some reason or in case you use sleep perhaps it doesn't ever wake up. Can check if you can boot via flash using the proximity example, its has larger code than your custom application (Code=23636 RO-data=3220 RW-data=128 ZI-data=8008). Also to check if your application boots properly and starts you can turn on that LED when the system starts in the periph_init function just to check if the application boots.
Thanks MT_dialog
你好,
我尝试使用“prox_reporter”示例。Prox_reporter在RAM和闪存中工作,但代码大小是
程序尺寸:Code = 22868 RO-DATA = 3220 RW-DATA = 128 ZI-DATA = 8008(在UVISION V5.17.0.0中)。
我会根据您的建议检查。这里怀疑是,我的应用程序图像是工作RAM,为什么它不在闪存中工作。
is any context will be there like this.?
你好,
通过SmartSnippet将固件闪烁到Flash时是可引导的选择?另外,请记得在写之前做一个擦除。
你好
I am erasing and then burning the application image. I have selected bootable only..
你好Mahesh.,
关于接近示例,我一直在寻找修改后的接近程序,为什么我的邻近代码更大,但即使是图像大于您尝试下载的自定义程序,所以我不认为有问题尺寸。它必须存在于应用程序中的错误,在您的自定义代码中,您是否与SPI完全接口?另请确保您的代码靴SPI,确保在启动时在580中下载该程序,尝试使用外围初始化中的LED检查它。
Thanks MT_dialog
你好
我有两个自定义应用程序(即Custo雷竞技安卓下载m1和Custom2)。在Custom1中,我正在使用SPI从闪存中获取特定于应用程序的数据。在Custom2中,我根本没有使用SPI。对于Custom1和Custom2应用程序,我面临相同的问雷竞技安卓下载题(即在RAM(开发模式)工作而不在Flash(即运行模式)中工作)。请提供信息,我需要做的配置是什么,以运行模式运行应用程序图像(即从闪存引导)。
你好Mahesh.,
There is no specific configuration to run a custom application from the SPI, all you need to do is to just burn the application, using smart snippets and tag the image as bootable when the SM ask you to. Since you are able to run other applications (reference designs, etc) through the SPI but not your custom application i suspect that the problem lies in your custom application code (when you say custom 1 and custom 2 i suppose that you mean the application profiles that are included in your custom code). Since you are interfacing with the SPI memory and it works over SRAM but not when booted via SPI i would suspect that something is wrong with the SPI access that your code does, you can try to remove the SPI access from your custom application and try to boot from SPI. Perhaps there is somekind of conflict with the application specific data that you mention, how those data are loaded to the SPI, via Smart Snippets and the propriety header programmer ? check the offset where those data are stored.
Thanks MT_dialog
你好,
I am using Smart Snippet tool to write the application specific data in the Flash. I am writing Application specific data from 0x16000 location onwards.
你好,
Whether I can keep the Application image and Application specific data in any of the memory regions apart from the internal Flash of the DA14583.
每次我都读取了来自闪存的1024个字节的应用程序特定数据。是数据大小的任何限制,可以一次从闪存中读取。
初始5到6个循环的读数(即,从闪存中读取的1024字节),它很快就完成。但是,在那个读取周期之后,它需要大约10秒。我不是想到的,为什么这是一个很多时间从闪存中读取1024个字节。只有在闪存中编程应用程序图像时,才会才能占用。在开发模式下,阅读周期很快就完成。我怀疑介于两者之间发生引导加载程序代码干扰。请告知想法在阅读周期中解决此延迟。
你好,
我们仍然需要缩小你第一次见到的问题。
Is value read from those long-time reads still correct as expected?
您的项目中的睡眠设置是什么?Arch_sleep_off,Arch_ext_sleep_on或Arch_deep_sleep_on?请使用Arch_sleep_off(如果没有),只需简化问题。
您还能监控SPI CS引脚吗?在长时间读取的情况下,SPI CS引脚应长时间观察到较低。
你可以用较小的块做连续的读数,说512/256字节等,看看结果是什么?
SPI读取没有特别限制。
And the bootloader does not exist when the application runs up.
你好,
它正在长时间以及读取值而不是预期的。
我们项目中的睡眠设置仅是ARCH_SLEEP_OFF。
如何观察SPI CS状态。我需要连接CRO探头的引脚。
I tried to read 256 bytes in each iteration, but still I am getting all zeros.
请帮助我检查SPI CS引脚的状态,同时从内部闪光灯读取数据。
你好Mahesh.,
It sounds like your SPI is in power down mode, are you re-enabling your SPI before start reading, do you invoke spi_flash_release_from_power_down(); in order to release the SPI from power down ? The secondary bootloader in the 583 OTP will power down the flash after booting. The CS pin is the 2_3 pin on the 583 chip.
Thanks MT_dialog
你好,
此信息帮助我识别问题。
I tried "spi_flash_release_from_power_down()" function but not working. Later I tried "spi_flash_enable()" function, with this function I am able to read the application specific data correctly.
非常感谢你提供的信息。
I need some information regarding the Maximum size of single Application image I can keep in internal flash (which can work). That means I want know the Application size limitation.
你好Mahesh.,
在闪存中刻录并从580运行的最大应用程序取决于580而不是闪光灯。限制是42KB的Sysram可用,因为您必须计算堆等交换内存,有关此信息,请检查UM-B-011内存映射和分散文件。另请注意,与评估许可证有32K的限制。
Thanks MT_dialog
你好,
I have taken BLE Peripheral code and edited. As of now I am able to use Write call back and Notify callback in the BLE peripheral. But I am not able to use read callback with the BLE peripheral code. Please give guidance where I can get the read callbacks. Which file and function, I need to use to access the Readcall back from the BLE client (i.e. Mobile device) to BLE Server (i.e. Dialog Semiconductors) development board.
你好Mahesh.,
读回调?您的意思是标准回调,指示客户端已从对等体读取数据,这种处理程序不存在,指示客户端从对等体读取的指示没有达到应用程序级别。
Thanks MT_dialog
你好,
I am interfacing DA14583 with an I2C slave device. Some times I am able to read the data from the I2C slave device. But some times the Processing is getting struck at
“wait_until_no_master_actity()”(即在i2c驱动器中)无限期。处理器以提到的指示击中的任何具体原因。
Please guide me to resolve this issue.
你好Mahesh.,
您能为您遇到此I2C问题创建另一个线程吗?论坛用户更容易搜索类似主题。谢谢你的理解。