|
通過(guò)PC機(jī)對(duì)MCU下載程序。
而IAP呢 ?是MCU對(duì)MCU自身下載程序。
下載程序就是寫(xiě)flash,PC機(jī)寫(xiě)flash是寫(xiě),MCU自己寫(xiě)flash也是寫(xiě)!當(dāng)然需要MCU支持從flash寫(xiě)MCU!!stm32提供的flash.c文件提供了對(duì)flash操作的函數(shù),實(shí)現(xiàn)了單片機(jī)對(duì)flash的操作!!!stm32一次寫(xiě)flash是2048字節(jié)!
那么這樣看來(lái),MCU的flash中至少存放的兩種codeA,codeB。(即flash一分為二)
codeA,上電一開(kāi)始就執(zhí)行,codeA其中的一項(xiàng)功能是接收codeB的數(shù)據(jù)。如果在超時(shí)時(shí)間內(nèi)沒(méi)有更新codeB的需要,直接跳轉(zhuǎn)到codeB運(yùn)行!
如果檢測(cè)到有更新codeB的需要,就將收到的數(shù)據(jù)校驗(yàn)后,寫(xiě)入到flash,重復(fù)這個(gè)步驟直到codeB更新完成,然后執(zhí)行codeB。
看來(lái)什么事,從PC端拓展到MCU端,就會(huì)有創(chuàng)新的可能出現(xiàn)!!!
|
|