在DA14580的DSP软件中,软件重置是否使用下面显示的代码。但它不起作用。
谁可以帮助我找到原因。
void start_run_user_application(void);
__asm void sw_reset(空白);
/ **
****************************************************************************************
* @brief sw重置
****************************************************************************************
* /
__asm void sw_reset(空白)
{
LDR R0,= 0x20000000
LDR R1,[R0,#0]
mov sp,r1
LDR R2,[R0,#4]
BX R2.
}
/ **
****************************************************************************************
* @brief在从UART接收到Binany或从非易失性存储器引导读取二进制文件后运行用户应用程序
****************************************************************************************
* /
void start_run_user_application(void)
{
挥发性无符号短tmp;
if(*(volatile unsigned *)0x20000000和0x20000000)
{
tmp = getword16(sys_ctrl_reg);
TMP&=〜0x0003;
setword16(sys_ctrl_reg,tmp);
sw_reset();
}
tmp = getword16(sys_ctrl_reg);
TMP | = 0x8000;
setword16(sys_ctrl_reg,tmp);
}
嗨Bonjior,
尝试使用此函数重置:void platform_reset();
谢谢mt_dialog.
谢谢。
将代码下载到SYS RAM中,使用函数PLAForm_Reset可以跳到代码条目?
嗨Bonjior,
Platform_Reset后系统将跳转到引导ROM代码。
谢谢mt_dialog.