大家好,我刚学bootloader,在看boot_serial这个官方的例子。我的板子是TI 的LM3S9B96.有几个问题想请教下。
1.boot_serial这个工程怎么没有main函数,先运行那个函数呢?
2.我使能了强制升级按键“ENABLE_UPDATE_CHECK”,在bl_check.c中怎么判断按键按下而去执行
bootloader或者应用程序呢?
3.我按照zlg的资料设置好,
先把flash擦干净,先通过jtag下载boot_seral,再通过lmflash programmer选择串口下载boot_demo1。成功后,我调试
boot_seral为什么总是停在这呢?如下图:
望请各位大侠指导。先谢过了。
此帖出自
小平头技术问答
2.在bl_check.c中怎么判断按键按下?是在CheckGPIOForceUpdate()中的
如果按键按下则g_ulForced = 1;return(1);。
3.之所以停在这,是因为调用了Updater函数,在这个函数中
而我没有通过LM Flash Programmer来升级程序,所以一直停在
if(ReceivePacket(g_pucDataBuffer, &ulSize) != 0) { continue; }
不知道我理解的对不对,还请大家帮忙分析分析!
在刚开始留下了两个问题,
1.在CheckForceUpdate()函数里有个
不清楚是干嘛用的?
2.在CheckForceUpdate函数中判断如果使能了ENABLE_UPDATE_CHECK,则return(CheckGPIOForceUpdate()); 如果按键按下则g_ulForced = 1;return(1);根据返回值来决定是执行bootloader还是用户程序,那么是哪条语句来利用返回的“0”或者“1”来决定是执行bootloader还是用户程序啊?
一周热门 更多>