|
- 1、BootLoader就是單片機(jī)啟動(dòng)時(shí)候運(yùn)行的一段小程序,這段程序負(fù)責(zé)單片機(jī)固件的更新,也就是單片機(jī)選擇性的自己給自己下程序?梢愿拢部梢圆桓,更新的話,BootLoader更新完程序后,跳轉(zhuǎn)到新程序運(yùn)行;不更新的話,BootLoader直接跳轉(zhuǎn)到原來(lái)的程序去運(yùn)行。
- 2、BootLoader更新完程序后并不擦除自己,下次啟動(dòng)后依然先運(yùn)行BootLoader程序,又可以選擇性的更新或者不更新程序,所以BootLoader就是用來(lái)管理單片機(jī)程序的更新。
- 3、在實(shí)際的單片機(jī)工程項(xiàng)目中,如果加入了BootLoader功能,就可以給單片機(jī)日后升級(jí)程序留出一個(gè)接口,方便日后單片機(jī)程序更新。當(dāng)然,這就需要?jiǎng)?chuàng)建兩個(gè)工程項(xiàng)目,一個(gè)為BootLoader工程,一個(gè)為APP工程。
- 4、BootLoader工程生成的.hex或者.bin文件通常下載到ROM或Flash中的首地址,這樣可以保證上電后先運(yùn)行BootLoader程序。而APP工程生成的.hex或者.bin文件則下載到ROM或Flash中BootLoader后面的地址中。也就是說(shuō),存在ROM/Flash中的內(nèi)容是分為兩部分的。
- 5、要實(shí)現(xiàn)在同一個(gè)ROM/Flash中保存兩段程序,并且保證不能相互覆蓋,則需要在下載程序時(shí)指定地址。如在Keil下,可以進(jìn)行如下的調(diào)整。
|
|