我写了一个小程序,为DA14683 Pro开发套件切换了一个LED。程序从RAM运行。当我手动上传这个程序时(没有IDE),这也很好。
当我将完全相同的程序(带有完全相同的调试器)上传到我们的电路板时(LED也在P1 / 5)时,CPU始终在地址0x07F01DFC(这是一个循环上)卡在ROM中。也许这是“等待永远”的引导序列的一部分。
当我手动将SP设置为0x07FD0000时,PC到0x07FC0201(根据宾馆/ elf),CPU始终停止在0x07f000e6(也可以是ROM中的处理程序)。
也许我需要先改变OTP的东西,以便在我们的电路板上的CPU上的行为改变行为?也许调试器需要在启动应用程序之前先设置某些东西?
设备:
我想我自己找到了解决方案。只为其他人,从RAM开始,对话框IDE将以下命令发送到调试器
监视器重置0.
监控睡眠10.
监控停止
监视器Memu32 0x7fd0000 = 0xdeadbeef
监视Memu32 0x7fd0004 = 0xdeadbeef
监视Memu32 0x7fd0008 = 0xdeadbeef
Monitor Memu32 0x7fd000c = 0xdead10cc
监视器Memu32 0x400C3050 = 1
监控睡眠500.
监视器重置0.
监视器Memu32 0x7fd0000 = 0x0
监视器MEMU16 0x50000012 = 0xAB
监视器重置0.
这需要在上传软件之前完成。因为闪光灯中有一些东西,这可能不是我的prodk。我无法完全验证此索文,因为我的调试器在发出命令以设置时钟源后立即退出其会话。
0x50000012 = 0xAB.
嗨火星,
谢谢你的帖子!您不应该在OTP中更改任何内容。如果您识别出您的问题,请您能告诉我们吗?
谢谢,PM_DIALOG.