精品一区二区中文在线,无遮挡h肉动漫在线观看,国产99视频精品免视看9,成全免费高清大全

C8051FXXX單片機(jī)FLASH程序的自動(dòng)升級(jí)

時(shí)間:2023-05-01 08:33:42 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

C8051FXXX單片機(jī)FLASH程序的自動(dòng)升級(jí)

作者Email:  wolfman6353@sina.com

引言:

  C8051FXXX系列高速SOC單片機(jī)是由美國(guó)Cygnal公司開(kāi)發(fā)的完全集成的混合信號(hào)系統(tǒng)級(jí)芯片,具有與8051兼容的微處理器內(nèi)核,內(nèi)部集成FLASH程序存儲(chǔ)器,具有在系統(tǒng)重新編程能力,以C8051F020為例,內(nèi)部集成64K的FLASH程序存儲(chǔ)器。在系統(tǒng)控制軟件的開(kāi)發(fā)調(diào)試階段,可用集成開(kāi)發(fā)環(huán)境來(lái)下載及測(cè)試系統(tǒng),但當(dāng)將C8051F020目標(biāo)系統(tǒng)集成到產(chǎn)品后,則由于操作系統(tǒng)及軟硬件接口不一樣等等原因,不能在最終產(chǎn)品中用集成開(kāi)發(fā)環(huán)境來(lái)下載FLASH程序,故產(chǎn)品到了用戶(hù)處之后,如要再進(jìn)行FLASH程序的更新,則必須更換相應(yīng)的集成電路印刷板,造成很多麻煩及不可靠因素。筆者通過(guò)實(shí)驗(yàn),在用戶(hù)操作界面的PC機(jī)及C8051F020的單片機(jī)控制系統(tǒng)之間,通過(guò)串行口進(jìn)行C8051F020單片機(jī)控制程序的自動(dòng)升級(jí)及程序加密,從而使用戶(hù)只要從互聯(lián)網(wǎng)上下載控制程序,即可實(shí)現(xiàn)單片機(jī)程序的自動(dòng)升級(jí)。以下以64KBFLASH RAM為例簡(jiǎn)要介紹單片機(jī)目標(biāo)程序的準(zhǔn)備及自動(dòng)升級(jí)的制作過(guò)程。

1)系統(tǒng)簡(jiǎn)介及自動(dòng)升級(jí)的實(shí)現(xiàn)方法

PC機(jī)(80486/DX2以上)  具有1.44吋軟驅(qū)及串行口。單片機(jī)控制系統(tǒng)(具有串行口及內(nèi)置的FLASH程序區(qū))。PC與C8051FXXX之間通過(guò)九針串行接口線相連。設(shè)置傳送速率為115200BIT/S。

C8051F020單片機(jī)的FLASH RAM分為用戶(hù)程序區(qū)(0000H~0FDFDH),廠家保留及加密區(qū)(0FDFEH~0FFFFH)兩部分,F(xiàn)將用戶(hù)程序區(qū)(0000H~0FDFDH)的0000H~0DFFFH部分用于裝載用戶(hù)程序,而0E000H~0FDFDH部分作為引導(dǎo)程序區(qū),引導(dǎo)程序區(qū)在升級(jí)時(shí)不能改變,它用于與用戶(hù)操作界面的PC機(jī)部分進(jìn)行程序接收及裝載等工作。

在控制程序區(qū)0000H~0DFFFH中,做一握手程序塊,在上電時(shí),用于和用戶(hù)操作界面PC機(jī)部分進(jìn)行握手,當(dāng)接收到PC機(jī)部分要進(jìn)行軟件升級(jí)的命令時(shí),程序跳至引導(dǎo)程序區(qū),執(zhí)行如下流程:

->發(fā)送準(zhǔn)備升級(jí)字節(jié)到PC機(jī)

->刪除FLASH程序區(qū)

->發(fā)送開(kāi)始下載命令到PC機(jī)

->接收且放到相應(yīng)地址

->加密

為了達(dá)到自動(dòng)升級(jí)的目的,需要在用戶(hù)界面的PC機(jī)引導(dǎo)時(shí),自動(dòng)檢測(cè)PC機(jī)外設(shè),軟盤(pán)控制器,一旦檢索到軟盤(pán)中有升級(jí)文件及其索引文件,且其版本比現(xiàn)有的單片機(jī)控制程序的版本高,則開(kāi)始執(zhí)行PC機(jī)中的下載程序。 

2)刪除0000H~ODFFFH的FLASH程序區(qū)

C8051FXXX系列單片機(jī)將FLASH程序區(qū)按512字節(jié)為一頁(yè)(PAGE)來(lái)組織,在刪除控制程序區(qū)0000H~ODFFFH時(shí),首先屏蔽掉所有中斷,使能程序刪除位PSEE(PSCTL.1),同時(shí)使能PSWE(PSCTL.0)MOVX指令指向FALSH程序區(qū)。應(yīng)用MOVX指令在每一頁(yè)的任意一地址寫(xiě)0FFH,則將該頁(yè)的所有字節(jié)都置為0FFH,從而實(shí)現(xiàn)了該頁(yè)的刪除。依此操作可刪除所有的程序頁(yè)。刪除部分程序如下:

//刪除0000H’ODFFFH的FLASH程序區(qū)

DEL_NEXT_PAGE:    

  CLR EA 

  MOV A,FLSCL

  ANL A,#0FEH

  ORL A,#01H

  MOV FLSCL,A

MOV A,PSCTL

ANL A,#0FCH

ORL A,#03H

  MOV PSCTL,

[1] [2] [3] [4] 

【C8051FXXX單片機(jī)FLASH程序的自動(dòng)升級(jí)】相關(guān)文章:

51單片機(jī)C語(yǔ)言程序設(shè)計(jì)經(jīng)典案例05-01

flash上傳04-29

flash教案04-25

升級(jí)04-29

單片機(jī)嵌入式系統(tǒng)程序引導(dǎo)裝入設(shè)計(jì)04-30

初識(shí)flash教案04-28

在主頁(yè)加Flash04-29

什么是Flash功能04-26

flash個(gè)性簽名04-29

flash相冊(cè)制作04-29