2900|4

78

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

boot_serial例程中的疑问 [复制链接]

大家好,我刚学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为什么总是停在这呢?如下图:

望请各位大侠指导。先谢过了。

最新回复

是的,你的理解是对的。  详情 回复 发表于 2012-3-28 16:28
 
点赞 关注

回复
举报

78

帖子

0

TA的资源

一粒金砂(高级)

沙发
 
我对这三个问题的理解是这样的。大家看看对不对:
1.首先运行的是启动代码中的“Reset_Handler”在“_Handler中调用”ProcessorInit,复制bootloader到sram中,并在sram中运行bootloader。执行完“Reset_Handler”再接着执行“Reset_Handler_In_SRAM”,在“Reset_Handler_In_SRAM”调用CheckForceUpdate函数,在CheckForceUpdate函数中判断如果使能了ENABLE_UPDATE_CHECK,则return(CheckGPIOForceUpdate());        在这留两个个问题。
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还是用户程序啊?
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

板凳
 

回复 沙发 fendou 的帖子

CallApplication 会根据返回的结果来决定是否跳到去执行 User Application.
 
 
 

回复

78

帖子

0

TA的资源

一粒金砂(高级)

4
 

回复 板凳 Study_Stellaris 的帖子

谢谢你,Study_Stellaris 。我对其他地方的理解有不对的地方吗?
还有第一个问题中的CheckForceUpdate()函数中的那条  if()  语句是不是来判断APP_START_ADDRESS地址处有没有下载好的程序,有的话  if  语句判断为假,没有则为真,返回 1 。也就是说在没有设置强制升级按键的情况下,要决定是否升级程序,就要用这条 if  语句,又因为下载进用户程序后,  if  语句判断一直为假,所以只能升级一次。
是这样吧??
 
 
 

回复

1803

帖子

0

TA的资源

五彩晶圆(高级)

5
 

回复 4楼 fendou 的帖子

是的,你的理解是对的。
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表