<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 消費電子 > 設計應用 > SH-3系列單片機的程序設計關(guān)鍵技術(shù)

SH-3系列單片機的程序設計關(guān)鍵技術(shù)

——
作者:余曉建 沈永林 郭超 時(shí)間:2007-04-23 來(lái)源:電子技術(shù)應用 收藏
SH一3是Renesas公司SupezH系列的高端32位RISC構架系列,具有低功耗、高性能、集成MMU、cache和電源管理模塊等特點(diǎn),處理速度為60~260MIPs。包括SH7705、SH7708、SH7709、SH7727、SH7729等,廣泛應用于彩色打印機、掃描儀、DVD解碼器等高端數碼設備上。SH7709S是系列中有代表性的一款,文中介紹方法均在SH7709S的系統中得到驗證。

主要介紹時(shí)三個(gè)部分:建立中斷處理程序結構、初始化C程序中賦初始值的變量和上電初始化流程。

1 建立中斷處理程序結構

的中斷處理方式與一般處理器不同,沒(méi)有固定的中斷向量表,比較靈括,用戶(hù)可以在存儲器中建立上述僅是對P09702的基本應用。通過(guò)該文介紹的方法,并結合SSDl303的指令集,讀者將能夠對P09702應用自如。一個(gè)處理異常事件(Exeeplaon events)的程序結構,作為中斷向量表。

SH一3把異常分為三類(lèi):復位(Reset)、普通異常事件(General excephon events)和中斷請求(G

eneral intemapt requests),復位包括上電、手動(dòng)和H—UDI復位,異常事件主要包括非法指令、地址錯誤等,中斷請求主要包括模塊中斷、外部中斷等。每種中斷都包含若干中斷源,每種中斷源對應INTEVT和IMEVT2寄存器中不同的異常碼。發(fā)生復位時(shí),程序會(huì )跳到地址AO000000H執行,發(fā)生異常事件和中斷請求時(shí),程序會(huì )跳轉到由向量基址寄存器VBR加不同偏移量決定的地址。不同的異常事件和中斷請求對應不同的偏移量。異常事件對應的偏移量是100H,其中因TLB寄存器產(chǎn)生的兩種異常對應的偏移量是400H,所有中斷請求對應的偏移量都是600H。初始化時(shí),要把對應的中斷處理程序放到相應的地址.如圖l所示。重置引導程序段(Starl段)應放在地址A00000000H的內存,當VBR=A0000000H時(shí),異常事件處理程序段(GEEntry段)放在VBR+100H=A0000100H處,TLB異常處理程序段(TLBEntry段)放在VBR+400H=A0000400H處,中斷請求處理程序段(INTEntry)放在VBR+600H=A0000600H處。系統給這幾個(gè)程序段分布的空間比較小,最大不超過(guò)1KB,其主要功能是保存CPU寄存器,然后跳轉到異常碼判斷程序,由判斷程序找出中斷源,并執行相應的處理程序。

程序段中內存分布示意圖

GEEntry、TLBEntry與INTEntry的處理過(guò)程類(lèi)似。下面以TLB異常為例來(lái)說(shuō)明這一處理過(guò)程。當發(fā)生TLB異常時(shí),程序跳轉到VBR+400H地址。進(jìn)入TLBEntry,首先把所有CPU寄存器保存到堆棧中(R15是堆棧指針),保存完畢后,跳轉到異常碼判斷程序TLBHandler,由TLBHandlei判定中斷源,并執行相應的處理程序。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>