亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? iaptest.s

?? LPC2000系列32位微處理器外圍部件編程實(shí)例與模板
?? S
字號(hào):
;******************************************************************************	
; 文件名:IAPTEST.S
; 功能:LPC2200的IAP功能測(cè)試。
;      1. 選擇扇區(qū),命令代碼50
;      2. 復(fù)制RAM數(shù)據(jù)到FLASH,即FLASH編程,命令代碼51
;      3. 擦除扇區(qū),命令代碼52
;      4. 查空扇區(qū),命令代碼53
;      5. 讀取器件ID,命令代碼54
;      6. 讀取boot代碼版本號(hào),命令代碼55
;      7. 校驗(yàn)數(shù)據(jù),命令代碼56
; 說(shuō)明:使用JTAG調(diào)試,觀察操作返回值及操作結(jié)果。
;******************************************************************************	
                INCLUDE		LPC2294.INC
				EXPORT  	MAIN
                
IAP_Enter       EQU     0x7FFFFFF0              ; IAP入口地址定義
IAP_ParIn       EQU     0x40003E00              ; 定義IAP入口參數(shù)地址(緩沖區(qū)0x40003E00-0x40003E10)
IAP_ParOut      EQU     0x40003D00              ; 定義IAP出口參數(shù)地址(緩沖區(qū)0x40003D00-0x40003D10)

; 定義IAP命令字
IAP_SELSECTOR   EQU     50
IAP_RAMTOFLASH  EQU     51
IAP_ERASESECTOR EQU     52
IAP_BLANKCHK    EQU     53
IAP_READPARTID  EQU     54
IAP_BOOTCODEID  EQU     55
IAP_COMPARE     EQU     56

; 定義CCLK值大小,單位為KHz
IAP_FCCLK       EQU     11059

                
                AREA    IAPTESTC, CODE, READONLY
                ENTRY  

; 使用IAP功能時(shí),RAM的頂端的32字節(jié)保留給IAP操作使用;
; IAP入口為THUMB狀態(tài),所以調(diào)用時(shí)使用BX指令(切換處理器狀態(tài))。
                
MAIN            LDR     SP,=0x40003F00     		; 設(shè)置堆棧指針                

				LDR		R0,=MAMCR
				MOV		R1,#0x00				; 關(guān)閉MAM  
				STR		R1,[R0]							
   				LDR		R0,=PLLCON
				MOV		R1,#0x00				; 關(guān)閉PLL
				STR		R1,[R0]
				LDR		R0,=PLLFEED
				MOV		R1,#0xAA
				STR		R1,[R0]
				MOV		R1,#0x55
				STR		R1,[R0]
                
                ; 讀取器件ID
                BL      ReadParID
                
                ; 讀取boot代碼版本號(hào)
                BL      BootCodeID
                
                
                ; 選擇扇區(qū)1
                MOV     R2,#1                   ; 設(shè)置入口參數(shù),起始扇區(qū)號(hào)
                MOV     R3,#1                   ; 終止扇區(qū)號(hào)(要大于等于起始扇區(qū))
                BL      SelSector               ; 選擇操作扇區(qū)
                
                
                ; 擦除扇區(qū)1
                MOV     R2,#1
                MOV     R3,#1
                BL      EraseSector
                
                
                ; 查空扇區(qū)1
                MOV     R2,#1
                MOV     R3,#1
                BL      BlankCHK
                
                  
                ; 選擇扇區(qū)1
                MOV     R2,#1                   ; 設(shè)置入口參數(shù),起始扇區(qū)號(hào)
                MOV     R3,#1                   ; 終止扇區(qū)號(hào)(要大于等于起始扇區(qū))
                BL      SelSector               ; 選擇操作扇區(qū)
                ; 寫數(shù)據(jù)到扇區(qū)1
                MOV     R2,#0x00002000
                MOV     R3,#0x40000000
                MOV     R4,#512
                BL      RamToFlash
                
                ; 選擇扇區(qū)1
                MOV     R2,#1                   ; 設(shè)置入口參數(shù),起始扇區(qū)號(hào)
                MOV     R3,#1                   ; 終止扇區(qū)號(hào)(要大于等于起始扇區(qū))
                BL      SelSector               ; 選擇操作扇區(qū)
                ; 查空扇區(qū)1
                MOV     R2,#1
                MOV     R3,#1
                BL      BlankCHK 
                
                
                ; 比較數(shù)據(jù)
                MOV     R2,#0x00002000          
                MOV     R3,#0x40000000
                MOV     R4,#512
                BL      Compare
                
HALT            B       HALT    
                
                
;******************************************************************************	
; 名稱:SelSector
; 功能:IAP操作扇區(qū)選擇,命令代碼50
; 入口參數(shù):R2      起始扇區(qū)
;          R3      終止扇區(qū)
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************	                
SelSector
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_SELSECTOR       ; 設(shè)置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設(shè)置,起始扇區(qū)
                STR     R3,[R0,#8]              ; 終止扇區(qū)
                
                ADR     LR,SelSrExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
SelSrExt        LDMFD   SP!,{R0-R7,PC}


;******************************************************************************	
; 名稱:RamToFlash
; 功能:復(fù)制RAM的數(shù)據(jù)到FLASH,命令代碼51
; 入口參數(shù):R2      目標(biāo)地址,即FLASH起始地址。以512字節(jié)為分界
;          R3      源地址,即RAM地址。地址必須字對(duì)齊
;          R4      復(fù)制字節(jié)個(gè)數(shù),為512/1024/4096/8192
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;      在使用此程序前,要先選擇操作扇區(qū)。
;******************************************************************************
RamToFlash
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R5,#IAP_RAMTOFLASH      ; 設(shè)置命令字
                STR     R5,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設(shè)置,目標(biāo)地址
                STR     R3,[R0,#8]              ; 源地址
                STR     R4,[R0,#12]             ; 操作字節(jié)數(shù)
                LDR     R4,=IAP_FCCLK   
                STR     R4,[R0,#16]             ; CCLK頻率
                
                ADR     LR,RamTFExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
RamTFExt        LDMFD   SP!,{R0-R7,PC}


;******************************************************************************	
; 名稱:EraseSector
; 功能:扇區(qū)擦除,命令代碼52
; 入口參數(shù):R2      起始扇區(qū)
;          R3      終止扇區(qū)
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;      在使用此程序前,要先選擇操作扇區(qū)。
;******************************************************************************
EraseSector
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_ERASESECTOR     ; 設(shè)置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設(shè)置,起始扇區(qū) 
                STR     R3,[R0,#8]              ; 終止扇區(qū)
                LDR     R4,=IAP_FCCLK   
                STR     R4,[R0,#12]             ; CCLK頻率
                
                ADR     LR,EraseSrExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
EraseSrExt      LDMFD   SP!,{R0-R7,PC}



;******************************************************************************	
; 名稱:BlankCHK
; 功能:扇區(qū)查空,命令代碼53
; 入口參數(shù):R2      起始扇區(qū)
;          R3      終止扇區(qū)
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
BlankCHK
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_BLANKCHK        ; 設(shè)置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設(shè)置,起始扇區(qū) 
                STR     R3,[R0,#8]              ; 終止扇區(qū)
                
                ADR     LR,BlankCKExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
BlankCKExt      LDMFD   SP!,{R0-R7,PC}


;******************************************************************************	
; 名稱:ReadParID
; 功能:讀取器件ID,命令代碼54
; 入口參數(shù):無(wú)
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
ReadParID
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_READPARTID      ; 設(shè)置命令字
                STR     R4,[R0]
                
                ADR     LR,ReadPDExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
ReadPDExt       LDMFD   SP!,{R0-R7,PC}

;******************************************************************************	
; 名稱:BootCodeID
; 功能:讀取boot代碼版本號(hào),命令代碼55
; 入口參數(shù):無(wú)
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
BootCodeID
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_BOOTCODEID      ; 設(shè)置命令字
                STR     R4,[R0]
                
                ADR     LR,BootCDExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
BootCDExt       LDMFD   SP!,{R0-R7,PC}




;******************************************************************************	
; 名稱:Compare
; 功能:校驗(yàn)數(shù)據(jù),命令代碼56
; 入口參數(shù):R2      目標(biāo)地址,即RAM/FLASH起始地址。地址必須字對(duì)齊
;          R3      源地址,即FLASH/RAM地址。地址必須字對(duì)齊
;          R4      復(fù)制字節(jié)個(gè)數(shù),必須能被4整除
; 出口參數(shù):IAP返回值
; 說(shuō)明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
Compare
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R5,#IAP_COMPARE         ; 設(shè)置命令字
                STR     R5,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設(shè)置,目標(biāo)地址
                STR     R3,[R0,#8]              ; 源地址
                STR     R4,[R0,#12]             ; 操作字節(jié)數(shù)
                
                
                ADR     LR,CompareExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
CompareExt      LDMFD   SP!,{R0-R7,PC}
                
                
                END
                			


?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区在线免费观看| 亚洲精品成人悠悠色影视| 成人精品视频一区| 日本麻豆一区二区三区视频| 国产精品另类一区| 欧美久久久一区| 99精品欧美一区二区三区综合在线| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲三级小视频| 精品不卡在线视频| 91精品国产一区二区三区蜜臀| 色综合久久中文综合久久牛| 国产精品一区二区在线播放 | 91毛片在线观看| 国产一区二区在线看| 视频在线观看一区| 亚洲午夜电影在线观看| 亚洲欧洲精品一区二区三区| 国产亚洲一区二区三区在线观看| 在线播放欧美女士性生活| 一本一本大道香蕉久在线精品| 成人午夜视频在线| 国产乱码精品一品二品| 久久99这里只有精品| 日韩二区三区四区| 午夜精品福利一区二区蜜股av| 一区二区三区精品在线| 亚洲色图在线看| 中文字幕一区二区三区色视频| 欧美激情一区二区在线| 亚洲色图制服丝袜| 亚洲国产精品久久久久秋霞影院| 欧美激情中文不卡| 久久久久久黄色| 亚洲免费色视频| 亚洲免费资源在线播放| 亚洲欧美日韩中文字幕一区二区三区| 国产精品久久精品日日| 国产精品青草久久| 欧美一区二区黄| 欧美一区二区三级| 欧美本精品男人aⅴ天堂| 日韩精品专区在线| 2023国产精品自拍| 国产亚洲短视频| 亚洲国产精品二十页| 国产精品电影一区二区三区| 中文字幕一区二区三区不卡 | 最近日韩中文字幕| 成人欧美一区二区三区视频网页 | 亚洲第一综合色| 午夜精品久久久久久久久久久| 亚洲444eee在线观看| 亚洲午夜一区二区| 日本不卡一区二区三区高清视频| 美女视频黄a大片欧美| 精品一区二区在线看| 国产成人av自拍| 91麻豆swag| 欧美二区三区的天堂| 2014亚洲片线观看视频免费| 国产精品伦一区二区三级视频| 一区二区三区在线看| 午夜精品123| 精品午夜久久福利影院 | 日韩色视频在线观看| 精品动漫一区二区三区在线观看| 国产欧美精品一区二区三区四区| 亚洲欧美日韩中文播放| 日韩黄色免费电影| 成人一二三区视频| 欧美日韩一区不卡| 久久伊人中文字幕| 夜夜嗨av一区二区三区网页| 美女一区二区久久| av不卡一区二区三区| 91麻豆精品国产91| 欧美国产精品中文字幕| 亚洲成人免费影院| 国产成人午夜99999| 欧美日韩在线三级| 国产欧美一区二区三区网站| 一卡二卡欧美日韩| 国产一区二区毛片| 欧美在线视频不卡| 久久久精品免费观看| 亚洲国产视频在线| 丁香网亚洲国际| 884aa四虎影成人精品一区| 国产精品色婷婷| 日本系列欧美系列| 91免费在线播放| 久久香蕉国产线看观看99| 亚洲国产婷婷综合在线精品| 成人一区二区三区视频| 日韩欧美一二区| 亚洲综合激情另类小说区| 国产精品 日产精品 欧美精品| 欧美精品九九99久久| 亚洲欧美综合色| 国内精品伊人久久久久av影院| 欧美日韩一区二区三区视频| 国产精品电影一区二区三区| 国内成人精品2018免费看| 欧美色手机在线观看| 亚洲欧美自拍偷拍| 国产不卡视频在线观看| 日韩欧美国产不卡| 图片区日韩欧美亚洲| eeuss影院一区二区三区| 久久综合网色—综合色88| 日韩成人免费看| 欧美午夜不卡在线观看免费| 日韩一区在线免费观看| 风间由美一区二区av101| 久久久亚洲高清| 久久se精品一区精品二区| 6080亚洲精品一区二区| 亚洲电影一级片| 欧美在线综合视频| 亚洲一区自拍偷拍| 欧美亚洲综合一区| 一区二区三区高清| 在线视频国内一区二区| 亚洲视频一二区| 不卡视频在线看| 国产精品乱人伦中文| 成人黄色软件下载| 国产精品伦理一区二区| 成人精品小蝌蚪| 中文字幕一区免费在线观看| 99免费精品在线观看| 中文字幕日韩一区| 99国产欧美另类久久久精品 | 麻豆91免费观看| 日韩欧美一区在线| 狠狠狠色丁香婷婷综合久久五月| 精品久久一区二区三区| 精品亚洲国内自在自线福利| 精品久久久久久久久久久久包黑料 | 精品一区二区三区视频在线观看| 精品国产sm最大网站免费看| 国精品**一区二区三区在线蜜桃| 久久夜色精品国产噜噜av | 国产乱人伦精品一区二区在线观看 | 久久99九九99精品| 欧美tk丨vk视频| 国产美女在线观看一区| 国产精品热久久久久夜色精品三区| 成人av在线影院| 亚洲乱码国产乱码精品精小说| 欧美三级三级三级爽爽爽| 秋霞国产午夜精品免费视频| 欧美一区二区国产| 国产成人免费视频| 亚洲欧美日韩国产中文在线| 欧美日韩一卡二卡| 久久99久久精品欧美| 国产精品麻豆欧美日韩ww| 在线视频你懂得一区| 美女一区二区视频| 国产精品麻豆欧美日韩ww| 欧美色成人综合| 国产美女一区二区三区| 亚洲精品日韩一| 欧美一区二区私人影院日本| 国产激情91久久精品导航| 亚洲欧美经典视频| 欧美一区二区视频网站| 懂色av噜噜一区二区三区av| 亚洲午夜久久久久久久久电影网| 91精品国产综合久久福利| 成人午夜大片免费观看| 亚洲成人777| 国产亚洲精品7777| 欧美日韩1区2区| 丰满少妇在线播放bd日韩电影| 亚洲国产日产av| 久久精品欧美日韩| 在线视频一区二区三区| 激情欧美日韩一区二区| 亚洲美女一区二区三区| 26uuu欧美| 在线观看视频91| 国产乱淫av一区二区三区| 亚洲成人av免费| 国产精品国产三级国产aⅴ无密码| 3d动漫精品啪啪| 91丨九色丨尤物| 精品夜夜嗨av一区二区三区| 亚洲影院理伦片| 日本一区二区三区在线观看| 欧美日韩成人综合在线一区二区| 国产精品99久久久久| 日本成人在线不卡视频| 一区二区三区成人在线视频| 国产精品视频一区二区三区不卡| 日韩一区二区电影网| 91成人网在线| 成人亚洲精品久久久久软件|