嗨对话框
我正在开发基于DSP项目的项目代码。编译时我出错了。错误是“ble_sps_peripheral.elf部分”.text“将不适合区域`rom'”,“区域`rom”溢出2240字节“。因此,我将DG_CONFIGQSPI_CODE_SIZE从(128 * 1024)修改为(320 * 1024),然后解决问题。但我仍然不知道炙手可热
正确。如果我的suota partition_table.h如下,我应该将DG_CONFIGQSPI_CODE_SIZE设置为320 * 1024(0x50000)?如果代码大小遵循NVMS_FW_EXEC_PART和NVMS_FW_UPDATE_PART的大小,是否正确?如果是正确的,为什么项目代码的默认设置为128 * 1024,小于QSPI闪存的真实容量?
Partition2(0x000000,0x01e000,nvms_firmware_part,0)
Partition2(0x01e000,0x001000,nvms_product_header_part,0)
Partition2(0x01f000,0x001000,nvms_image_header_part,0)
Partition2(0x020000,0x050000,nvms_fw_exec_part,0)// 320k
Partition2(0x070000,0x00d000,nvms_log_part,0)
Partition2(0x07d000,0x002000,nvms_platform_params_part,partition_flag_read_only)
partition2(0x07f000,0x001000,nvms_partition_table,partition_flag_read_only)
Partition2(0x080000,0x010000,NVMS_PARAM_PART,0)
Partition2(0x090000,0x051000,nvms_fw_update_part,0)// 320k
Partition2(0x0e1000,0x01f000,nvms_generic_part,partition_flag_ves)
嗨nigelyang,
此编译错误是因为代码太大,对于闪存限制拟合它(闪光空间被视为ROM部分),所以当您正确提到时,您应该增加DG_CONFIGQSPI_CODE_SIZE定义。默认情况下,该项目具有默认情况下,该项目具有128K的代码定义,如果您可以增加固件才能汇编的额外ROM,所以这就是为什么要识别出现问题。code_size必须等于或小于nvms_fw_exec_part和nvms_fw_update_part的大小。在您的情况下,Code_size等于分区的两个,这意味着您的固件可能适合它们,因此您将能够在没有错误的情况下编译项目。如果增加代码大小超过320k,则应增加nvms_fw_exec_part和nvms_fw_update_part,因此必须修改分区表。在这种情况下,唯一不得更改的是partition_flag_ves。在我们的示例中,我们有128K代码大小,因为这是使用QSPI配置时的最小可缓存代码大小。使用当前分区表,您可以使用高达320 * 1024(0x50000)代码大小。
谢谢,PM_DIALOG.