亲爱的Dialog,
我们一直试图把软件烧到DA14580上,但没有任何运气。
首先,我们尝试从SDK中烧录邻近示例“reporter\u fh”。
以下是我们进行编程的步骤:
第一步
首先我们将配置更改为
#定义开发调试0//0:OTP代码,1:JTAG代码
#从OTP定义应用程序启动
#未定义CFG\u EXT\u SLEEP
#定义深度睡眠
所有其他的都是记者提供的原始值。
,并完成了完整的构建。
第2步
打开SmartSnippets v3.6并尝试导入新编译的十六进制文件。然而,我们得到了以下信息:
[INFO@15-01-21 10:41:27]从文件full\u emb读取0字节_系统内存.hex. 25356字节已被忽略,因为它们的记录地址大于或等于0x80000。
为了解决这个问题,我们在“scatterfile”中手动更改了LR的地址_通用.sct“到
LR\u IROM1 0x00000000 0x160{;加载区域大小\u区域
ER\u IROM1 0x00000000 0x160{;加载地址=执行地址
*.o(重置,+第一个)
}
}
LR\ U IROM2 0x00000160 0x160{
ER\u IROM2 0x00000160 0x160{
.ANY(跳转表内存区)
}
}
LR\ U IROM3 0x000002C0 0x80{
ER\u IROM3 0x000002C0 0x80{
.ANY(超时\u表\u区域)
}
}
LR\ U IROM4 0x00000340 0x100{
ER\u IROM4 0x00000340 0x100{
.ANY(nvds\数据\存储\区域)
}
}
LRèIROM5 0x00000440 0x93c0{
ER\u IROM5 0x00000440 0x7ac0{
*(InRoot$$Sections);必须位于
;根区域,例如,u main.o,
;u scatter*.o、u dc*.o和*Region$$表
引导u.o(+RO)
系统\ ARMCM0.o(+RO)
;*armlib*(+RO)
.任何(+RO)
.任何(+RW)
更改分散文件后,我们能够编译一个十六进制文件,该文件被加载到smartsnippet中并烧录到DA14580中。
问题:如果手动更改散点文件是生成OTP十六进制的正确方法,请给出建议…或者这是错误的吗?。如果错误,正确的程序是什么?
第三步:
在将hex编程到OTP之后,我们配置了OTP头:
应用标志1:是
应用标志1:是
DMA长度:0x000017C2
其他的都保持原值。
重新映射标志:0处的SRAM
JTAG启用标志:0x0启用
…
第四步:
断开JTAG,并通过USB供电。DA14580现在应该将OTP镜像到SRAM并开始运行reporter\u fh。然而,DA15480没有给出任何广告数据,它似乎已经死了。
问题:请你看一下我们的步骤,并指导我们朝着正确的方向前进。
问题:我们在哪里可以找到OTP标题的详细信息?旗帜文件。
问题:如前所述,我们必须手动更改scatterfile。这个编辑正确吗?。有没有其他更正确的方法为OTP生成HEX?
致以最诚挚的问候,
西亚诺霜
丹麦

嗨,亲爱的对话
谢谢你的支持。
在dialog support的大力帮助下,我们发现了这个问题。在smartsnippet中,我选择了错误的IC。我选择了DA14580,但我有DA14580-01。选择DA14580-01之后,smartsnippet能够加载hex文件,而无需更改scatterfile。
再一次。。谢谢你的支持
致以最诚挚的问候,
西亚诺霜