嗨对话框,
我目前正在尝试将Suota添加到我的14681固件。我基本上是将PXP_Reporter源文件复制到我的构建目录中,并调整配置标题一位(以定义Suota)。构建时,我收到以下错误:
构建目标:构建/固件_0.1.0_debug_qspi.elf.elf
LD:ROM变量区域(以0x07fdc000开始)溢出的retram0
Collect2:错误:LD返回1个退出状态
make:*** [build / firmware_0.1.0_debug_qspi.elf]错误1
我假设有一些我未配置的东西,或者错误配置,但我不确定。我已经通过UM-B-044-DA1468x软件平台参考零件读到了保留RAM上,但我不确定如何解决我的链接错误。
你能帮我吗?我很高兴提供更多信息;我认为我需要,但我不知道*尚未知道;只是让我知道!先感谢您!
设备:
嗨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)// 116K
12K(RAM)+ 116K(retram0)= 128K
在最佳配置的情况下,可能的配置可能是:
#定义dg_configqspi_cached_ram_size_ae(12.* 1024)// 12k
#定义dg_configqspi_cached_ram_size_ae(84.* 1024)// 84k
12K(RAM)+ 84K(retram0)+ 32K(retram0)= 128K
此外,如果您想保留变量,强烈建议使用相应的标记。例如:
__retated_rw.㈡我= 0;//初始化保留变量的标记
__retate㈡一世;//非初始化保留变量的标记
谢谢,PM_DIALOG.
谢谢!
如果我有进一步的问题,我会尝试这些设置并回复。
嗨Brooksprumo,
请让我们知道您是否有以下问题。
谢谢,PM_DIALOG.
好的!这让我成功构建了我的代码!
现在我遇到了两个问题;他们可能是相关的,但我不确定。
首先,我从PXP_Reporter演示中构建了引导加载程序和固件。我已成功遵循文档来构建项目,然后将Bootloader和固件下载到我的设备。现在我正在尝试在我自己的应用程序中使用PXP_Reporter演示中的拟议代码。首先,当我尝试下载ble_suota_loader引导加载程序时,我在执行下载时收到错误:
“文件大小不能超过65535字节。”
我正在使用命令行中使用smartsnippet工具箱来执行下载。该命令是:
“c:/diasemi/smartsnippetsstudio/toolbox/smartsnippetstoolbox.exe”-type qspi -chip da14680-01 -com_port 4 -firmware“e:/ $ ble_suota_loader.bin”-cmd write -mode缓存 - 文件“e:/固件。垃圾箱“
我不确定是否有一些我错过的其他配置,这导致了这个错误。
和我的第二个问题......要绕过引导加载程序问题,我试图恢复到UartBoot.bin引导加载程序(它是我正在使用的引导加载程序)。我可以下载那个引导加载程序,我相信我也成功下载了来自PXP_Reporter的Suota代码的固件。但是,我认为设备不正常运行。
在对话框套筒电话应用程序中,我没有看到我的设备,设备似乎没有响应其他查询。也许我的固件已经崩溃了?
我认为我的第二个问题可能在此刻太模糊了。尽管有任何关于任何问题的帮助!提前致谢!
嗨Brooksprumo,
请检查应用笔记AN-B-046 DA1468X从串行接口启动V1.2.pdf那第5.3章。来自我们的支持页面。在该章中,解释了串行引导协议。UART引导协议字节2和3表示文件的长度。具有2个字节的最大长度限制为0xFFFF(65535字节)。因此,最大长度受到设计的限制。要加载较大的文件,请使用SWDIO / SWCLK(JTAG)接口。如果您使用JTAG,您是否能够下载固件?
谢谢,PM_DIALOG.
哦,好的,这是有道理的。现在我只有一个与我的设备的UART串行连接。我会查看一个开发板,以便我可以使用JTAG。
谢谢!
嗨Brooksprumo,
是的,请用JTAG接口尝试,让我知道。如果您发现上述任何答案有用请标记其中一个接受。
谢谢,PM_DIALOG.