你好,
我正试着用我自己的十六进制来编程OPT。
我在keil中编译了这个,为OTP提供了很好的选择。
但在SmartSnippets中,当我在OTP映像中加载.hex时,日志窗口中会显示以下消息:
“从文件full\u emb\u sysram.hex读取0字节。14524字节已被忽略,因为它们的记录地址大于或等于0x80000。“
你有办法解决这个问题吗?
我的.hex的第一行是:
:0200000042000DA
:1000000000980020A9040020B1040020C9040020A9
:10000000000000000000E0
:10000000000000000e1040020cb
:1000300000000000000F9040020FB04002084
:10004000DD1C0020053103000D31030015310300D4
:10005000911D00208D310300E71D0020EF1D0020C1
顺致敬意,
雷吉斯
嗨,瑞吉斯,
这意味着加载地址设置为0x80000(保留RAM),这是来自SmartSnippets的警告。如果要从OTP开始,则加载地址应为0x0,如果要从保留RAM(0x80000)执行,则需要将执行地址设置为0x80000。
要实现这一点,您必须为链接器使用散点文件。有关这方面的信息,请参阅文档:<>
顺致敬意,
对话蓝牙支持团队。
你好,
我不明白我的问题。我正在使用SDK中的文件“scatterfile\u common.sct”以及mode EXT\u SLEEP和OTP的编译选项来生成我的.hex。
我在“UM-B-011”中没有找到OTP的信息
这是生成.hex的正确方法吗?
如何将OTP的起始地址更改为0x00?
正确的方法是什么?
顺致敬意,
里吉斯
嗨,瑞吉斯,
如果您使用'scatterfile\u common.sct',那么应用程序的加载和执行区域应该是正常的。如果您还定义了:
#定义开发调试0//0:OTP代码,1:JTAG代码
有关OTP编程指南,请参阅AN-B-020 DA14580最终产品测试和编程指南V1.3.pdf。
顺致敬意,
对话蓝牙支持团队。