你好
我们使用社会距离标签1.0.6为我们的腕带项目与WiRA 10.440.8.6 SDK。
1.这款腕带配有加速计、像素心率和动脉血氧饱和度、温度传感器和TFT液晶显示屏作为外设。LCD图像占用更多的文本段空间。
2.外部qspi flash为32Mib - 4MBytes。其中503kb是用于代码/文本段3。在发布版本中,SUOTA已经消耗了大约496KBytes。在调试版本中,我们得到rom溢出。
4.调用:交叉臂GNU打印大小
文本数据BSS dec十六进制文件名
508080 7640 443680 959400 ea3a8 ble_social_distance_tag.elf
完成建筑:ble_social_distance_tag.siz
5.项目使用的默认分区表是
#define NVMS_PRODUCT_HEADER_PART_START 0x000000 /*设备启动时必选。Fized位置在0x00000000 */
#定义x002000 NVMS_PRODUCT_HEADER_PART_SIZE 0
#define NVMS_FW_EXEC_PART_START 0x002000 /* 512KB对齐由默认FLASH_REGION_SIZE指定。*/
#定义x07e000 NVMS_FW_EXEC_PART_SIZE 0
#define NVMS_FW_UPDATE_PART_START 0x080000 /* 512KB对齐由默认的FLASH_REGION_SIZE指定。*/
#定义x07e000 NVMS_FW_UPDATE_PART_SIZE 0
#define NVMS_PARAM_PART_START 0x0FE000 /*设备的配置参数。量产内容*/
#定义x001000 NVMS_PARAM_PART_SIZE 0
#define NVMS_GENERIC_PART_START 0x0FF000 /*用于BLE存储连接信息,例如配对*/
#定义x008000 NVMS_GENERIC_PART_SIZE 0
#define NVMS_LOG_PART_START 0x107000 /* FAT-FS有组织的日志文件分区*/
#定义x278000 NVMS_LOG_PART_SIZE 0
#define NVMS_PARTITION_TABLE_START 0x3FF000 /*分区表*/
#定义x001000 NVMS_PARTITION_TABLE_SIZE 0
6.这里固件部分和固件更新部分大小约为504KBytes。如何增加固件部件大小?
7.这里log部分大约需要2MB。如何减少日志部分到1MB,增加固件和固件更新部分。
8.在社交距离项目custom_config_qspii .h最大的代码大小被限制为503KBytes。
#define dg_configQSPI_CODE_SIZE_AA(503 * 1024) /*包括CMAC固件的最大BIN大小
* 503是缺省值
* SDK和芯片复位值。
*较大的BIN需要添加适当的
*配置设置在CS在OTP和应用
* different FLASH partitioning */
9.如果有可能增加
1.如何增加固件和固件更新部分的分区大小?
2.这会影响社交距离功能吗?
3.增加固件和固件更新部分后SUOTA工作吗?
谢谢你!
Jagath
嗨jagath52,
谢谢你在网上提出的问题。
如果FW超过512KB,则按DA1469x支持512kB以上的图像教程。本教程旨在提供如何在DA1469x上支持不同大小的FW映像的步骤。默认情况下,SDK和芯片配置都支持512 kB大小的运行应用程序映像。
在调试构建中,我们得到rom溢出。
能分享一下截图吗?
谢谢,PM_Dialog
你好,PM_Dialog谢谢您的回复。
1.
目前,我们的固件大小大约是502KBytes,我们需要大约60到70Kbytes的额外。
在本教程中http://lpccs-docs.dialog-semiconductor.com/tutorial_da1469x_supporting_f..。, da1496x支持的下一个图像大小是1MBytes。
有可能只增加100千字节吗?
例如512Kbytes + 100Kbytes = 612Kbytes。
我们最多需要600kb的代码内存。在512Kbytes之后的下一个最佳内存分配是什么?
2.在Debug_Qspi构建中,我们得到rom溢出错误。
目前,我们使用release_qspi build进行开发。
建设目标:ble_social_distance_tag.elf
调用:交叉ARM C链接器
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/ l.i d.exe: ble_social_distance_tag. .精灵节”。text'将不适合区域' 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/ l.i d.exe: 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_safe .exe: region ' ROM'溢出144字节
Collect2.exe: error: ld returned 1 exit status
Make [1]: *** [makefile:82: ble_social_distance_tag.]精灵]错误1
make: *** [makefile:73: all]错误2
"make -silent -j4 all"以退出码2终止。构建可能不完整。
嗨jagath52,
根据表988:CACHE_FLASH_REG (0x100C0040)的数据表,FLASH中的FW Images不能放置在任何随机地址。每个镜像分区的地址必须是0.25、0.5、1、2、4、8、16、32 mb的倍数。
因为固件的大小大约是572Kb,那么你应该按照教程将图像大小增加到1MB。请按照教程告诉我们。
谢谢,PM_Dialog
你好,
出现此问题的原因可能是FW大于512KB。如果FW超过512KB,则按DA1469x支持512kB以上的图像教程。本教程提供了如何在DA1469x上支持不同大小的FW映像的步骤。默认情况下,SDK和芯片配置都支持512 kB大小的运行应用程序映像。
谢谢,PM_Dialog
你好PM_Dialog
我正在使用智能代码片段工具箱版本5.0.14
我遵循给定的教程,以支持超过512KB的fw图像,但我得到这个以下警告。
我在教程的第9步得到这个警告。
日志说“没有字节写入otp内存”
我没有得到弹出窗口显示在步骤10。
我已经在zip文件中附加了当前的otp内存截图。
日志
[WARNING OTP Header @21-02-03 11:41:55]不能覆盖地址:0x10080D18。值0x40000C10将被0xFF替换
[WARNING OTP Header @21-02-03 11:41:55]不能覆盖地址:0x10080D1C。值0x05000000将被0xFF替换
[INFO OTP Header @21-02-03 11:41:55] No bytes can be written to OTP memory:所选的OTP内存区域已被烧毁。
[INFO OTP Header @21-02-03 11:41:55] OTP memory burning completed successfully. [INFO OTP Header @21-02-03 11:41:55] OTP memory burning completed成功。
[INFO OTP Image @21-02-03 11:41:55]读取OTP内存刷新其内容。
[INFO OTP Header @21-02-03 11:41:55]成功从OTP内存读取4096字节。
是否需要额外的步骤来烧OTP值
谢谢你!
Jagath
嗨jagath52,
本教程没有漏掉在OPT Configuration脚本中刻录新条目的任何步骤。你能检查一下你是否在按照3-10的步骤做吗?
你能连接到OTP头和阅读配置脚本吗?教程的哪个步骤导致了这个警告?
谢谢,PM_Dialog
你好PM_Dialog
是的,我能够连接到OTP头和阅读配置脚本。
我遵循从1到9的步骤。在步骤9后按压烧伤
年代tep 10我什么也没得到弹出窗口(覆盖只读单词)
我已经在之前的帖子中附上了OTP内存的截图
谢谢
Jagath
嗨jagath52,
我刚刚运行了SmartSnippets工具箱v5.0.14中的教程,但是无法复制它。
你使用的是自定义板,或任何我们的dk ?你能连接和读取OTP图像吗?你应该看看FF。
此外,如果您使用UART/SPI连接(图2),工具将要求您按下“连接按钮”后重置设备。
谢谢,PM_Dialog
你好PM_Dialog
我使用的是Da1469 USB开发板。
是的,我在步骤2中选择了DA1469x-00。
过程我跟着。
1.在第6步中,我首先添加了2次停止命令。
2.然后只有我能够添加CACHE_FLASH_REG (0x100C0040)。这是正确的方法吗?
3.我没有得到一个弹出窗口在步骤10后按烧伤。
4.我收到“无法覆盖地址:0x10080D1C。”Value 0x00000000将被0xFF取代No bytes can be written to OTP memory: selected OTP memory region is already burned"错误。
5.我尝试了UART和JTAG方法。两种方法的结果是相同的。
6.在OTP内存中可以写入多少字节?
7.如何添加20号命令而不添加STOP命令?
请查看每个有数字的步骤的截图。
谢谢你!
Jagath
你好PM_Dialog
我卸载工具箱版本5.0.14和安装5.0.16现在我可以烧OTP内存。
现在的另一个问题是,我从教程中复制了同一个分区表,并将dg_configQSPI_CODE_SIZE_AA更改为1000。
我在黑板上闪现一个例子。
当我重新把电路板连接到工具箱并读取OTP内存来验证(如验证中所示)。
分区表是不同的,如教程中所示。
请查看按照相同步骤复制宏后的分区表截图
谢谢你!
Jagath
你好PM_Dialog
与工具箱5.0.16工作良好。
谢谢你的帮助
Jagath
嗨jagath52,
很高兴这起作用了。我看到你筹到了一张后续论坛门票。让我们继续讨论新的话题。
谢谢,PM_Dialog