你好,
我正在尝试用自己的.hex编制选择。
我在Keil编译了这一点,对OTP的良好选择。
但在SmartSnippets中,当我在OTP图像中加载我的.hex时,我在日志窗口中有以下消息:
“从File upper_emb_sysram.hex中读取0个字节。由于其录制地址更大或等于0x80000,因此忽略了14524个字节。”
你有一个想法解决这个问题吗?
我的.hex的第一行是:
:020000042000DA
:1000000000980020A9040020B1040020C9030020A9
:10000000000000000/10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
:10002000000000000000000/10000000000000000000/20cb.
:1000300000000000000000000000f9040020fb04002084
:10004000DD1C0020053103000D31030015310300D4
:10005000911D00208D310300E71D0020EF1D0020C1
最好的祝福,
Régis.
嗨regis,
这意味着负载地址设置为0x80000(保留RAM),这是SmartSnippets的警告。如果要从OTP从Rop Sound开始,则应从加载地址开始为0x0,如果要从保留RAM(0x80000)执行,则执行地址需要设置为0x80000。
为实现此目的,您必须使用链接器的分散文件。有关此信息的信息可以在文档中找到:<< UM-B-011 DA14580存储器映射和分散文件v1.1.pdf >>
最好的祝福,
对话框蓝牙支持团队。
你好,
我不明白我的问题。我正在使用SDK和编译选项的文件“scatterfile_common.sct”for mode ext_sleep和OTP来生成我的.hex。
我没有在“UM-B-011”中找到信息,用于OTP
是否是为OTP燃烧而生成的正确方法?
如何将我的开始地址更改为OTP的0x00?
什么是正确的方法?
最好的祝福,
瑞典
嗨regis,
如果使用“scatterfile_common.sct”,那么应用程序的负载和执行区域应该是正常的。如果您还定义了:
#define development_debug 0 // 0:OTP的代码,1:通过JTAG代码
另请参阅AN-B-020 DA14580最终产品测试和编程指南V1.3.pdf用于OTP编程指南。
最好的祝福,
对话框蓝牙支持团队。