ucos在s3c2410上運行過程整體剖析之基礎(chǔ)知識- ARM9芯片知識
閱讀這些內(nèi)容前,希望你對計算機有了一點簡單的概念,最好學(xué)習(xí)過計算機組成原理并知道一些最基本的概念。如果你學(xué)習(xí)過51系列的單片機并且利用51系列的單片機做過一些開發(fā),那看這些內(nèi)容就很簡單了。如果你沒這些知識也沒關(guān)系,以我的學(xué)習(xí)經(jīng)歷來看,可以給大家一個學(xué)習(xí)計算機組成原理的建議。你可以先大致學(xué)習(xí)一下計算機組成原理,學(xué)完之后一般會對計算機有一個大體的了解,計算機專業(yè)在開設(shè)這門課時一般會安排計算機組成原理實驗,這個實驗大家要好好去做,這樣會打消你對計算機很神秘的認(rèn)識。有了這些基礎(chǔ)之后,建議大家去學(xué)51系列的單片機,在這個小型計算機上做一些開發(fā),這樣你就會對計算機組成原理有了更真實更深刻的認(rèn)識。學(xué)習(xí)了51系列單片機后,你也對計算機語言有了進一步的認(rèn)識。
好了,下面就介紹和運行UCOS有關(guān)的ARM9芯片知識。
一般一個單片機或者說是片上系統(tǒng),我們要理解的重要知識點有:
寄存器,和程序運行有最直接關(guān)系的東東。主要包括CPU內(nèi)部的通用寄存器和用于控制程序運行的控制寄存器,特殊功能寄存器。
存儲體系,主要內(nèi)容是如何存儲程序和數(shù)據(jù)以及如何組織內(nèi)存。
芯片的運行模式,這主要是從硬件上為程序運行提供不同的運行環(huán)境。
中斷,異常系統(tǒng),這是一個很重要的概念,中斷是人和計算機進行交互的重要手段。
片上資源的使用,比如定時器,串口等等資源。這些資源一般是可編程的,所謂可編程就是可以通過特殊概念寄存器對他們的工作方式和初始化環(huán)境進行設(shè)置。當(dāng)然這些硬件資源的使用不屬于ARM9芯片本身的知識,對CPU來說應(yīng)該是外設(shè)。
當(dāng)然,學(xué)習(xí)任何一種芯片都要學(xué)習(xí)它的匯編語言,匯編語言是芯片給我們留的唯一的借口,我們就只能通過匯編語言來給芯片發(fā)布命令,使其讓它按照我們的意愿來工作。關(guān)于ARM9芯片的匯編語言的學(xué)習(xí),這里就不在多說。參考資料為ARM9常用指令集.pdf
還有,學(xué)習(xí)一個芯片主要參考的資料為芯片廠家的datasheet文檔,學(xué)習(xí)以ARM9為內(nèi)核三星公司生產(chǎn)的芯片當(dāng)然是S3C2410datasheet。如果你的英語水平不好的話可以參考中文的資料----s3c2410中文手冊。
哦,對了,關(guān)于ARM芯片和S3C2410的關(guān)系和區(qū)別你可以百度一下,呵呵。
好了,言歸正傳。說說和運行UCOS有關(guān)的硬件知識。其實我上面所列舉的資料已經(jīng)很詳細了,你通過閱讀這些資料肯定能理解,我這里說的重點是這些知識和UCOS的聯(lián)系,因為我的主要目的是為大家介紹UCOS在S3C2410上是怎么運行的,只不過我要把它運行的環(huán)境先講清楚而已。
那就先講解處理器運行模式有關(guān)的知識,這里也包含了寄存器的知識了,同時異常和中斷的知識也一并講解。
從程序員的角度看,ARM920T有兩種匯編借口,ARM指令和THUMB指令。關(guān)于這兩種指令的相關(guān)知識和切換方式不在這里說明,請參考S3C2410datasheet。
下面就主要講解ARM狀態(tài)下的寄存器,以及芯片的七種工作模式。
ARM920T支持7種操作模式:
未完待續(xù)。。。。。。。。