你好
我们正在使用WIRA 10.440.8.6 SDK的腕带项目的社交偏移标签1.0.6。
1.腕带具有加速度计,PIXART心率和SPO2,温度传感器和TFT LCD作为外围设备。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用于存储连接信息e.g.用于配对* /
#定义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 /*分区表*/
#define nvms_partition_table_size 0x001000
6.这里固件部分和固件更新部分大小约为504KBytes。如何增加固件部件大小?
7.这里的日志部分大约需要2MB。如何将日志零件大小降至1MB,并增加固件和固件更新部分。
8.在社交距离项目custom_config_qspii .h最大的代码大小被限制为503KBytes。
#define dg_configqspi_code_size_aa(503 * 1024)/ * max bin大小,包括cmac固件
* 503是默认值的限制
* SDK和芯片复位值。
*更大的垃圾箱需要添加正确的
* OTP中CS中的配置设置并应用
* 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。
我们最多需要600kbytes的代码内存。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:/程序文件(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:/程序文件(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'溢出144个字节
Collect2.exe: error: ld returned 1 exit status
Make [1]: *** [makefile:82: ble_social_distance_tag.]精灵]错误1
制作:*** [makefile:73:全部]错误2
"make -silent -j4 all"以退出码2终止。构建可能不完整。
嗨jagath52,
根据数据表,表988:cache_flash_reg(0x100c0040),Flash中的FW图像不能放置在任何随机地址。每个图像分区的地址必须是0.25,0.5,1,2,4,8,16或32 mby的倍数。
由于固件大约为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内存截图。
日志
[警告OTP标题@ 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内存刷新其内容。
[信息OTP标题@ 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。值0x00000000将用0xff替换为0xff,没有字节可以写入OTP内存:所选OTP内存区域已被刻录”错误。
5.我尝试了UART和JTAG方法。两种方法的结果是相同的。
6.在OTP内存中可以写入多少字节?
7.如何添加20号命令而不添加STOP命令?
请找到每个步骤的屏幕截图。
谢谢
Jagath.
你好PM_DIALOG.
我卸载了工具箱版本5.0.14并安装了5.0.16,现在我能够刻录OTP内存。
现在的另一个问题是,我从教程中复制了同一个分区表,并将dg_configQSPI_CODE_SIZE_AA更改为1000。
我闪过了董事会的ADV示例。
当我将板重新连接到工具箱并读取OTP内存以验证(如验证所示)。
分区表是不同的,如教程中所示。
请查看按照相同步骤复制宏后的分区表截图
谢谢
Jagath.
你好PM_DIALOG.
与工具箱5.0.16工作良好。
谢谢你的帮助
Jagath.
嗨jagath52,
很高兴正在工作。我看到你提出了一个后续论坛票。让我们继续在新的讨论。
谢谢,PM_Dialog