你好,
我试图用我自己的。hex编程OPT。
我用keil编译了这个,有很好的OTP选项。
但在SmartSnippets,当我加载我的。hex在OTP图像,我有以下消息在日志窗口:
"从文件full_emb_syram .hex中读取0个字节。14524字节被忽略了,因为它们的记录地址大于或等于0x80000。"
你有解决这个问题的办法吗?
我的.hex的第一行是:
: 020000042000 da
: 1000000000980020 a9040020b1040020c9040020a9
: 1000100000000000000000000000000000000000 e0
: 10002000000000000000000000000000 e1040020cb
: 100030000000000000000000 f9040020fb04002084
: 10004000 dd1c0020053103000d31030015310300d4
: 10005000911 d00208d310300e71d0020ef1d0020c1
最好的问候,
瑞吉斯
嗨,瑞吉斯,
这意味着加载地址被设置为0x80000(保留RAM),这是来自SmartSnippets的警告。如果您想从OTP开始,那么加载地址应该是0x0,如果您想从保留RAM (0x80000)执行,那么您的执行地址需要设置为0x80000。
要实现这一点,你必须使用一个分散文件的链接器。关于这个的信息可以在文档中找到:<>
最好的问候,
对话框蓝牙支持团队。
你好,
我不明白我的问题。我使用的文件是scatterfile_common。从SDK和编译模式EXT_SLEEP和OTP选项生成我的。hex. sct。
我没有在“UM-B-011”中找到关于OTP的信息
这是OTP燃烧生成。hex的正确方式吗?
我如何可以改变我的起始地址为0x00为OTP?
什么是正确的方式?
最好的问候,
瑞吉斯
嗨,瑞吉斯,
如果你使用'scatterfile_common。Sct’,那么应用程序的加载和执行区域应该没问题。如果你还定义:
#define DEVELOPMENT_DEBUG 0 //0: code at OTP, 1: code via JTAG
请参见AN-B-020 DA14580最终产品测试和编程指南V1.3.pdf,以获取OTP编程指南。
最好的问候,
对话框蓝牙支持团队。