Hello
We are using social distancing tag 1.0.6 for our wrist band project with WiRA 10.440.8.6 SDK.
1. The wrist band has an accelerometer, pixart Heart rate and SPO2, temperature sensor, and TFT LCD as peripherals. LCD images are taking up more text segment space.
2. The external qspi flash is 32Mib - 4MBytes. Out of which 503Kbytes is for code/text segment.3. The project has already consumed about 496KBytes with SUOTA in the release build. In debug build, we are getting rom overflow.
4. Invoking: Cross ARM GNU Print Size
text data bss dec hex filename
508080 7640 443680 959400 ea3a8 ble_social_distance_tag.elf
Finished building: ble_social_distance_tag.siz
5. The default partition table used by project is
#define NVMS_PRODUCT_HEADER_PART_START 0x000000 /* Mandatory for device booting. Fized position at 0x00000000 */
#define NVMS_PRODUCT_HEADER_PART_SIZE 0x002000
#define NVMS_FW_EXEC_PART_START 0x002000 /* Alignment to 512KB is dictated by the default FLASH_REGION_SIZE. */
#define NVMS_FW_EXEC_PART_SIZE 0x07E000
#define NVMS_FW_UPDATE_PART_START 0x080000 /* Alignment to 512KB is dictated by the default FLASH_REGION_SIZE. */
#define NVMS_FW_UPDATE_PART_SIZE 0x07E000
#define NVMS_PARAM_PART_START 0x0FE000 /* Configuration Parameters of the device. Content written in Mass Production */
#define NVMS_PARAM_PART_SIZE 0x001000
#define NVMS_GENERIC_PART_START 0x0FF000 /* Used by BLE for storing connection information e.g. for pairing */
#define NVMS_GENERIC_PART_SIZE 0x008000
#define NVMS_LOG_PART_START 0x107000 /* FAT-FS organized partition for the log files */
#define NVMS_LOG_PART_SIZE 0x278000
#define NVMS_PARTITION_TABLE_START 0x3FF000 /* Partition Table */
#define NVMS_PARTITION_TABLE_SIZE 0x001000
6. Here Firmware part and Firmware Update part size is about 504KBytes. How to increase the firmware part size.?
7. Here log part is taking about 2MB. How to reduce the log part size to 1MB, and increase the firmware and firmware update part.
8. In social distancing project custom_config_qspi.h maximum code size is limited to 503KBytes.
#define dg_configQSPI_CODE_SIZE_AA ( 503 * 1024 ) /* MAX BIN size including the CMAC firmware
* 503 is the limit with the defaults of the
* SDK and chip reset value.
* Larger BIN need to add the proper
* configuration settings in CS in OTP and apply
* different FLASH partitioning */
9. If it is possible to increase
1. How to increase the partition size of firmware and firmware update part ?
2. Will that effect the social distancing feature?
3.将SUOTA work after increasing fimware and firmware update part?
Thank you
Jagath
Hi jagath52,
Thanks for your question online.
If the FW exceed the 512KB, then you should follow theDA1469x Supporting Images Bigger than 512kBtutorial. This tutorial aims to provide steps on how to support FW images of different sizes on the DA1469x. By default, both the SDK and chip configurations support running application images of up to 512 kB in size.
>>>In debug build, we are getting rom overflow.
Can you please share a screenshot?
Thanks, PM_Dialog
Hello, PM_Dialog thanks for the reply.
1.
Currently, our firmware size is about 502KBytes and we need approximately 60 to 70Kbytes extra.
In this tutorialhttp://lpccs-docs.dialog-semiconductor.com/tutorial_da1469x_supporting_f..., the next image size supported by da1496x is 1MBytes.
Is it possible to increase only 100 Kbytes?
For example 512Kbytes + 100Kbytes = 612Kbytes.
We need a maximum of 600Kbytes of code memory. What is the next best memory allocation after 512Kbytes?
2. In Debug_Qspi build we are getting rom overflow error.
So currently, we are developing with release_qspi build.
Building target: ble_social_distance_tag.elf
Invoking: Cross ARM C Linker
c:/program files (x86)/diasemi/smartsnippetsstudio2.0.14/gcc/7-2018-q2/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: ble_social_distance_tag.elf section `.text' will not fit in region `ROM'
c:/program files (x86)/diasemi/smartsnippetsstudio2.0.14/gcc/7-2018-q2/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: ROM space overflowed
c:/program files (x86)/diasemi/smartsnippetsstudio2.0.14/gcc/7-2018-q2/bin/../lib/gcc/arm-none-eabi/7.3.1/../../../../arm-none-eabi/bin/ld.exe: region `ROM' overflowed by 144 bytes
collect2.exe: error: ld returned 1 exit status
make[1]: *** [makefile:82: ble_social_distance_tag.elf] Error 1
make: *** [makefile:73: all] Error 2
"make --silent -j4 all" terminated with exit code 2. Build might be incomplete.
Hi jagath52,
根据数据表,表988:CACHE_FLASH_REG (0x100C0040), the FW Images in the FLASH cannot be placed at any random address. The address of each image partition must be a multiple of 0.25, 0.5, 1, 2, 4, 8, 16 or 32 MBytes.
Since the firmware is approximately 572Kb, then you should just follow the tutorial and increase the image size up to 1MB. Please follow the tutorial an let us know.
Thanks, PM_Dialog
Hi All,
The most probable reason for this issue is that the FW is bigger than 512KB. If the FW exceeds the 512KB, then you should follow theDA1469x Supporting Images Bigger than 512kBtutorial. This tutorial provides steps on how to support FW images of different sizes on the DA1469x. By default, both the SDK and chip configurations support running application images of up to 512 kB in size.
Thanks, PM_Dialog
Hello PM_Dialog
I am using smart snippet toolbox version 5.0.14
I followed the given tutorial to support fw images of more than 512KB but i am getting this below warning.
I am getting this warning at step number 9 in the tutorial.
Log says "No bytes written to otp memory"
I am not getting the popup window which is shown in step 10.
I have attached the current otp memory screenshot in the zip file.
Log
[WARNING OTP Header @21-02-03 11:41:55] Cannot overwrite address: 0x10080D18. Value 0x40000C10 will be replaced with 0xFF
[WARNING OTP Header @21-02-03 11:41:55] Cannot overwrite address: 0x10080D1C. Value 0x05000000 will be replaced with 0xFF
[INFO OTP Header @21-02-03 11:41:55] No bytes can be written to OTP memory: selected OTP memory region is already burned.
[INFO OTP Header @21-02-03 11:41:55] OTP memory burning completed successfully.
[INFO OTP Image @21-02-03 11:41:55] Reading OTP memory to refresh its contents.
[INFO OTP Header @21-02-03 11:41:55] Successfully read 4096 bytes from OTP memory.
Is there any extra step need to burn the OTP values
Thank you
Jagath
Hi jagath52,
The tutorial is not missing any step to burn a new entry in the OPT Configuration script. Can you please check if you are following the steps 3-10?
Are you able to connect to the OTP Header and read the Configuration script? Which step of the tutorial is causing that warnings?
Thanks, PM_Dialog
Hello PM_Dialog
Yes, I am able to connect to OTP Header and read the Configuration script.
I followed steps from 1 to 9. In step 9 after pressing Burn
Step 10I am not getting anypopup window(overwrite read-only words)
I have attached the screenshot of OTP memory in the previous post
Thanks
Jagath
Hi jagath52,
I’ve just ran the tutorial in the SmartSnippets Toolbox v5.0.14, but I am not able to replicate it.
Are you using a custom board, or any of our DKs? Are you able to connect and read the OTP Image? You should see FF.
Additionally, if you are using UART/SPI to connect (Fig. 2), the tool will ask you to reset the device after pressing the “Connect button”.
Thanks, PM_Dialog
Hello PM_Dialog
I am using Da1469 USB development board.
是的,我在步骤2中选择DA1469x-00。
Procedure I followed.
1. In step 6 first I added stop command 2 times.
2. Then only I am able to add CACHE_FLASH_REG (0x100C0040). Is this the correct method?
3.I am not getting a popup window in step 10 after pressing burn.
4. I am getting "Cannot overwrite address: 0x10080D1C. Value 0x00000000 will be replaced with 0xFF No bytes can be written to OTP memory: selected OTP memory region is already burned" error.
5. I tried UART and JTAG method. In both methods result is the same.
6. How many bytes can be written in OTP memory?
7. How you added the command number 20 without adding the STOP command?
Please find the screenshot of each step with numbers.
Thank you
Jagath
Hello PM_Dialog
I uninstalled toolbox version 5.0.14 and installed 5.0.16 now I am able to burn the OTP memory.
Now another problem is that I copied the same partition table from the tutorial and changed the dg_configQSPI_CODE_SIZE_AA to 1000.
I flashed adv example to the board.
When I reconnect the board to the toolbox and read the OTP memory to verify (as shown in verification).
The partition table is different which is shown in tutorial.
Please find the screenshot of the partition table after following the same steps and copied macros
Thank you
Jagath
Hello PM_Dialog
With Toolbox 5.0.16 is working fine.
Thanks for help
Jagath
Hi jagath52,
Glad that is working. I saw that you raised a follow-up forum ticket. Let’s continue the discussion in the new one.
Thanks, PM_Dialog