工具与软件:
你(们)好
引导加载程序有很多问题。
1.当我从 TI 加载代码来刷写引导加载程序时、可以刷写应用程序 bin 文件并在有指示时运行应用程序软件。 在应用软件中、我发送串行命令来指示应用软件跳转到引导加载程序。 我通过以下代码执行此操作:
eep_tstbtldData stBL_Data=eEP_vRead BL_FlashRequest ();
静态 bool bl_flash=false;
if (stbl_Data.u16Bdld_flag=0x5A5A )
{
;
uint32_t JumpAddress = 0;//(uint32_t) APP_START_ADDRESS;
//JumpAddress = 0;
(( void (*)(void))JumpAddress)();
}
跳转到引导加载程序软件是否正确。 引导加载程序从位置0开始?
引导加载程序软件具有一些 printf 行。 有时、在跳转后、屏幕上不会显示任何内容。 有时会出现引导加载程序菜单。 执行断电和通电后、将显示引导加载程序菜单。
引导加载程序菜单:
========== 主菜单==========
1.将应用程序映像下载到内部闪存
2.从内部闪存上载应用程序映像
3.执行应用程序代码
2.出现跳转并显示引导加载程序菜单时。 当输入命令"1"下载应用程序时、可以使用来自 MCU 的"C"命令、我将使用的 TeraTerm 将启动 Ymodem 传输。
但是、在将前128个字节发送到 MCU 后、MCU 将停止响应。 我们称这是一种挂起的情况。 MCU 为何挂起? 关闭/打开电源时、将出现引导加载程序菜单、并且下载将正常执行。 为什么需要断电/上电才能使引导加载程序正常工作。 是否有可能有一个解决方案使我们能够在引导加载程序与应用程序之间轻松切换到引导加载程序、然后再返回到引导加载程序、而无需外部电源关闭/开启?
期待您的回复。 这件事是紧迫的。 谢谢。