nRF51822之BootLoader
生活随笔
收集整理的這篇文章主要介紹了
nRF51822之BootLoader
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一)nRF51822程序加載順序
1)SoftDevice加載;
2)SoftDevice初始化藍牙協議棧;
3)SoftDevice檢查0x10001014處是否保存有有效的BootLoader地址,?如果不是跳轉到0x14000處的APP執行,流程結束.
4)SoftDevice跳轉到BootLoader
5)BootLoader進行他的業務處理工作;
6)BootLoader跳轉到0x14000處的APP執行,流程結束.
二)實現步驟
1)修改SoftDivice.hex
看NRF_UICR_Type結構,有一個BOOTLOADERADDR字段,??這個就是指向的BootLoader地址
默認情況下,SoftDivice.hex沒有指定BootLoader地址;
我們需要在SoftDivice.hex中插入一行
這里修改0x10001014地址的數據為"00300100"就是0x13000,?這個地址根據BootLoader的實際位置修改.
2)編寫BootLoader
BootLoader本身是一個普通的程序,只是在跳轉到APP執行時需要特殊處理
把BootLoader寫入我們上面定義的地址?0x13000
3)編寫APP
APP跟沒有BootLoader時是一樣的,依然放在?0x14000?處
nRF51822之BootLoader
總結
以上是生活随笔為你收集整理的nRF51822之BootLoader的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 蓝牙4.0 vs 蓝牙4.1 vs 蓝牙
- 下一篇: BLE程序框架探索