BootLoader

      大家好,我是程序小羊,因为最近需要用到Bootloader,所以我打算用STM32这块板子学习一下Bootloader, 众所周知,STM32的学习资料是很多的,所以我整理了一下我的学习过程,后续我的打算是这样的,我打算画一块中间板出来,具体思路如下草图:

      接下来,我们先大概学习一下BootLoader吧:

      一般情况下,STM32内部程序执行过程如下所示:

      对于没有BootLoader的程序,STM32内部闪存(FLASH)地址起始于0x8000000,一般情况下,程序文件就从此地址写入。0x8000004开始存放中断向量表,当中断来临时,STM32的内部硬件机制亦会自动将PC指针定位到中断向量表位置,并且根据中断源取出对应的中断向量执行中断服务程序。

      对于有BootLoader的程序,如下图:

      为了能看懂,我将上图简化为下图所示:通过串口或者CAN等将APP程序包进行接收,将APP程序写到某一个区域,写完后需要进行跳转。

      了解完后,我们来学习一下代码,代码我注释写的很清楚,大家可以看一看。首先是BootLoader里面的串口函数

    

声明:本内容为作者独立观点,不代表电子星球立场。未经允许不得转载。授权事宜与稿件投诉,请联系:editor@netbroad.com
觉得内容不错的朋友,别忘了一键三连哦!
赞 4
收藏 5
关注 107
成为作者 赚取收益
全部留言
0/200
成为第一个和作者交流的人吧