在DA14580的dsp软件中,软件复位使用如下代码。但它不起作用。
谁能帮我找出原因。
空白Start_run_user_application(无效);
__asm空白sw_reset(无效);
/**
****************************************************************************************
@brief sw reset
****************************************************************************************
*/
__asm空白sw_reset(空白)
{
异地恋r0, = 0 x20000000
异地恋r1 (r0, # 0)
MOV sp, r1
异地恋r2, (r0, # 4)
BX r2
}
/**
****************************************************************************************
* @brief在从uart接收到二进制文件或从非易失性内存引导读取二进制文件后运行用户应用程序
****************************************************************************************
*/
空白Start_run_user_application(空白)
{
Volatile unsigned short tmp;
如果(*(volatile unsigned*)0x20000000 & 0x20000000)
{
tmp = GetWord16 (SYS_CTRL_REG);
tmp = ~ 0 x0003;
SetWord16 (SYS_CTRL_REG tmp);
sw_reset ();
}
tmp = GetWord16 (SYS_CTRL_REG);
tmp | = 0 x8000;
SetWord16 (SYS_CTRL_REG tmp);
}
嗨bonjior,
尝试使用这个函数来重置:
由于MT_dialog
谢谢你!
该代码下载到系统ram中,使用函数plaform_reset可以跳转代码进入吗?
嗨bonjior,
在platform_reset之后,系统将跳转到引导rom代码。
由于MT_dialog