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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? iaptest.s

?? 基于ARM7的LPC21XX系列的部分匯編源碼
?? S
字號:
;******************************************************************************	
; 文件名:IAPTEST.S
; 功能:LPC2100的IAP功能測試。
;      1. 選擇扇區(qū),命令代碼50
;      2. 復制RAM數(shù)據(jù)到FLASH,即FLASH編程,命令代碼51
;      3. 擦除扇區(qū),命令代碼52
;      4. 查空扇區(qū),命令代碼53
;      5. 讀取器件ID,命令代碼54
;      6. 讀取boot代碼版本號,命令代碼55
;      7. 校驗數(shù)據(jù),命令代碼56
; 說明:使用JTAG調(diào)試,觀察操作返回值及操作結果。
;******************************************************************************	
                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功能時,RAM的頂端的32字節(jié)保留給IAP操作使用;
; IAP入口為THUMB狀態(tài),所以調(diào)用時使用BX指令(切換處理器狀態(tài))。
                
MAIN            LDR     SP,=0x40003F00     		; 設置堆棧指針                
				LDR		R0,=MAMCR
				MOV		R1,#0x00				; 關閉MAM  
				STR		R1,[R0]							
   				LDR		R0,=PLLCON
				MOV		R1,#0x00				; 關閉PLL
				STR		R1,[R0]
				LDR		R0,=PLLFEED
				MOV		R1,#0xAA
				STR		R1,[R0]
				MOV		R1,#0x55
				STR		R1,[R0]	

                
                ; 讀取器件ID
                BL      ReadParID
                
                ; 讀取boot代碼版本號
                BL      BootCodeID
                
                
                ; 選擇扇區(qū)1
                MOV     R2,#1                   ; 設置入口參數(shù),起始扇區(qū)號
                MOV     R3,#1                   ; 終止扇區(qū)號(要大于等于起始扇區(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ù),起始扇區(qū)號
                MOV     R3,#1                   ; 終止扇區(qū)號(要大于等于起始扇區(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ù),起始扇區(qū)號
                MOV     R3,#1                   ; 終止扇區(qū)號(要大于等于起始扇區(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返回值
; 說明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************	                
SelSector
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_SELSECTOR       ; 設置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設置,起始扇區(qū)
                STR     R3,[R0,#8]              ; 終止扇區(qū)
                
                ADR     LR,SelSrExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
SelSrExt        LDMFD   SP!,{R0-R7,PC}


;******************************************************************************	
; 名稱:RamToFlash
; 功能:復制RAM的數(shù)據(jù)到FLASH,命令代碼51
; 入口參數(shù):R2      目標地址,即FLASH起始地址。以512字節(jié)為分界
;          R3      源地址,即RAM地址。地址必須字對齊
;          R4      復制字節(jié)個數(shù),為512/1024/4096/8192
; 出口參數(shù):IAP返回值
; 說明:使用了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      ; 設置命令字
                STR     R5,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設置,目標地址
                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返回值
; 說明:使用了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     ; 設置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(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返回值
; 說明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
BlankCHK
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_BLANKCHK        ; 設置命令字
                STR     R4,[R0]
                
                STR     R2,[R0,#4]              ; 參數(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ù):無
; 出口參數(shù):IAP返回值
; 說明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
ReadParID
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R4,#IAP_READPARTID      ; 設置命令字
                STR     R4,[R0]
                
                ADR     LR,ReadPDExt
                LDR     R5,=IAP_Enter+1
                BX      R5
                
ReadPDExt       LDMFD   SP!,{R0-R7,PC}

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




;******************************************************************************	
; 名稱:Compare
; 功能:校驗數(shù)據(jù),命令代碼56
; 入口參數(shù):R2      目標地址,即RAM/FLASH起始地址。地址必須字對齊
;          R3      源地址,即FLASH/RAM地址。地址必須字對齊
;          R4      復制字節(jié)個數(shù),必須能被4整除
; 出口參數(shù):IAP返回值
; 說明:使用了R0、R1指向的緩沖區(qū)作為IAP參數(shù)傳送緩沖區(qū)。
;******************************************************************************
Compare
                STMFD   SP!,{R0-R7,LR}
                
                LDR     R0,=IAP_ParIn          
                LDR     R1,=IAP_ParOut
                
                MOV     R5,#IAP_COMPARE         ; 設置命令字
                STR     R5,[R0]
                
                STR     R2,[R0,#4]              ; 參數(shù)設置,目標地址
                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
                			


?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲主播在线播放| 欧美日韩高清一区二区不卡| 成人91在线观看| 91麻豆免费看片| 色8久久精品久久久久久蜜| 欧美性猛交xxxx乱大交退制版| 欧美日韩国产另类一区| 精品国产91乱码一区二区三区| 中文字幕欧美国产| 亚洲制服丝袜av| 国模冰冰炮一区二区| k8久久久一区二区三区| 欧美日本一道本| 日本一区二区免费在线| 亚洲免费电影在线| 久久精品国产成人一区二区三区 | 色呦呦日韩精品| 欧美顶级少妇做爰| 久久精品视频一区| 一级精品视频在线观看宜春院| 麻豆精品在线视频| 97精品电影院| 日韩精品一区二区三区老鸭窝| 亚洲欧洲成人精品av97| 麻豆精品国产传媒mv男同| 成人av电影免费观看| 欧美二区乱c少妇| 亚洲色图欧洲色图婷婷| 六月婷婷色综合| 欧美日韩一级视频| 国产精品久久久久影视| 久久精品国产**网站演员| 色婷婷综合激情| 欧美mv日韩mv| 国产精品久久久久久久久免费桃花 | 午夜欧美一区二区三区在线播放| 成人午夜碰碰视频| 日韩区在线观看| 亚洲综合999| kk眼镜猥琐国模调教系列一区二区| 日韩免费视频一区| 午夜精品久久久久久久久久久 | 18涩涩午夜精品.www| 美女在线一区二区| 欧洲另类一二三四区| 国产欧美1区2区3区| 日本最新不卡在线| 色综合久久久久网| 国产清纯在线一区二区www| 日韩av在线免费观看不卡| 91精品福利视频| 久久精品视频网| 久久精品99国产精品| 欧美三级日韩三级国产三级| 亚洲日本中文字幕区| 国产一区二区伦理| 日韩亚洲欧美成人一区| 午夜av电影一区| 91麻豆国产福利在线观看| 国产精品嫩草影院com| 狠狠v欧美v日韩v亚洲ⅴ| 51精品久久久久久久蜜臀| 一区二区久久久久| 91久久一区二区| 亚洲三级免费观看| www.日本不卡| 日韩理论在线观看| 色哟哟在线观看一区二区三区| 国产精品乱码一区二三区小蝌蚪| 国产精品伊人色| 久久蜜桃av一区二区天堂| 久久aⅴ国产欧美74aaa| 亚洲精品在线观| 国内精品久久久久影院色| 久久色成人在线| 国产最新精品精品你懂的| 欧美精品一区二区三区久久久| 理论片日本一区| 精品久久五月天| 国产乱码精品1区2区3区| 精品国产一区二区精华| 黑人精品欧美一区二区蜜桃 | 韩国精品久久久| 精品国产一区二区三区久久久蜜月 | 91在线免费播放| 亚洲另类中文字| 在线欧美小视频| 日韩成人午夜电影| 91精品国产综合久久福利| 激情六月婷婷综合| 久久久久久久久久电影| 成人免费毛片嘿嘿连载视频| 国产精品看片你懂得| 99精品国产视频| 亚洲mv在线观看| 欧美一区二区成人| 国产精品自拍毛片| 国产精品视频观看| 在线亚洲精品福利网址导航| 一区二区久久久久| 欧美一区二区三区视频在线 | 久久人人爽爽爽人久久久| 国产大陆亚洲精品国产| 国产精品五月天| 91久久香蕉国产日韩欧美9色| 亚洲成国产人片在线观看| 欧美一区二区在线播放| 国产激情一区二区三区| 国产精品嫩草影院com| 91精品办公室少妇高潮对白| 日韩不卡在线观看日韩不卡视频| 日韩欧美电影一区| 成人免费av网站| 亚洲v中文字幕| 久久精品欧美一区二区三区麻豆| 色综合天天综合网天天看片| 婷婷久久综合九色综合绿巨人| 日韩你懂的在线观看| 波多野结衣中文字幕一区二区三区| 亚洲与欧洲av电影| 欧美精品一区二区高清在线观看| aa级大片欧美| 久久国产尿小便嘘嘘尿| 亚洲欧洲制服丝袜| 日韩欧美国产高清| 日本久久电影网| 国产在线看一区| 艳妇臀荡乳欲伦亚洲一区| 欧美成人乱码一区二区三区| 成人av网站在线观看免费| 丝袜美腿亚洲一区| 国产精品久久久久久久蜜臀| 91精品视频网| 99久久99久久精品国产片果冻| 美女爽到高潮91| 亚洲日本一区二区| 久久亚洲私人国产精品va媚药| 在线免费观看日本一区| 经典一区二区三区| 亚洲成人综合在线| 国产精品视频yy9299一区| 精品欧美久久久| 欧美综合亚洲图片综合区| 国产成人精品免费一区二区| 日韩专区一卡二卡| 亚洲你懂的在线视频| 国产三区在线成人av| 欧美日韩高清一区二区三区| 99精品久久免费看蜜臀剧情介绍| 国产一区二区看久久| 日韩专区一卡二卡| 亚洲一区二区三区影院| 国产精品萝li| 久久精子c满五个校花| 日韩免费高清av| 欧美日韩国产在线播放网站| 91影视在线播放| 成人免费的视频| 国产91丝袜在线观看| 免费在线欧美视频| 亚洲高清不卡在线观看| 一区二区三区在线观看欧美| 中文字幕国产一区| 久久久久久影视| 日韩精品一区二区三区视频在线观看| 欧美日韩一区不卡| 欧美天堂亚洲电影院在线播放 | 亚洲国产日日夜夜| 最近日韩中文字幕| 中文字幕成人网| 国产精品视频第一区| 中文字幕精品在线不卡| 国产亚洲1区2区3区| 久久综合成人精品亚洲另类欧美| 欧美一区二区三区不卡| 欧美日本国产视频| 在线观看91精品国产入口| 一本大道久久a久久综合| av一区二区三区在线| www.激情成人| 91在线你懂得| 欧美伊人久久久久久久久影院 | 怡红院av一区二区三区| 自拍偷拍国产亚洲| 自拍av一区二区三区| 亚洲欧洲99久久| 亚洲人一二三区| 亚洲精品国产一区二区精华液 | 色婷婷综合久久久中文一区二区 | 亚洲线精品一区二区三区八戒| 一区二区三区欧美在线观看| 艳妇臀荡乳欲伦亚洲一区| 夜夜爽夜夜爽精品视频| 亚洲国产综合视频在线观看| 亚洲成人动漫在线免费观看| 青青草国产成人av片免费| 免费观看在线综合色| 国产最新精品精品你懂的| 大胆亚洲人体视频| 91美女蜜桃在线|