国产肉体XXXX裸体137大胆,国产成人久久精品流白浆,国产乱子伦视频在线观看,无码中文字幕免费一区二区三区 国产成人手机在线-午夜国产精品无套-swag国产精品-国产毛片久久国产

新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式Nucleus PLUS在S3C2410A上移植的實(shí)現(xiàn)

嵌入式Nucleus PLUS在S3C2410A上移植的實(shí)現(xiàn)

作者: 時(shí)間:2012-11-01 來(lái)源:網(wǎng)絡(luò) 收藏

通過(guò)配置的存儲(chǔ)器控制器來(lái)初始化目標(biāo)板的外圍存儲(chǔ)器。主要是設(shè)置存儲(chǔ)器類型、總線寬度、信息,重點(diǎn)是對(duì)SDRAM進(jìn)行設(shè)置,如列地址數(shù)、信號(hào)線時(shí)序等。

堆棧初始化

C和ARM匯編源文件經(jīng)過(guò)ARM開(kāi)發(fā)環(huán)境ADS1.2編譯鏈接后,生成的映像(Image)文件包含RO(只讀代碼、數(shù)據(jù)段)、RW(可讀寫數(shù)據(jù)段)和ZI(將要初始化為0的段)三個(gè)輸出段。當(dāng)映像文件加載到flash中的時(shí),RO段和RW段在Flash中的位置見(jiàn)圖2(a),其中IImage$$RO$$Basel是RO段的開(kāi)始地址,也是包含RO輸出段的加載和執(zhí)行地址,可以在ARM Linker中設(shè)置,即-r0-base的值,從flash啟動(dòng)時(shí),這個(gè)值設(shè)置為0x00000000,ZI段不需要加載到flash中。當(dāng)硬件電路復(fù)位后,映像文件中的RW段需要從Flash中拷貝到SDRAM內(nèi),同時(shí)要將ZI輸出段的內(nèi)容需要用"0"進(jìn)行初始化,此時(shí)輸出段在存儲(chǔ)區(qū)內(nèi)的位置見(jiàn)圖2(b)。IImage$$RW$$Basel是包含RW輸出段的執(zhí)行地址,這個(gè)地址值也需要在ARM Linker中設(shè)置,即-rw-base的值,一般將-rW-base的值設(shè)置到SDRAM的地址范圍內(nèi),在這里設(shè)置為S D R A M的首地址0x30000000。在 的過(guò)程中要編寫代碼,完成以上操作過(guò)程。

ARM有7種運(yùn)行模式分別為:用戶模式(usr)、快速中斷模式(fiq)、外部中斷模式(irq)、管理模式(svc)、數(shù)據(jù)訪問(wèn)中止模式(abt)、系統(tǒng)模式(sys)和未定義指令中止模式(und)。在堆棧初始化時(shí),應(yīng)對(duì)的每種運(yùn)行模式分別設(shè)置堆棧,一般堆棧的大小可以設(shè)置為4KB。另外還要對(duì)HISR(High-Level InterruptService Routines)堆棧的起始地址、大小和優(yōu)先級(jí)進(jìn)行設(shè)置,它的堆棧大小可設(shè)為2KB。

中斷初始化

1.將 異常中斷向量表從ROM中復(fù)制到RAM中,即:將地址為0x00000000的異常中斷向量表復(fù)制到地址0x33FFFF00處,這樣在中斷響應(yīng)的過(guò)程中就可以從RAM中提取異常中斷向量表,提高中斷的響應(yīng)速度;

2.關(guān)閉看門狗時(shí)鐘,創(chuàng)建所有IRQ中斷的中斷向量表;

3.清除所有中斷的判斷位。

系統(tǒng)時(shí)鐘中斷初始化

因?yàn)門imer4是用來(lái)作為 的系統(tǒng)時(shí)鐘的,所以在嵌入式實(shí)時(shí)操作系統(tǒng)的過(guò)程中,一定要對(duì)它的時(shí)鐘中斷進(jìn)行配置,配置過(guò)程如下:

1.設(shè)置S3C2410A的內(nèi)部定時(shí)器Fimert定時(shí)器的中斷周期為10ms;

2.建立Timer4的中斷向量,用Timer4時(shí)鐘作為Nucleus PLUS的系統(tǒng)節(jié)拍時(shí)鐘;

3.初始化S3C2410A的MPLL控制寄存器M P L L C O N,將S3C2410A的主時(shí)鐘FCLK設(shè)置為266MHz;

4.設(shè)置分頻器寄存器CLKDIVN使HCLK=FCLK/2,PCLK=HCLK/2。

設(shè)置系統(tǒng)可用存儲(chǔ)區(qū)的首地址

在板級(jí)初始化程序(I N T-Initialize)結(jié)束后,系統(tǒng)開(kāi)始調(diào)用操作系統(tǒng)初始化程序(INC-Initialize)。這時(shí)需要設(shè)置可供用戶使用的存儲(chǔ)器首地址first-available-memory,令fiT St-available-memorY=IImage$$bss$$zI$$LimitI,其中IImage$$bss$$ZI$$Limitl是ARM鏈接器生成的可執(zhí)行映像文件中初始化為0段(ZI段)的終止地址。修改后調(diào)用程序INC_Initialize(VOID*first_available_memory),即進(jìn)入操作系統(tǒng)初始化。Nucleus PLUS的工作也宣告結(jié)束。

結(jié)語(yǔ)

本文詳細(xì)介紹了Nucleus PLUS在S3C2410A上的移植過(guò)程和方法,移植后的代碼在深圳優(yōu)龍科技有限公司的FS2410開(kāi)發(fā)板上運(yùn)行正常,可以實(shí)現(xiàn)多任務(wù)調(diào)度、任務(wù)間通信和中斷響應(yīng)。因?yàn)橐浦策^(guò)程是針對(duì)特定的硬件環(huán)境的,所以移植中要采用ARM匯編語(yǔ)言,這是嵌入式操作系統(tǒng)移植的難點(diǎn)。移植的重點(diǎn)是建立中斷向量表、創(chuàng)建操作系統(tǒng)的系統(tǒng)時(shí)鐘中斷和設(shè)置系統(tǒng)堆棧。本文論述的移植方法對(duì)其他嵌入式操作系統(tǒng)在ARM微處理器上的移植過(guò)程也有一定的借鑒價(jià)值。

分頻器相關(guān)文章:分頻器原理
電能表相關(guān)文章:電能表原理

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Nucleus PLUS S3C2410A 移植

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉