查看: 6609|回复: 2

[群150178878]翻译一下SoftDevice启动过程

[复制链接]

该用户从未签到

发表于 2014-4-18 16:41:06 | 显示全部楼层 |阅读模式
分享到:
本帖最后由 wkong501 于 2015-1-18 15:21 编辑

SoftDevice启动过程是如何跳转到Bootloader或者用户App的?

[size=14.074073791503906px]在复位期间,softdevice会检测UICR.BOOTADDR寄存器,如果这个寄存器是空白的(0xFFFFFFFF),softdevice会判定当前没有bootloader程序。随后softdevice会通过复位中断跳转到用户的app正常执行。如果检测到UICR.BOOTADDR寄存器不等于0xFFFFFFFF,那么softdevice会判定当前存在bootloader程序并且bootloader程序的vector table存在该地址。随后会通过复位中断执行bootloader reset handler。

[size=14.074073791503906px]Bootloader在执行完后会调用sd_softdevice_forward_to_application()通过跳转到用户App。

回复

使用道具 举报

该用户从未签到

发表于 2014-4-30 17:33:01 | 显示全部楼层
不错!
这里就解释了,用Keil擦除芯片然后重新烧写程序运行不成功的原因。
因为,没有擦除UICR.BOOTADDR寄存器,上电后以为还有bootloader。相当于没有全部擦除。
回复 支持 反对

使用道具 举报

  • TA的每日心情
    郁闷
    2014-10-9 16:03
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2014-9-26 16:14:20 | 显示全部楼层
    楼主,请教一下,bootload怎么写?
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    手机版|小黑屋|与非网

    GMT+8, 2024-4-30 09:02 , Processed in 0.122174 second(s), 19 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.