需要帮助:ROM区域被RetRAM0溢出

⚠️
大家好. .感谢来到论坛。令人兴奋的消息!我们现在正在转移到新的论坛平台的过程中,它将提供更好的功能,并包含在主对话网站。所有的帖子和账号已经迁移。我们现在只接受新论坛的流量-请发布任何新的帖子在//www.xmece.com/support.我们会在接下来的几天修复bug /优化搜索和标记。
8个职位/ 0个新职位
最后发表
brooksprumo
离线
最后看到:2年9个月前
加入:2017-08-09 05:40
需要帮助:ROM区域被RetRAM0溢出

嗨,对话框中,

我目前正在尝试将Suota添加到我的14681固件。我基本上是将PXP_Reporter源文件复制到我的构建目录中,并调整配置标题一位(以定义Suota)。构建时,我收到以下错误:

建设目标:构建/ firmware_0.1.0_debug_qspi.elf
ld: ROM变量区域(从0x07FDC000开始)被RetRAM0溢出
Collect2: error: ld returned 1 exit status
: * * *(建立/ firmware_0.1.0_debug_qspi。精灵]错误1

我假设有些东西我没有配置,或者配置错了,但我不确定。我已经阅读了UM-B-044-DA1468x软件平台参考在保留RAM上的部分,但我不确定如何解决我的链接错误。

你能帮助吗?我很乐意提供更多信息;我认为我需要,但我还不知道什么*什么*;让我知道!提前谢谢你!

关键词:
设备:
PM_Dialog
离线
最后看到:1周2天前
工作人员
加入:2018-02-08 11:03
嗨Brooksprumo,

嗨Brooksprumo,

此错误的原因是因为retram0的长度太小,因此您应该增加retram0尺寸。首先,强烈建议在开发模式下使用非最佳回动,因为所有存储器单元都将被通电。因此,在非最佳配置中,您应该定义DG_CONFIGOPTIMAL_RETRAM(0)和DG_CONFIGMEM_RETENTION_MODE(0x1F)。最佳配置通常用于最终产品。有关获取更多信息,请在UM-B-044文档中查看图78和图79。因此,为了增加retram0尺寸,您应该减少RAM的大小。执行代码通常为8-10k,但首先检查代码的长度以配置DG_CONFIGQSPI_CACHED_RAM_SIZE_AE以正确的长度。在非最佳配置的情况下,在10K左右的代码,我在custom_config_qspi.h标题文件中可能配置可能是以下情况。

#定义dg_configQSPI_CACHED_RAM_SIZE_AE (12* 1024) // 12k

#定义dg_configQSPI_CACHED_RETRAM_0_SIZE_AE (116* 1024) / / 116 k

12K(RAM)+ 116K(retram0)= 128K

在最优配置的情况下,可能的配置可能是:

#定义dg_configQSPI_CACHED_RAM_SIZE_AE (12* 1024) // 12k

#定义dg_configQSPI_CACHED_RAM_SIZE_AE (84.* 1024) / / 84 k

12k (ram) + 84k (retram0) + 32k (retram0)= 128k

此外,如果您希望保留变量,强烈建议使用适当的标记。例如:

__RETAINED_RW我= 0;//初始化保留变量的标签

__RETAINED我;//未初始化的保留变量的标签

谢谢,PM_Dialog

brooksprumo
离线
最后看到:2年9个月前
加入:2017-08-09 05:40
谢谢你!

谢谢你!

我会尝试这些设置,如果我有进一步的问题,我会回复。

PM_Dialog
离线
最后看到:1周2天前
工作人员
加入:2018-02-08 11:03
嗨Brooksprumo,

嗨Brooksprumo,

如果您有任何后续问题,请告诉我们。

谢谢,PM_Dialog

brooksprumo
离线
最后看到:2年9个月前
加入:2017-08-09 05:40
好的!这让我成功了

好的!这让我成功地构建我的代码!

现在我遇到了两个问题;他们可能有联系,但我不确定。

首先,我从pxp_reporter演示中构建了引导加载程序和固件。我已经成功地按照文档来构建项目,然后将引导加载程序和固件下载到我的设备上。现在,我尝试在我自己的应用程序中使用pxp_reporter演示中的SUOTA代码。首先,当我尝试下载ble_suota_loader引导加载程序时,我在执行下载时得到一个错误:

“文件大小不能超过65535字节。”

我从命令行使用smarnippet工具箱来执行下载。的命令是:

"C:/DiaSemi/ smartsnippetstudio /Toolbox/SmartSnippetsToolbox.exe" -type qspi -chip da14480 -01 -com_port 4 -firmware "E:/$ble_suota_loader.bin" -cmd write -mode cached -file "E:/firmware.bin"

我不确定是否有一些我错过的其他配置,这导致了这个错误。

我的第二个问题是……为了解决引导加载程序问题,我尝试恢复到uartboot.bin引导加载程序(这是我一直在使用的引导加载程序)。我可以下载bootloader,我相信我也成功下载了我的固件,从pxp_reporter有SUOTA代码。然而,我认为设备运行不正常。

在Dialog SUOTA手机应用程序中,我看不到我的设备,而且设备似乎也没有响应其他查询。也许我的固件在什么地方崩溃了?

我认为我的第二个问题目前可能过于模糊。任何关于这两个问题的帮助都将非常感谢!提前谢谢!

PM_Dialog
离线
最后看到:1周2天前
工作人员
加入:2018-02-08 11:03
嗨Brooksprumo,

嗨Brooksprumo,

请查看申请说明AN-B-046 DA1468x从串行接口启动v1.2.pdf第5.3章.从我们的支持页面。在那一章中,串行引导协议被解释。UART引导协议字节2和3表示文件的长度。对于2字节,最大长度限制为0xFFFF(65535字节)。因此,最大长度受设计的限制。要加载较大的文件,请使用SWDIO/SWCLK (JTAG)接口。如果你使用JTAG,你能下载固件吗?

谢谢,PM_Dialog

brooksprumo
离线
最后看到:2年9个月前
加入:2017-08-09 05:40
好吧,这说得通。

好吧,这说得通。现在我只有一个UART串行连接到我的设备。我将考虑获得一个开发板,以便我可以使用JTAG。

谢谢你!

PM_Dialog
离线
最后看到:1周2天前
工作人员
加入:2018-02-08 11:03
嗨Brooksprumo,

嗨Brooksprumo,

是的,请尝试它与JTAG接口,并让我知道。如果你发现上面的任何一个答案有用,请标记其中一个为接受。

谢谢,PM_Dialog