Hi Team,
I have a DA1469x ProKit and building code with SDK_10.0.4.66 and this has a standard MX25U3235F flash device. I am performing an evaluation to check the device will meet the requirements for a customer application.
My application is configured to execute as XIP from QSPI and the initial test using sample application freertos_retarget builds and runs fine when using the 4MB partition table.
现在,当我添加我的剩余应用程序时,我已经在一些专有的代码库和恒定的代码表中链接,该常量代码表将映射到ROM区域的代码大于默认的512KB。ROM接头区域增长到800kb左右。我留下了在64KB中被配置为默认值的QSPI的缓存。
I have created a modified 4M based partition table which defines the firmware partition to be larger as per below and I have adjusted the linker scripts:
#define NVMS_PRODUCT_HEADER_PART_START 0x000000 #define NVMS_PRODUCT_HEADER_PART_SIZE 0x002000 #define NVMS_FIRMWARE_PART_START 0x002000 /* Alignment to 512KB is dictated by the default FLASH_REGION_SIZE. */ #define NVMS_FIRMWARE_PART_SIZE 0x0DE000 /* Increased from default 0x07E000 to use empty space */
我使用使用该设备program_qspi_jtagscript which appears to flash all the sectors correctly however I am unable to read back any constant data or execute code from addresses above 0x80000 (remapped) or 0x36080000 direct. Is it even possible to have anvms_firmware_part_size.大于512kb?
Either theprogram_qspi_jtagscript is failing to flash the upper regions correctly or the QSPI memory (re)mapping is somehow still misconfigured.
请您提供任何指导。
谢谢
〜加里
嗨加里克拉克森,
Please check the Table 976 of DA1469x datasheet. By default, the FLASH region size is set at 0.5 Mbytes, but this value can be changed by programming the CACHE_FLASH_REG[FLASH_REGION_SIZE] in the OTP header. The CACHE_FLASH_REG[FLASH_REGION_BASE] and CACHE_FLASH_REG[FLASH_REGION_OFFSET] will be set by the bootloader, so you don’t need to program them. ONLY CACHE_FLASH_REG[FLASH_REGION_SIZE] must be programmed.
In addition, if you would like to have SUOTA functionality, the SUOTA partition table must be modified respectively.
谢谢,PM_DIALOG.
Hi,
many thanks for the guidance and step by step instructions. I was setting CACHE_FLASH_REG[FLASH_REGION_SIZE] to 0x5 early in the startup code without realising this must be done via the OTP route.
I instead changed to use a 2Mbyte configuration by setting CACHE_FLASH_REG[FLASH_REGION_SIZE] to 0x4 for some headroom and adjusted the partition table. It is now working fine. Thanks for your help.
问候,
加里
嗨加里,
Glad that you figured your issue out. If you found my answer useful, please mark it as “accepted”.
谢谢,PM_DIALOG.
Hi Gary,
此外,您应该在bsp_memory_defaults.h文件中更改dg_configqspi_code_size_aa宏。请在bsp_memory_defaults中进行以下修改
136KB是在M0 +中运行的CMAC的大小。
谢谢,PM_DIALOG.