日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]S3C2410的初始化代碼主要涉及到對系統(tǒng)主要模塊的配置、運行環(huán)境的建立、系統(tǒng)時鐘、MMU等模塊的配置,下面按執(zhí)行順序依次都各個部分進行分析:l程序入口:(ResetHandler)在程

S3C2410的初始化代碼主要涉及到對系統(tǒng)主要模塊的配置、運行環(huán)境的建立、系統(tǒng)時鐘、MMU等模塊的配置,下面按執(zhí)行順序依次都各個部分進行分析:

l程序入口:(ResetHandler)

在程序一開始,首先進行的一些操作主要保證初始化程序能夠順利的運行,因此主要包括關閉WDT、中斷,配置鎖相環(huán)等。

l配置memory接口

memory接口是確保數(shù)據(jù)訪問正確的基本保障,此處主要配置SFR寄存器中0x48000000開始的memory接口寄存器組,確保每個bank的位寬、訪問類型(waitable)以及時序參數(shù)正確。如果沒有特別的要求,一般來說時序參數(shù)使用默認值即可。

l初始化堆棧

ARM 有6種運行模式,必須為每一種模式提供獨立的堆棧空間,在堆棧設置之前是不能進行C函數(shù)的調(diào)用的。arm的堆棧模式是從高地址遞減的,我們可以將堆棧的首地址設在0x33ff8000處,往低依次為FIQ、IRQ、Abort、Undef、SVC,其中SVC和User模式不予區(qū)分。堆棧大小一般可在頭文件或者當前文件中修改。

l運行空間的初始化

這段代碼主要完成兩個功能,一是將RW數(shù)據(jù)搬運到RW空間(我們生成ROM鏡像時,RW數(shù)據(jù)是跟在RO數(shù)據(jù)之后的),二是初始化ZI數(shù)據(jù)段。當然,這段代碼存在的前提是代碼的運行環(huán)境只是標準的兩段式:一段RO空間和一段RW空間;并且在C程序入口時沒有調(diào)用編譯器的鏈接庫(__main)。后者已經(jīng)提供相應的功能,并且支持更加復雜的運行環(huán)境定義(使用SCF文件)。

l__rt_lib_init

在ADS1.2的環(huán)境中,如果在C入口沒有調(diào)用編譯器的鏈接庫(__main),那么在C程序一開始要調(diào)用該函數(shù)以初始化運行時的函數(shù)庫,以保證對ADS提供的某些庫函數(shù)能夠正常調(diào)用。

lMMU初始化

2410 的MMU支持1級&2級地址映射,在我們目前的應用中均采用1級section模式的地址映射,一個section的大小為1M,也就是說從邏輯地址到物理地址的轉變是這樣的一個過程:一個32位的地址,高12位決定了該地址在頁表中的index,這個index的內(nèi)容決定了該邏輯section對應的物理section;低20位決定了該地址在section中的偏移(index)。

因此從0x0~0xffffffff的地址空間總共可以分成0x1000(4K)個section,頁表中每項的大小為32個bit,因此頁表的大小為0x4000(16K)。所有示例程序的頁表統(tǒng)一存放在地址0x33ff8000。

每個頁表項的內(nèi)容如下:

31 20 19 12 11 10 9 8 5 4 32 1 0

Section對應的物理地址NULLAP0Domain1CB10

注:最低兩位(10)是section分頁的標識。

AP:Access Permission,區(qū)分只讀、讀寫、SVC&其它模式。

Domain:每個section都屬于某個Domain,一個有16個Domain,每個Domain的屬性由CP15的R3寄存器控制。在所有示例程序中,都只包含兩個Domain,一個是SFR地址以下(包括SFR)的空間,可訪問;另一個是SFR以上的空間,不可訪問。

C、B:這兩位決定了該section的cache&write buffer屬性,這與該段的用途(RO or RW)有密切關系。不同的用途要做不同的設置。

CB具體含義

00無cache,無寫緩沖,任何對memory的讀寫都反映到ASB總線上。對memory的操作過程中CPU需要等待。

01無cache,有寫緩沖,讀操作直接反映到ASB總線上。寫操作CPU將數(shù)據(jù)寫入到寫緩沖后繼續(xù)運行,由寫緩沖進行ASB操作。

10有cache,寫通模式,讀操作首先考慮cache hit;寫操作時直接將數(shù)據(jù)寫入寫緩沖,如果同時出現(xiàn)cache hit,那么也更新cache。

10有cache,寫回模式,讀操作首先考慮cache hit;寫操作也首先考慮cache,如果hit,則只修改cache,并將cache對應半行的dirty比特置位;如果miss,則寫入寫緩沖,觸發(fā)ASB總線操作。

雖然MMU只是使用了邏輯地址到物理地址的linear transfer(值不改變),但是由于MMU能夠引入cache&write buffer,因此系統(tǒng)性能有很大的提高!

配置時鐘比、重新設置PLL

2410內(nèi)部有三個時鐘:FCLK、HCLK、PCLK,分別供CPU、AHB總線和

APB總線使用,為了降低功耗,一般都選擇周期比為1:2:4的合理配置。 同時將PLL配置為運行環(huán)境時鐘,一般都達到最高202M。

IO初始化

將IO口配置為對應的功能選項,同時一般會點亮相應的LED燈。

中斷初始化

2410的內(nèi)存空間沒有remap的機制,應該中斷入口時鐘位于零地址。因此中

斷服務機制可以描述如下:

首先,不管使用那種啟動方式,必須確保一下代碼段位于內(nèi)存的0x0地址:

b ResetHandler

b HandlerUndef ;handler for Undefined mode

b HandlerSWI ;handler for SWI interrupt

b HandlerPabort ;handler for PAbort

b HandlerDabort ;handler for DAbort

b . ;reserved

b HandlerIRQ ;handler for IRQ interrupt

b HandlerFIQ ;handler for FIQ interrupt

除ResetHandler外,其余各項都是由如下的宏定義的一段代碼:

HandlerFIQ HANDLER HandleFIQ

MACRO

$HandlerLabel HANDLER $HandleLabel

$HandlerLabel

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

stmfd sp!,{r0};PUSH the work register to stack

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

ldr r0,[r0] ;load the contents

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

這段代碼的含義是通過堆棧將中斷向量表中的內(nèi)容賦給PC指針(如HandleFIQ是存放著FIQ服務程序入口地址的地址),自然程序就跳到相應的入口地址。

可見,中斷向量表存放的是各個中斷服務程序的入口地址,它是用來被加載的,而并不是可執(zhí)行代碼。為了統(tǒng)一,所有示例程序都將中斷向量表放在0x33ffff00開始的地址,并根據(jù)入口地址依次排列。

需要注意的是如果各種模式的服務程序用C語言定義,那么類型必須用__irq定義,以保證能夠正確返回。

初始化串口

串口統(tǒng)一選用UART0,模式采用115200、1bit STOP、No Parity。[!--empirenews.page--]

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據(jù)LED驅動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉