freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[工學(xué)]02--基于arm9的linux26內(nèi)核移植-文庫吧資料

2025-01-22 06:15本頁面
  

【正文】 define PHYS_SDRAM_1 0x30000000 /* SDRAM Bank 1 */ define PHYS_SDRAM_1_SIZE 0x04000000 /* 64MB */圖32 4)增加對NAND Flash操作的相關(guān)文件:,這個(gè)文件在原來的UBoot里面沒有需要自己加進(jìn)去,本書編譯的UBoot源代碼是根據(jù)《嵌入式應(yīng)用開發(fā)完全手冊》278頁的代碼進(jìn)行寫入的,將寫入的C代碼放到UBoot下面/cpu/arm920t/s3c24x0下面。本文件還包含了一些定制UBoot的配置信息,包括啟動(dòng)等待時(shí)間,是否自動(dòng)執(zhí)行啟動(dòng)命令,UBoot提示符以及UBoot所支持的用戶交互命令等。具體修改如下:1)cpu/,修改relocate代碼段,初始化NAND Flash控制器,并將UBoot自身代碼復(fù)制到內(nèi)存指定地址。移植UBoot到開發(fā)板上只需要修改和硬件相關(guān)的代碼即可。因此在新的硬件平臺(tái)上移植UBoot的難點(diǎn)在于在UBoot源碼中編寫對硬件平臺(tái)的板級支持,使硬件平臺(tái)上的FLASH、SRAM、串口控制芯片、網(wǎng)絡(luò)控制芯片以及其他芯片可以正常工作。具體實(shí)現(xiàn)。7)進(jìn)入命令循環(huán),接受用戶從串口輸入的命令,然后進(jìn)行相應(yīng)的工作。4)如果目標(biāo)系統(tǒng)有NAND設(shè)備,則初始化NAND設(shè)備。初始化Flash是指提供Flash的各bank的情況,是否擦寫,是否上鎖等信息,為以后Flash相關(guān)命令使用。 //初始化波特率Serial_init()。 //中斷初始化env_inito。 //片級初始化代碼board_init()。Stage2功能分析libarm/,也是整個(gè)啟動(dòng)代碼中C語言的主函數(shù),同時(shí)還是整個(gè)UBoot的主函數(shù),該函數(shù)主要完成如下操作:1)調(diào)用一系列的初始化函數(shù)。6)初始化堆棧。4)初始化內(nèi)存控制器。2)設(shè)置異常向量 (Exception vector)。1)定義入口。Stage1功能分析,UBoot是從cpu/ARM920t /,這個(gè)文件的任務(wù)是設(shè)置處理器狀態(tài)、初始化中斷和內(nèi)存時(shí)序等,并確定是否需要對整個(gè)UBoot代碼重定位,最終從Flash中跳轉(zhuǎn)到定位好的內(nèi)存地址執(zhí)行。因?yàn)槭窃谒拗鳈C(jī)上跑的,需使用gcc編譯大多數(shù)BootLoader都分為stagel和Stage2兩部分,UBoot也不例外。表32 UBoot的目錄結(jié)構(gòu)及內(nèi)容board該目錄包含一些對特定板子的初始化和操作代碼cpu該目錄下是針對特定處理器的初始化和操作代碼,mon此目錄存放獨(dú)立于處理器體系結(jié)構(gòu)的通用代碼,如內(nèi)存大小探測與故障檢測,的的主函數(shù),負(fù)責(zé)接受用戶輸入并送給相應(yīng)的處理函數(shù)執(zhí)行 driver此目錄下放的是各種驅(qū)動(dòng),如以太網(wǎng)驅(qū)動(dòng)、LCD屏驅(qū)動(dòng)docUBoot的說明文檔examples目錄下放的是可在UBoot下運(yùn)行的例子,相當(dāng)于Linux中應(yīng)用程序fs目錄下文件系統(tǒng)include目錄下存放各種頭文件和配置文件lib處理器體系相關(guān)的文件,如lib/arm目錄就包含ARM體系結(jié)構(gòu)相關(guān)的文件net與網(wǎng)絡(luò)功能相關(guān)的文件目錄,如bootp、nts、tftppost上電自檢文件目錄RtcRTC驅(qū)動(dòng)程序tools目錄下的代碼都是可供使用的“工具”。又因?yàn)镾3C241OA芯片支持從 NAND Flash直接啟動(dòng),所以很多開發(fā)板上 NOR Flash容量很小甚至沒有,也有的開發(fā)板只有 NOR Flash而沒有NAND Flash。由以上的區(qū)別可以看出, NOR Flash適合于存儲(chǔ)程序代碼,而 NAND Flash適合于存儲(chǔ)大量數(shù)據(jù)。NAND器件使用復(fù)雜的I/0口來串行地存取數(shù)據(jù),各個(gè)產(chǎn)品或廠商的方法可能不同。擦除NOR器件時(shí)是以64KB128KB的塊進(jìn)行的,執(zhí)行一個(gè)寫入/擦除操作的時(shí)間為5s,與此相反,擦除NAND器件是以8KB~32KB的塊進(jìn)行的,執(zhí)行相同的操作只需要4ms。NAND FLASH結(jié)構(gòu)能提供極高的單元密度,可以達(dá)到高存儲(chǔ)密度,并且寫入和擦除速度也很快。圖31為BootLoader的下載模式的應(yīng)用 NAND Flash和NOR Flash的區(qū)別NOR Flash的特點(diǎn)是芯片內(nèi)執(zhí)行(XIP,eXecute In Place),這樣應(yīng)用程序可以直接在Flash閃存內(nèi)運(yùn)行,不必再把代碼讀到系統(tǒng)RAM中。以這種方式工作,內(nèi)核或文件系統(tǒng)可存儲(chǔ)在遠(yuǎn)程主機(jī)上,系統(tǒng)不需配置較大的存儲(chǔ)介質(zhì),和無盤工作站有點(diǎn)類似。將內(nèi)核和根文件下載到內(nèi)存指定位置,并配置好傳遞給內(nèi)核的參數(shù),可用BootLoader提供的命令直接運(yùn)行內(nèi)核,此種方式,可以避免將內(nèi)核和根文件頻繁寫入Flash。通過BootLoader將要寫入Flash的文件下載到內(nèi)存,然后通過相應(yīng)的命令,將其寫到Flash指定的地址,在第一次安裝內(nèi)核與根文件系統(tǒng)時(shí)被使用,以后系統(tǒng)更新時(shí)也會(huì)使用BootLoader的這種工作模式。設(shè)備啟動(dòng)時(shí)BootLoader通過串口或網(wǎng)絡(luò)等通信方式從主機(jī)下載內(nèi)核映像和根文件系統(tǒng)映像等。Flash啟動(dòng)模式:這種模式下,先要將內(nèi)核映像和根文件系統(tǒng)寫入Flash,設(shè)備啟動(dòng)時(shí)BootLoader將Flash中的內(nèi)核及根文件系統(tǒng)映像讀入SDRAM指定位置并跳轉(zhuǎn)到內(nèi)核入口執(zhí)行內(nèi)核,整個(gè)過程沒有用戶的介入。它的功能也比較強(qiáng)大,支持tftp、nfs等多種網(wǎng)絡(luò)協(xié)議,所以本論文將對UBoot進(jìn)行移植及使用。表31顯示開放源碼的支持Linux的BootLoaderBootLoader基本描述LiloX86平臺(tái)上Linux的BootLoaderGrubGNU項(xiàng)目中Lilo的升級品RedBooteCos的BootLoaderBlobLart項(xiàng)目中的BootloaderUBoot通用BootLoader,功能最全UBoot是德國DENX小組開發(fā)的用于多種嵌入式CPU的BootLoader程序,是在ppcBoot以及ARMboot的基礎(chǔ)上發(fā)展而來的,UBoot不僅支持嵌入式Linux系統(tǒng)的引導(dǎo),它還支持NetBSD、VxWorkS、QNX、RTEMS、ARTOS、LynxOS等嵌入式操作系統(tǒng)。BootLoader主要用于初始化硬件設(shè)備,建立內(nèi)存空間的映射圖,將操作系統(tǒng)內(nèi)核復(fù)制到內(nèi)存中并跳轉(zhuǎn)到內(nèi)核入口。在一個(gè)基于ARM的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址0x0000000O處開始執(zhí)行,而在這個(gè)地址處安排的就是系統(tǒng)的BootLoader。最后,詳述了嵌入式系統(tǒng)軟件開發(fā)環(huán)境的建立方法、主機(jī)控制臺(tái)的配置及網(wǎng)絡(luò)服務(wù)的配置,以供后面開發(fā)使用。本章首先介紹了嵌入式Linux系統(tǒng)的體系結(jié)構(gòu),其軟件系統(tǒng)部分包據(jù)系統(tǒng)層、支撐層、應(yīng)用層,這些是本文將要實(shí)現(xiàn)的具體內(nèi)容,以下各章順序也是按該體系結(jié)構(gòu)從底層到上層安排的。首先得進(jìn)入minicon回車,然后按開發(fā)板的重啟鍵進(jìn)入minicon。即將/home/nfs目錄輸出,接下來要運(yùn)行重新啟動(dòng)腳本來啟動(dòng)服務(wù)。配置文件/etc/exports來配置輸出目錄。 service xinetd restart配置完成后,建議簡單測試一下TFTP服務(wù)是否可用,即自己TFTP自己,例如在宿主機(jī)上執(zhí)行如下命令: cp /s3c2410_linux/Image/zImage /tftpboot tftp tftpget zImagetftpq退出tftp。也可以手工修改TFTP配置文件/etc/xinetd/tftp的內(nèi)容如下,也可以達(dá)到這種效果。它非常適合傳送小型文件而且實(shí)現(xiàn)起來比較簡單。圖23 Minicon設(shè)置菜單選擇“Serial port setup”菜單項(xiàng),根據(jù)開發(fā)板的串口通訊設(shè)置,將Serial Device設(shè)置為/dev/ttyS0,默認(rèn)為/dev/ttyS1;Bps/Par/Bits設(shè)置為 115200 8N1;Hardware Flow Control設(shè)置為NO。以root身份登錄操作系統(tǒng),在Shell下執(zhí)行“minis”命令。Windows操作系統(tǒng)下有超級終端(Hyperterminal)工具,Linux操作系統(tǒng)下可以使用mini工具。命令如下: tar jxvf 圖22 配置交叉編譯器PATH環(huán)境在/root/.bashrc文件中修改PATH環(huán)境變量,添加工具鏈的路徑。構(gòu)建交叉編譯環(huán)境有很多個(gè)版本的交叉編譯器可供選擇,、因?yàn)楹芏嗌逃密浖际窃谠摥h(huán)境下編譯的,采用其它版本編譯工具,有可能編譯不通,會(huì)出現(xiàn)錯(cuò)誤。移植資料的編譯是在本人電腦上完成的,編譯的所用的是第1種方案,移植內(nèi)容因使用的開發(fā)主機(jī)是機(jī)房已經(jīng)裝好的第2種系統(tǒng)方案,所以最后采用了方案2,即在新的分區(qū)上安裝了Linux操作系統(tǒng)。對以上二種方案進(jìn)行了嘗試,得出以下結(jié)論:對于內(nèi)存不小于512M和主頻較高的PC機(jī)適合使用VMWare,VMWare默認(rèn)使用PC機(jī)一半的內(nèi)存,內(nèi)存較小PC機(jī)將會(huì)運(yùn)行很慢,所以配置相對較低的PC機(jī)不適合采用此方案。2)按通常的方法,在獨(dú)立的分區(qū)上安裝Linux操作系統(tǒng)。VMWare是一個(gè)可運(yùn)行在Windows平臺(tái)的“虛擬PC”軟件,它可以在一臺(tái)機(jī)器上同時(shí)運(yùn)行二個(gè)或更多個(gè)Windows、DOS、Linux系統(tǒng)。由于嵌入式硬件平臺(tái)的存儲(chǔ)空間有限、處理器頻率較低,很難直接在嵌入式硬件式平臺(tái)上建立Linux系統(tǒng)、安裝嵌入式開發(fā)軟件,因此只能采用嵌入式交叉開發(fā)環(huán)境來解決這個(gè)問題。也可以運(yùn)行基于ARM核的其它操作系統(tǒng)。USB主控制器S3C241OA內(nèi)嵌2個(gè)USB主控制器,有以下特點(diǎn):1)兼容 OHCI 2)兼容 USB Rev 3)兩個(gè) Two down stream ports4)支持低速和全速USB設(shè)備本論文采用的硬件平臺(tái)由底板和核心板組成,核心板上使用了SAMSUNG公司的S3C2410A處理器,并集成了64MB的SDRAM,64MB NAND Flash存儲(chǔ)設(shè)備以及核心電壓模塊、實(shí)時(shí)時(shí)鐘、系統(tǒng)跳線、系統(tǒng)時(shí)鐘、核心板接口等;底板上提供了豐富的外設(shè)接口:CS890OA以太網(wǎng)卡接口、2個(gè)與PC機(jī)通信的UART(10M/100M)、l個(gè)LCD接口、觸摸屏接口、 128KB的 NOR Flash存儲(chǔ)芯片、SD接口、IDE接口及USB接口等。使用硬件的ECC,NAND Flash中的數(shù)據(jù)的有效性將會(huì)得到檢測。當(dāng)啟動(dòng)時(shí),NAND Flash最初的4K字節(jié)將被讀入“Steppingstone”,然后開始執(zhí)行啟動(dòng)代碼。LCD控制器 S3C2410A內(nèi)部集成了LCD控制器,可以很方便地去控制各種類型的LCD屏,如STN和TFT屏。存儲(chǔ)控制器S3C2410A以處理器內(nèi)部集成了存儲(chǔ)控制器,它可以為片外存儲(chǔ)器訪問提供必要的控制信號(hào),它主要包括以下特點(diǎn):1)支持大、小端模式(通過軟件選擇);2)地址空間:包含8個(gè)地址空間,每個(gè)地址空間的大小為128M字節(jié),總共有l(wèi)G字節(jié)的地址空間;3)除BANKO以外的所有地址空間都可以通過編程設(shè)置為8位、16位或32位訪問。TFT),8通道10位ADC和觸摸屏接口,支持 NAND Flash系統(tǒng)引導(dǎo),3通道UART,4通道DMA,4通道PWM定時(shí)器,I/0端口,RTC,IISBUS接口,USB主機(jī),USB設(shè)備,SD主卡amp。 S3C2410A處理器簡介[1][6] Samsung公司推出的16/32位RISC處理器S3C2410A,為手持設(shè)備和一般應(yīng)用提供了低價(jià)格、低功耗、高性能的小型微控制器解
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1