我已经为DA14683 Pro开发工具包编写了一个切换LED的小程序。程序正在RAM中运行。当我手动上传这个程序(没有IDE)时,它也可以正常工作。
当我将完全相同的程序(使用完全相同的调试器)上传到我们的电路板(P1/5处也有一个LED)时,CPU总是卡在地址0x07f01dfc处的ROM中(该地址本身是一个循环)。也许这是引导序列中的“永远等待”部分。
当我手动将SP设置为0x07fd0000,将PC设置为0x07fc0201(根据bin/elf)时,CPU总是在0x07f000e6(也可能是ROM中的处理程序)中停止。
为了改变主板上CPU的行为,我是否需要首先在OTP中进行一些更改?我可能调试器需要在启动应用程序之前先设置一些东西?
设备:
我想我自己找到了解决办法。对于其他人,当从RAM启动对话框时,IDE会向调试器发送以下命令
监视器重置0
监视睡眠10
监视器停止
监视器memU32 0x7fd0000=0xdeadbeef
监视器memU32 0x7fd0004=0x0
监视器memU32 0x7fd0008=0x0
监视器memU32 0x7fd000c=0xdead10cc
监视器memU32 0x400c3050=1
监视器睡眠500
监视器重置0
监视器memU32 0x7fd0000=0x0
监视器memU16 0x50000012=0xAB
监视器重置0
这需要在上传软件之前完成。这在我的ProDK上可能没有必要,因为flash中有一些东西。我目前无法完全验证这一点,因为我的调试器在发出设置时钟源的命令后立即退出其会话。
0x50000012=0xAB
嗨,马丝,
谢谢你的帖子!您不应更改OTP中的任何内容。如果你解决了你的问题,你能告诉我们吗?
谢谢,下午好