《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > S3C44B0的初始化程序的理解
S3C44B0的初始化程序的理解
摘要: S3C44B0的初始化程序的理解,S3C44B0的初始化程序就是初始化各個關鍵的寄存器,建立中斷向量,然后轉移到主函數去執行程序。不過S3C44B0不支持地址映射,所以程序不COPY到RAM種執行。S3C44B0初始化對我們廣大初學者來說,比較難理解的是中斷的處
Abstract:
Key words :

S3C44B0的初始化程序就是初始化各個關鍵的寄存器,建立中斷向量,然后轉移到主函數去執行程序。不過S3C44B0不支持地址映射,所以程序不COPY到RAM種執行。S3C44B0初始化對我們廣大初學者來說,比較難理解的是中斷的處理和一些少見的操作符號,S3C44B0的中斷子程序地址存放在初始化程序最后就是

  HandleADC # 4

  HandleRTC # 4

  HandleUTXD1 # 4

  HandleUTXD0 # 4

  HandleSIO # 4

  HandleIIC # 4

  HandleURXD1 # 4

  HandleURXD0 # 4

  這一段,它的其實地址是ISR_STARTADDRESS,個人寫中斷程序的時候,子程序地址被編譯器連放在相應的位置。初始化完成后,程序轉通過BL Main 轉到用戶定義的主程序上執行。以下是我個人的一些理解,有錯誤的地方希望大家指出來。

  GBLL THUMBCODE

  [ {CONFIG} = 16

  THUMBCODE SETL {TRUE}

  CODE32

  |

  THUMBCODE SETL {FALSE}

  ]

  [ THUMBCODE

  CODE32 ;for start-up code for Thumb mode

  ]

  ×××××××××××××××××××××××

  其中[=IF ,|=ELSE ,]= ENDIF, CODE32 表明一下操作都在ARM狀態。這些都是偽操作

  這段我理解為設定THUMCODE的值,然后確定,用戶的程序是在ARM狀態還是THUM狀態。不過不管THUMCODE是何值,下面代碼都是ARM狀態

  這段沒有什么很復雜的,就是這三個[,|,]操作符讓我迷惑了半天,翻了半天書才找到解釋

  MACRO 宏 偽操作

  $HandlerLabel HANDLER(宏的名稱) $HandleLabel(宏的參數)

  $HandlerLabel

  sub sp,sp,#4 ;decrement sp(to store jump address)

  stmfd sp!,{r0} ;PUSH the work register to stack(lr does't push because it return to original address)

  ldr r0,=$HandleLabel;load the address of HandleXXX to r0

  ldr r0,[r0] ;load the contents(service routine start address) of HandleXXX

  str r0,[sp,#4] ;store the contents(ISR) of HandleXXX to stack

  ldmfd sp!,{r0,pc} ;POP the work register and pc(jump to ISR)

  MEND

  *******************************

  這段當初我覺得比較難理解,不過通過看各種程序,對這段有了一個基本的理解。這個宏的作用是把各個中斷程序的地址裝入當前的PC,44B0有兩種裝斷模式 一種是沒有中斷向量表,一種是使用中斷向量表的

  使用中斷向量表只能是IRQ方式,當使用中斷向量表的時候,中斷發生時由44B0的中斷控制器自動跳轉到

  相應的位置。比如在中斷向量表的模式下,一個外部中斷0發生程序自動跳轉到 地址0X20處,0X20地址單元的指令時ldr pc,=HandlerEINT0

  因而程序PC跳到HandlerEINT0處,執行這個宏操作,把外部中斷的函數的地址賦給PC。 44B0里面定義了一個

  #define pISR_EINT0 (*(unsigned *)(_ISR_STARTADDRESS+0x84)) ,_ISR_STARTADDRES是中斷程序地址的起始地址,_ISR_STARTADDRESS+0X84是HandleEINT0的地址

  例如一個外部中斷函數名void EXINT(),程序里執行 pISR_EINT0=(unsigned)EXIT,就把自己的函數地址賦給了標號為HandleEINT0處的內存單元

  IMPORT |Image$$RO$$Limit| ; End of ROM code (=start of ROM data)

  IMPORT |Image$$RW$$Base| ; Base of RAM to initialise

  IMPORT |Image$$ZI$$Base| ; Base and limit of area

  IMPORT |Image$$ZI$$Limit| ; to zero initialise

  ××××××××××××××××××××××××××××××××××

  這段我個人的理解為這些是連接器生成的于輸出段相關的符號,是在沒有使用SCATTER文件的情況可以調用。這段指出了在ROM和RAM種的數據的地址,這些地址應該是連接器生成的,不過為什么能調用

  連接器生產的符號,我不大明白其中的原因,還希望各位說說自己的理解

  IsrIRQ ;using I_ISPR register.

  sub sp,sp,#4 ;reserved for PC

  stmfd sp!,{r8-r9}

  ;IMPORTANT CAUTION

  ;if I_ISPC isn't used properly, I_ISPR can be 0 in this routine.

  ldr r9,=I_ISPR

  ldr r9,[r9]

  mov r8,#0x0

  0

  movs r9,r9,lsr #1

  bcs %F1

  add r8,r8,#4

  b %B0

  1

  ldr r9,=HandleADC

  add r9,r9,r8

  ldr r9,[r9]

  str r9,[sp,#8]

  ldmfd sp!,{r8-r9,pc}

  ×××××××××××××××××××××××

  這段是沒有使用裝斷向量模式下如何裝載中斷子程序,因為44B0有30個中斷源,所以需要程序處理以確定調用那個中斷程序

  0,1是局部標號,%B是向后搜索局部標號, %F是向前搜索局部標號 。都是偽操作

  I_ISPR寄存器各位表明發生了應該調用那個中斷子程序。只能1位置位,其它位為0,比如說串口1發送中斷發生,這時I_ISPR的

  值為0X04,ldr r9,=I_ISPR

  ldr r9,[r9] 兩條指令后,r9的內容為0X4 ,

  movs r9,r9,lsr #1 r9內容右移一位

  bcs %F1 判斷是否把置位是否轉移到C位,

  add r8,r8,#4 如果沒有的R8加4

  如果r9內容為0x04 需要右移3次 ,之后r8的內容為8 然后HandleADC的地址 加上r8的值 就是串口1發送中斷的地址,這個地址的內容是中斷子程序的地址

  再說明幾個偽操作:^=MAP. #=field

  別的方面我覺得比較容易理解了,就不多講了。
 

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲黄色成人久久久| 亚洲欧美卡通另类91av| 免费观看亚洲视频大全| 欧美精品久久一区| 欧美乱人伦中文字幕在线| 欧美三级日韩三级国产三级| 欧美日韩综合久久| 国产精品视频免费在线观看| 老司机免费视频一区二区| 久久激情视频| 久久人人97超碰人人澡爱香蕉| 亚洲伊人网站| 国产精品毛片一区二区三区| 亚洲视频成人| 午夜久久久久| 免费人成精品欧美精品| 久久青草欧美一区二区三区| 国产精品久久久久天堂| 蜜乳av另类精品一区二区| 亚洲少妇最新在线视频| av成人毛片| 欧美精品综合| 精品999在线播放| 久久九九国产| 国产亚洲精品bv在线观看| 激情成人综合| 免费观看久久久4p| 一区二区三区国产精品| 国产一区二区中文字幕免费看| 亚洲国产精品久久久久秋霞影院| 久久一二三四| 亚洲精品免费看| 亚洲欧美在线观看| 国产一区二区毛片| 亚洲精品视频在线观看网站| 韩国女主播一区二区三区| 欧美色欧美亚洲另类二区| 激情成人亚洲| 欧美人与禽猛交乱配视频| 香蕉久久久久久久av网站| 久久综合久久综合久久综合| 亚洲精品小视频在线观看| 欧美在线视频免费观看| 欧美激情一区二区三区四区| 欧美福利一区| 国产精品一区二区三区四区| 亚洲欧美日韩另类| 国产欧美日韩精品专区| 一区二区冒白浆视频| 久久高清福利视频| 亚洲裸体俱乐部裸体舞表演av| 久久频这里精品99香蕉| 久久久久综合| 亚洲国产第一| 国产自产v一区二区三区c| 亚洲视频一区在线观看| 亚洲区一区二区三区| 欧美日韩在线精品一区二区三区| 国产一区二区久久精品| 亚洲欧美清纯在线制服| 国产精品欧美日韩一区二区| 久久精品成人欧美大片古装| 欧美成人xxx| 在线欧美日韩国产| 亚洲理论在线| 亚洲一区二区三区成人在线视频精品| 西瓜成人精品人成网站| 亚洲九九九在线观看| 久久午夜电影网| 久久久高清一区二区三区| 欧美日韩国产小视频在线观看| 欧美片第一页| 国产精品毛片在线看| 久久婷婷一区| 亚洲制服欧美中文字幕中文字幕| 久久国产88| 亚洲视频免费看| 欧美视频精品在线观看| 亚洲在线视频观看| 国产精品久久久久久福利一牛影视| 在线亚洲精品福利网址导航| 国产精品99一区二区| 亚洲深爱激情| 亚洲一级特黄| 国产一本一道久久香蕉| 国产精品网站视频| 久久久.com| 亚洲自拍偷拍麻豆| 母乳一区在线观看| 亚洲欧洲在线一区| 亚洲免费av观看| 亚洲精品国产系列| 亚洲国产精品日韩| 久久中文字幕一区| 国产欧美另类| 麻豆国产va免费精品高清在线| 亚洲综合视频网| 欧美激情精品久久久久| 激情成人中文字幕| 欧美日韩在线三区| 亚洲精品一区二区在线观看| 亚洲精品黄网在线观看| 蜜臀va亚洲va欧美va天堂| 欧美午夜影院| 亚洲视频在线观看视频| 性欧美1819sex性高清| 久久露脸国产精品| 欧美精品在线网站| 免费在线观看成人av| 国产欧美一区二区精品性| 亚洲美洲欧洲综合国产一区| 91久久精品久久国产性色也91| 亚洲网站视频| 欧美日韩精品综合在线| 99这里只有久久精品视频| 欧美一区三区三区高中清蜜桃| 久久频这里精品99香蕉| 国产精品久久福利| 欧美深夜福利| 亚洲欧美99| 欧美日韩另类视频| 免费成人av资源网| 欧美日韩国产不卡| 亚洲精品一区二区三区四区高清| 99在线|亚洲一区二区| 欧美国产极速在线| 国产精品蜜臀在线观看| 国产永久精品大片wwwapp| 国产精品综合色区在线观看| 欧美激情亚洲综合一区| 久久亚洲视频| 久久久女女女女999久久| 久久噜噜亚洲综合| 久久性色av| 久久综合免费视频影院| 一区二区三区欧美亚洲| 亚洲视频精品| 国产一区二区三区四区| 欧美阿v一级看视频| 久久夜色精品国产亚洲aⅴ| 黄色资源网久久资源365| 亚洲国产另类 国产精品国产免费| 国产精品成人免费| 精品不卡一区二区三区| 亚洲国产成人精品久久| 一区二区欧美国产| 国产精品男人爽免费视频1| 狠狠色丁香婷婷综合久久片| 亚洲国产精品成人| 国产日韩在线播放| 卡通动漫国产精品| 狠狠色噜噜狠狠色综合久| 国产精品日韩精品| 免费观看一级特黄欧美大片| 亚洲国产日韩在线一区模特| 久久国产乱子精品免费女| 久久性天堂网| 亚洲黄色三级| 亚洲色图制服丝袜| 免费成人在线视频网站| 国产嫩草一区二区三区在线观看| 国内久久精品视频| 国产一区二区中文字幕免费看| 国产日韩欧美一区二区三区四区| 欧美精选在线| 国产精品国产三级国产aⅴ浪潮| 亚洲大胆av| 久久婷婷色综合| 国语自产偷拍精品视频偷| 尤物yw午夜国产精品视频| 美脚丝袜一区二区三区在线观看| 久久综合久久综合久久综合| 中文日韩欧美| 欧美综合第一页| 欧美视频免费在线| 亚洲成色777777女色窝| 亚洲午夜日本在线观看| 国产精品视频不卡| 欧美三级日本三级少妇99| 欧美日韩黄色大片| 美女脱光内衣内裤视频久久影院| 午夜精品视频在线| 免费欧美在线| 亚洲美女性视频| 欧美国产在线观看| 欧美mv日韩mv国产网站app| 亚洲二区视频| 欧美人成网站| 亚洲动漫精品| 欧美激情亚洲综合一区| 极品少妇一区二区三区| 欧美另类高清视频在线| 久久免费一区| 久久精品一二三| 葵司免费一区二区三区四区五区| 男人的天堂成人在线| 久久精品91| 欧美日韩99| 久久精品亚洲精品| 国产有码在线一区二区视频| 99精品视频免费| 国产日韩欧美中文| 欧美日韩不卡视频| 久久久精品国产免费观看同学| 亚洲美女免费视频| 亚洲国产小视频在线观看| 欧美成年人网| 亚洲一区二区四区| 欧美大片18| 亚洲欧美视频| 国产精品婷婷| 亚洲精品久久久久久久久久久| 欧美日韩网站| 浪潮色综合久久天堂| 精品福利av| 国产综合久久久久久| 欧美中文在线字幕| 欧美3dxxxxhd| 亚洲专区在线| 国产精品高潮呻吟久久| 亚洲精品网址在线观看| 欧美香蕉视频| 欧美日韩亚洲高清| 中文精品视频一区二区在线观看| 国产精品超碰97尤物18| 亚洲精品在线观看视频| 亚洲精品国产精品乱码不99按摩| 亚洲第一中文字幕| 国产一区在线看| 久久亚洲一区| 在线不卡中文字幕播放| 欧美视频中文一区二区三区在线观看| 国产精品视频一区二区三区| 国产午夜精品久久久久久免费视| 开元免费观看欧美电视剧网站| 欧美日韩精品二区| 激情综合激情| 午夜精品久久久久久久99水蜜桃| 亚洲一区二区伦理| 亚洲国产精品一区制服丝袜| 亚洲美女在线观看| 国产精品大片| 欧美精品一区二区三区高清aⅴ| 在线观看欧美一区| 欧美激情第六页| 亚洲欧美日本日韩| aaa亚洲精品一二三区| 国产精品影音先锋| 欧美在线视频导航| 欧美与欧洲交xxxx免费观看| 欧美日韩在线不卡一区| 欧美精品一线| 亚洲字幕在线观看| 午夜欧美大尺度福利影院在线看| 欧美日韩国产一区二区三区| 欧美一级片在线播放| 亚洲欧美一区二区视频| 欧美日本一道本| 久久综合一区二区| 国产一区二区欧美| 欧美中文字幕视频在线观看| 亚洲一区二区免费在线| 欧美午夜激情小视频| 亚洲永久免费av| 久久大香伊蕉在人线观看热2| 亚洲乱码精品一二三四区日韩在线| 欧美日韩国内| 亚洲精品综合久久中文字幕| 亚洲精品一区二| 亚洲欧美日韩综合aⅴ视频| 国内精品久久久久久久影视蜜臀| 久久综合国产精品台湾中文娱乐网| 欧美日韩国内自拍| 一区二区三区免费网站| 亚洲午夜激情网页| 亚洲视频综合在线| 一本色道综合亚洲| 中文一区在线| 国产精品白丝av嫩草影院| 亚洲茄子视频| 亚洲福利视频二区| 国产精品久久久久久久久久免费| 夜夜爽av福利精品导航| 国产午夜精品全部视频在线播放| 午夜在线精品| 久久免费的精品国产v∧| 宅男噜噜噜66一区二区| 久久精品毛片| 国产精品视频免费一区| 国产精品久久久久婷婷| 欧美色欧美亚洲另类二区| 女同性一区二区三区人了人一| 久久综合国产精品| 亚洲福利国产| 亚洲国产三级| 欧美日韩国产成人在线观看| 国产精品自在在线| 激情视频亚洲| 国产精品日韩在线| 亚洲网站视频福利| 国产精品v一区二区三区| 欧美精品在线一区二区| 亚洲精品一区二区在线| 你懂的一区二区| 在线综合欧美| 亚洲欧洲一区二区三区| 久久久久久久成人| 欧美精品激情在线观看| 亚洲一区二区三区在线| 国产精品自拍一区| 欧美一区二区在线免费观看| 久久一日本道色综合久久| 一区二区电影免费在线观看| 国产精品播放| 国产一区二区三区日韩欧美| 亚洲第一精品影视| 亚洲最新视频在线播放| 欧美亚洲免费在线| 一区二区三区日韩| 午夜久久久久久| 亚洲精品免费在线| 国内精品免费在线观看| 国产精品国产精品国产专区不蜜| 欧美成人a视频| 欧美精品国产一区二区| 性欧美大战久久久久久久久| 欧美日韩精品免费观看视频完整| 欧美高清视频一区二区|