在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

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

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

            作者: 時間:2012-11-01 來源:網(wǎng)絡 收藏

            通過配置的存儲器控制器來初始化目標板的外圍存儲器。主要是設置存儲器類型、總線寬度、信息,重點是對SDRAM進行設置,如列地址數(shù)、信號線時序等。

            堆棧初始化

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

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

            中斷初始化

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

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

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

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

            因為Timer4是用來作為 的系統(tǒng)時鐘的,所以在嵌入式實時操作系統(tǒng)的過程中,一定要對它的時鐘中斷進行配置,配置過程如下:

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

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

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

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

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

            在板級初始化程序(I N T-Initialize)結束后,系統(tǒng)開始調(diào)用操作系統(tǒng)初始化程序(INC-Initialize)。這時需要設置可供用戶使用的存儲器首地址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),即進入操作系統(tǒng)初始化。Nucleus PLUS的工作也宣告結束。

            結語

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

            分頻器相關文章:分頻器原理
            電能表相關文章:電能表原理

            上一頁 1 2 下一頁

            關鍵詞: Nucleus PLUS S3C2410A 移植

            評論


            相關推薦

            技術專區(qū)

            關閉