當前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]MC68HC908LJ12微控制器中的閃存在電路編程

電路編程是指在器件安裝在最終電路板(目標系統(tǒng))上的時候?qū)ζ骷M行編程或擦除操作。這允許在不把電路從目標系統(tǒng)取下的情況下改變用戶代碼,從而實現(xiàn)對器件的重新編程或初始化編程。

Motorola MC68HC908LJ12 (LJ12)是基于HC08架構(gòu)的一種通用器件,具有12K字節(jié)的片上閃存和512字節(jié)的RAM、一個紅外通信接口、一個串行外設(shè)接口、一個AD轉(zhuǎn)換器、一個實時鐘和一個LCD驅(qū)動器模塊。其中12k字節(jié)閃存分配給用戶代碼,另外還有48字節(jié)分配給用戶定義的復(fù)位和中斷向量。對于編程或擦除操作不需要高電壓供電,因為所需要的高電壓由內(nèi)部的電荷泵產(chǎn)生??衫眠\行在用戶模式或監(jiān)控模式的軟件例程通過寫地址為$FE08的閃存控制寄存器實現(xiàn)對閃存的編程或擦除操作。

用戶模式

在用戶模式下,LJ12運行的是已經(jīng)編程存儲在閃存中的用戶代碼。這是LJ12在大多數(shù)時間中所處的模式。

監(jiān)控模式

在監(jiān)控模式下,LJ12運行在生產(chǎn)時永久編程在LJ12中的存儲器區(qū)域中的監(jiān)控代碼。監(jiān)控代碼用于通過LJ12的PTA0管腳在LJ12和外部主機間實現(xiàn)串行通信。 對初始的空白LJ12閃存編程就是在監(jiān)控模式下進行的。

閃存初始編程

LJ12 操作模式在上電復(fù)位(POR)后鎖定,并由復(fù)位向量($FFFE-$FFFF)和下列管腳的邏輯電平?jīng)Q定:IRQ、 RST、 PTA0、 PTA1、 PTA2和PTC1。

塊保護的閃存

當閃存被塊保護(block protected)時,閃存是不能被擦除可編程的。地址為$FE09的閃存塊保護寄存器用來保護閃存的一塊或整個閃存。向塊保護寄存器中寫$FF將解除整個閃存的保護。

ROM駐留程序

LJ12中的ROM駐留程序旨在簡化用戶的閃存編程和擦除。這些程序是存儲在ROM中的永久代碼,可利用子程序調(diào)用執(zhí)行。表1 示出了閃存編程和擦除操作的四個程序。

用戶模式下的在電路編程

在用戶模式下的ICP可保證在目標系統(tǒng)運行的同時對LJ12中的閃存進行重新編程。對LJ12中的閃存進行重新編程分成兩步。第一步是通過擦除操作擦除閃存中的現(xiàn)有數(shù)據(jù)。最小的擦除單位是128字節(jié),稱為頁。閃存控制寄存器中的MASS位提供了一次操作擦除整個閃存陣列的選擇,這種操作稱為整體擦除(Mass erase)。必需指出的是,閃存中被擦除的單元讀出值為$FF。第二步是編程,即利用新的數(shù)據(jù)對空的閃存進行編程。因此,重新編程包括:擦除和編程兩步。

ICP 代碼

在用戶模式下進行ICP要求,ICP代碼存儲在可被用戶程序調(diào)用的非易失性存儲器中。這意味著ICP代碼必須做為用戶代碼的一部分編程到LJ12的閃存中。考慮到這一點,用戶模式下的ICP在閃存最初為空(空白器件)時是不能進行的。初始的空白器件必須在監(jiān)控模式下編程。

ICP代碼編程在閃存中,可以利用軟件或硬件啟動ICP過程,有兩種操作方式:

1.ICP 代碼通過LJ12的端口引腳或SCI接口建立LJ12與一個外部主機系統(tǒng)的通信連接。主機發(fā)出命令擦除LJ2的閃存并下載數(shù)據(jù)對閃存進行編程。在這種情況下,LJ12 ICP代碼就象一個命令解釋器。

2.ICP 代碼運行自己的擦除子程序擦除閃存。然后ICP代碼通過LJ12的端口引腳或SCI接口建立LJ12與一個外部主機系統(tǒng)的通信連接。新的數(shù)據(jù)下載編程到閃存中。

在兩種方法中,ICP代碼都必須加載到RAM存儲器中,并在RAM中執(zhí)行。當程序在閃存中運行時不允許編程或擦除操作。如果在ICP代碼還在閃存中運行時就進行編程或擦除操作,那么有擦除ICP代碼本身的危險。

監(jiān)控模式下的在電路編程

在監(jiān)控模式下, LJ12運行在制造過程中永久編程在存儲器中($FC00-$FDFF 和 $FE10-$FFCF)中的監(jiān)控代碼。LJ12器件中閃存的第一次編程只能在監(jiān)控模式下進行。

通過施加高電壓進入監(jiān)控模式

與許多Motorola 8位 MCU,通過在/IRQ引腳施加高電壓(對LJ12為1.5 * VDD、 max. 8V )和在幾個I/O引腳施加特定的邏輯電平(對LJ12為PTA1、 PTA2、和PTC1),則在上電復(fù)位(POR)之后進入監(jiān)控模式。利用這一高電壓進入方法時,MCU(在OSC1)的時鐘輸入必須來自外部振蕩器,頻率為4.9152MHz 或 9.8304MHz。通過對這一時鐘分頻在PTA0生成9600波特的通信速度。

通過空向量方法進入監(jiān)控模式

在新的閃存實施方案中,需要減少采用ICP對MCU進行編程時連接目標系統(tǒng)的線數(shù)。進入監(jiān)控模式的另一方法是空(被擦除)的復(fù)位向量。復(fù)位向量只有通過整體擦除操作擦除。 如果在上電復(fù)位后的模式鎖定過程中/IRQ引腳接地,PLL被使能,允許利用接在OSC1和OSC2間的32.768kHz晶體作為輸入時鐘,生成9600的波特率。如果IRQ引腳在上電復(fù)位后的模式鎖定過程中被拉成高(VDD),PLL被禁止,一個外部4.9152MHz輸入時鐘(晶體或外部振蕩器)將可產(chǎn)生4800的波特率。與高電壓進入方式相比,這一方法節(jié)約了三條線,不需要連接PTA1、 PTA2、和 PTC1。

在監(jiān)控模式下實現(xiàn)ICP的優(yōu)點是不需要在用戶代碼包含ICP代碼。此外,還可以利用MCUscribe 編程或 ICS Motorola工具通過PTA0串行連接實現(xiàn)PC主機系統(tǒng)與MCU的通信。

有關(guān) ICP的其它考慮

信號狀態(tài)

為無中斷地完成編程過程,在ICP操作中正常的系統(tǒng)活動通常被停止。因此,在ICP開始時,應(yīng)當配置MCU使得在ICP過程中不會產(chǎn)生引腳沖突或信失控號。同時還必須注意當帶有空白閃存的MCU系統(tǒng)第一次上電時,其端口引腳處于其缺省復(fù)位狀態(tài)。

引腳隔離

如果用于連接外部主機的 MCU引腳是與目標系統(tǒng)共享的,必須保證進行ICP連接時它們被隔離到適當?shù)倪壿嬰娖健?/p>

COP 看門狗操作

當在用戶模式下進行 ICP操作時,還必須考慮COP操作。一旦COP被使能,在用戶程序運行過程中是不能被禁止的。因此,在ICP擦除和編程程序中,COP計數(shù)器必須定時清除以防止COP復(fù)位。在監(jiān)控模式下,COP是被禁止的。

下面的代碼在用戶模式下完成整體擦除。RAMFILE存儲器區(qū)被保留用于存儲ERARNGE子程序調(diào)用的數(shù)據(jù)塊。當ICP請求被接受時,這一代碼需要上載到RAM中,然后才能通過調(diào)用RAMSTART執(zhí)行。然后 LJ12復(fù)位。在這一例子中,利用了非法操作碼進行復(fù)位。

;Reference upload coding for mass erase in user mode
ERARNGE EQU   $FCBE
       ORG    RAM
RAMFILE:
       DC.B   $14 ;Indicates 4*bus (bus=4.9152MHz)
       DC.B $40 ;Data size assumed to be 64
       DC.W $FFFF     ;$FFFF means mass erase
       DS.B   64 ;Reserve for data array
RAMSTART:
       LDHX   RAMFILE
       JSR    ERARNGE ;Mass erase the FLASH memory
RESET:
       DC.B   $32 ;Perform illegal opcode reset

復(fù)位后,因為復(fù)位向量是空的,LJ12進入監(jiān)控模式。通過在PTA0(參考數(shù)據(jù)手冊中的監(jiān)控ROM一節(jié))連接一個主機,可以把下列代碼加載到LJ12 RAM中實現(xiàn)閃存的編程。

;Reference upload coding for programming in monitor mode
MON_PRGRNGE EQU   $FF28
       ORG RAM
RAMFILE:
       DC.B $14      ;Indicates 4*bus (bus=4.9152MHz)
       DC.B   $40     ;Data size assumed to be 64
       DC.W   $C000     ;Start of FLASH memory
       DS.B   64 ;Reserve for data array
FLASHPRG:
LDHX RAMFILE
JSR    MON_PRGRNGE

RAMFILE存儲器區(qū)被保留用于存儲MON_PRGRNGE子程序調(diào)用的數(shù)據(jù)塊。用戶使用監(jiān)控命令WRITE或IWRITE利用數(shù)據(jù)填充RAMFILE區(qū)域,然后發(fā)出執(zhí)行(RUN)命令執(zhí)行FLASHPRG程序?qū)?shù)據(jù)編程到閃存中。完成后, MON_PRGRNGE將控制返回給監(jiān)控代碼。這一編程過程不斷重復(fù)直到整個閃存都被編程完。編程完畢后,LJ12在一個上電復(fù)位后進入用戶模式。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉