你好
我们使用社会距离标签1.0.6为我们的腕带项目与WiRA 10.440.8.6 SDK。
1.这款腕带配有加速计、像素心率和动脉血氧饱和度、温度传感器和TFT液晶显示屏作为外设。LCD图像占用更多的文本段空间。
2.外部QSPI Flash是32mib - 4mbytes。其中503kbytes是代码/文本段.3。该项目已经在发布构建中使用了大约496kbytes。在调试构建中,我们越来越溢出。
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 / *设备引导必需。0x00000000 * /
#define nvms_product_header_part_size 0x002000.
#define NVMS_FW_EXEC_PART_START 0x002000 /* 512KB对齐由默认FLASH_REGION_SIZE指定。* /
#define nvms_fw_exec_part_size 0x07e000.
#define nvms_fw_update_part_start 0x080000 / *对齐至512kb是由默认flash_region_size指定的。* /
#define nvms_fw_update_part_size 0x07e000.
#define nvms_param_part_start 0x0fe000 / *设备的配置参数。批量生产书面的内容* /
#define nvms_param_part_size 0x001000.
#define NVMS_GENERIC_PART_START 0x0FF000 /*用于BLE存储连接信息,例如配对*/
#define nvms_generic_part_size 0x008000.
#define nvms_log_part_start 0x107000 / * fat-fs为日志文件组织分区* /
#define nvms_log_part_size 0x278000.
#define nvms_partition_table_start 0x3ff000 / * partition表* /
#定义x001000 NVMS_PARTITION_TABLE_SIZE 0
6.这里固件部分和固件更新部分大小约为504KBytes。如何增加固件部件大小?
7.这里log部分大约需要2MB。如何减少日志部分到1MB,增加固件和固件更新部分。
8.在社交偏移项目中,Mypate_config_qspi.h最大代码大小限制为503kbytes。
#define dg_configQSPI_CODE_SIZE_AA(503 * 1024) /*包括CMAC固件的最大BIN大小
* 503是缺省值
* SDK和芯片复位值。
*较大的BIN需要添加适当的
*配置设置在CS在OTP和应用
*不同的闪存分区* /
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-seminiondiond.com/tutorial_da1469x_supporting_f ..., da1496x支持的下一个图像大小是1MBytes。
有可能只增加100千字节吗?
例如,512kbytes + 100kbytes = 612kbytes。
我们最多需要600kb的代码内存。在512Kbytes之后的下一个最佳内存分配是什么?
2.在debug_qspi构建中,我们得到了rom溢出错误。
所以目前,我们正在使用Refoy_QSPI构建开发。
建筑目标:ble_social_distance_tag.elf
调用:交叉臂C链接器
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:ble_social_distance_tag.elf部分`.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.elf]错误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
我正在使用Smart Scippet Toolbox版本5.0.14
我遵循给定的教程,以支持超过512KB的fw图像,但我得到这个以下警告。
我在教程的第9步得到这个警告。
日志说“没有字节写入otp内存”
我没有得到一个弹出窗口,如步骤10所示。
我已在zip文件中附上当前的OTP内存屏幕截图。
日志
[WARNING OTP Header @21-02-03 11:41:55]不能覆盖地址:0x10080D18。值0x40000C10将被0xFF替换
[警告OTP标题@ 21-02-03 11:41:55]不能覆盖地址:0x10080d1c。值0x05000000将用0xFF替换
[info otp header @ 21-02-03 11:41:55]没有字节可以写入OTP内存:所选OTP内存区域已被刻录。
[信息OTP标题@ 21-02-03 11:41:55] OTP内存刻录成功完成。
[信息OTP图像@ 21-02-03 11:41:55]读取OTP内存刷新其内容。
[INFO OTP Header @21-02-03 11:41:55]成功从OTP内存读取4096字节。
是否需要刻录OTP值的额外步骤
谢谢你!
Jagath
嗨Jagath52,
教程不会缺少任何步骤才能在Opt配置脚本中刻录新条目。你能否检查你是否遵守步骤3-10?
你能连接到OTP头和阅读配置脚本吗?教程的哪个步骤导致了这个警告?
谢谢,PM_DIALOG.
你好PM_Dialog
是的,我能够连接到OTP头和阅读配置脚本。
在按下烧伤后,我从1到9中完成步骤。
S.TEP 10.我什么也没得到弹出窗口(覆盖只读单词)
我已经在之前的帖子中附上了OTP内存的截图
谢谢
Jagath
嗨Jagath52,
我刚刚运行了SmartSnippets工具箱v5.0.14中的教程,但是无法复制它。
您是使用定制董事会,或我们的任何DKS吗?您是否能够连接和阅读OTP图像?你应该看到ff。
此外,如果使用UART / SPI来连接(图2),该工具将要求您在按“Connect”按钮后重置设备。
谢谢,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"错误。
我尝试了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.