上传者: u013625912
|
上传时间: 2022-11-14 10:43:42
|
文件大小: 376KB
|
文件类型: DOC
什么是bootloader?本人不知道该怎么说,反正会来看这篇都是知道自己要干嘛的。不过bootloader的作用还是要提提的,bootloader最直观的作用就方便,比如你用单片机给人家做了一款产品,后期你的产品固件需要更新的时候,你总不能带着电脑直接去客户那里拆开产品给单片机下程序吧?也不能教客户怎么给单片机下程序吧?用户体验感太差。
其实本质上bootloader的也是一个完整的程序,也有main函数,有自己的中断向量表,栈顶指针,它可以检查有没有新的固件,如果有,则将新的固件的数据写入到我们指定的flash地址中,之后跳到新的程序中去就OK了。此时bootloader的优势就来了,bootloade更新固件有很多种方式,本人在这里只详细讲解一种,搞懂一种之后,其它的都好办,因为它们的思路都是一样的。Bootloader的主体原理是:首先将bin文件的数据复制到特定的地址。然后设置中断向量表,设置MSP主堆栈指针(具体请看CM3权威指南),设置复位向量。然后就没有然后了。
作者:谭建裕