單片機(jī)系統(tǒng)Flash存儲(chǔ)器在系統(tǒng)編程設(shè)計(jì)
3.2.2 計(jì)算機(jī)程序
計(jì)算機(jī)程序的任務(wù)是負(fù)責(zé)與單片機(jī)系統(tǒng)進(jìn)行通訊,把要在單片機(jī)RAM內(nèi)運(yùn)行的用戶程序代碼和需要裝入Flash存儲(chǔ)器內(nèi)的代碼傳給單片機(jī)系統(tǒng),并監(jiān)視單片編程過(guò)程的執(zhí)行,及時(shí)反饋編程信息。
在本系統(tǒng)中采用C語(yǔ)言進(jìn)行計(jì)算機(jī)編程,由于單片機(jī)上電引導(dǎo)程序需要的數(shù)據(jù)信息是二進(jìn)制格式,因此根據(jù)上面的匯編程序編譯后的結(jié)果制作一個(gè)數(shù)據(jù)數(shù)組,每1個(gè)單元存放1個(gè)字節(jié)的數(shù)據(jù)。
關(guān)于監(jiān)視單片機(jī)的編程過(guò)程,本系統(tǒng)沒(méi)有采用復(fù)雜的狀態(tài)位檢查機(jī)制,而是采用了一種簡(jiǎn)單的方法。當(dāng)單片機(jī)對(duì)1個(gè)地址寫(xiě)入數(shù)據(jù)后再讀出其中內(nèi)容,如果與原來(lái)數(shù)據(jù)不同,則在此處反復(fù)執(zhí)行讀操作。計(jì)算機(jī)程序發(fā)出數(shù)據(jù)后便監(jiān)視串口,如果一定時(shí)間內(nèi)在串口處沒(méi)有返回?cái)?shù)據(jù),則視為超時(shí),編程失敗。計(jì)算機(jī)程序流程見(jiàn)圖2。
圖2 計(jì)算機(jī)程序流程圖
4 結(jié)束語(yǔ)
本文結(jié)合M68HC11上電引導(dǎo)功能,介紹了利用在系統(tǒng)編程技術(shù)將程序代碼編寫(xiě)到Flash存儲(chǔ)器中的方法,給出了相應(yīng)環(huán)節(jié)的程序流程圖和部分操作的程序示例。將這種方法應(yīng)用在發(fā)動(dòng)機(jī)控制系統(tǒng)的開(kāi)發(fā)中,使得編程非常方便,加快了項(xiàng)目的進(jìn)度,縮短了開(kāi)發(fā)的周期。相信這種方法在其他領(lǐng)域也可以得到廣泛地應(yīng)用。
存儲(chǔ)器相關(guān)文章:存儲(chǔ)器原理
評(píng)論