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

正文內(nèi)容

基于arm的圖像采集無線傳輸系統(tǒng)的設計(編輯修改稿)

2025-07-16 13:16 本頁面
 

【文章內(nèi)容簡介】 NAND Flash時需要發(fā)送命令,然后發(fā)出地址序列,最后讀/寫數(shù)據(jù)。需要使用各個使能信號來分辨是命令、地址還是數(shù)據(jù)[23]。S3C2440的NAND Flash控制器提供了NFCONF, NFCONT, NFCMMD, NFADDR, NFDATA, NFSTA39。I,和其他與ECC有關(guān)的寄存器。NAND Flash的讀寫操作順序如下:(1)設置NFCONF, NFCONT寄存器,配置NAND Flash。(2)向NFCMD寄存器寫入命令。(3)向NFADDR寄存器吸入地址。(4)讀/寫數(shù)據(jù):寄存器寫入地址。通過寄存器NFSTAT檢測NAND Flash的狀態(tài),在啟動某個操作后,檢測R/nB信號以確定該操作是否完成、是否成功。 NAND FLASH接口電路S3C2440與K9F1208UOM的接口電路如圖34所示。圖34K9F1208UOM與S3C2400的連線圖如圖34所示,K9F1208UOM與S3C2440的連線有:8個v0引腳(voowo},S個使能信號((nWE, ALE, CLE, nCE, nRE), 1個狀態(tài)引腳(RDY/B),另外還有1個寫保護引腳((nWP)。地址、數(shù)據(jù)和命令都是在這些使能信號的配合下,通過8個I/O引腳傳輸。 SDRAM接口電路設計 S3C2440存儲控制器分析S3C2440的存儲控制器提供了訪問外部設備所需的信號,它具有如下特性:支持數(shù)據(jù)的大端、小端存儲模式(可以通過軟件設置)。每個BANK的地址空間為128MB,總共1 GB(BBANKs);可編程控制的總線位寬(8/16/32bit),不過BANKO只能選擇兩種位寬(8/16bit);共計8個BANK } BANKO~BANKS可以支持外接ROM, SRAM等,BANK6~BANK7除可以支持ROM, SRAM外,還支持SDRAM等;BANKO~BANK6共7個BANK的起始地址是固定的;BANK7的起始地址可編程選擇。BANK6, BANK的地址空間大小是可編程控制的;每個BANK的訪問周期均可編程控制;可以通過外部的“wait”信號延長總線的訪問周期。在外接SDRAM時,支持自刷新和省電模式。S3C2440在系統(tǒng)復位后的存儲控制器的地址空間分布如圖35所示 SDRAM的選擇及接口電路設計目前SDRAM生產(chǎn)廠家眾多,所以選擇一款合適的SDRAM芯片對整個系統(tǒng)的開發(fā)也是十分重要的。(4M16bit4Banks)。通過并聯(lián)兩片16位的K4S561632A從而組成32位的位寬,與S3C2440的32條數(shù)據(jù)線(DATAO~DATA 1)相連。S3C2440的存儲控制器中BANK6為擴展SDRAM所用,因為BANK6的起始地址為0x30000000, 所以系統(tǒng)中SDRAM的起始地址也為Ox30000000。 圖36 兩片K4S561632A與S3C2440的連線圖 USB接口電路設計S3C2440中集成了2個USB主機接口和1個USB設備接口。USB主機接口遵從OHCI ,兼容USB 。USB設備接口具備5個Endpoint兼容USB 。由于本課題中只有USB接口攝像頭需要USB接口,所以1個USB主機接口就可以了,另外,為了便于系統(tǒng)調(diào)試,再增加1個USB設備接口,用來下載嵌入式Linux鏡像使用。S3C2440中擴展USB接口十分方便,只要按照USB [24]。圖37 S3C2440與USB設備的鏈接框圖 UART接口電路設計S3C2440中集成了3個相互獨立的DART (,64字節(jié)Tx FIFO和64字節(jié)Rx FIFO ),每個DART都可以單獨地在中斷或是DMA模式下操作,也就是說DART可以生產(chǎn)一個中斷或DMA請求用于CPU和DART之間的數(shù)據(jù)傳輸。如果外部設備提供UEXTCLK給UART,則DART可以工作在更高的速率。S3C2440可以通過RS232C標準接口很容易實現(xiàn)和其他設備、模塊的連接,從而進行數(shù)據(jù)的輸入輸出。本系統(tǒng)中DART接口的主要用途是連接GPRS模塊Q2406B。由于RS232C標準與S3C2440中所定義的高、低電平信號不同,所以還要進行信號電平的轉(zhuǎn)換。這里我們采用MAX3232來實現(xiàn)。DART接口電路框圖:圖38 DATR的接口電路框圖 LCD的選擇及接口電路設計S3C2440中集成了LCD控制器,被用來向LCD傳輸圖像數(shù)據(jù),并提供必要的控制信號,比如VFRAME, VLINE, VCLK, VM等。S3C2440支持兩種LCD:TFT LCD和STN LCD,它們的特性如下(BPP表示bit per pixel,即每個色素使用多少位來表示其顏色)。(1) TFT ( ThinFilm Transistor薄膜晶體管)LCDTFT LCD支持單色(1BPP), 4級灰度( 2BPP ), 16級灰度(4BPP ) , 256色(BBPP)的調(diào)色板顯示模式。支持64K (16BPP)和16M (24BPP)色非調(diào)色板顯示模式。支持分辨率為640 X 480,320 X 240及其他多種規(guī)格的LCD。虛擬屏幕最大可達4MB。對于64K色,分辨率有2048 X 1024等多種。(2)STN ( Super Twisted Nematic超扭曲相列)LCD。STN LCD支持3種掃描方式:4位單掃描、4位雙掃描和8位單掃描。支持單色(1BPP), 4級灰度(2BPP)和16級灰度(4BPP)屏。支持256色(8BPP)和4096色(12BPP)彩色STN屏(CSTN)。支持分辨率為640480, 320240, 160160以及其他規(guī)格的多種LCD、虛擬屏幕最大可達4MB:對于256色,分辨率有4096 1024, 20482048, 10244096等多種。S3C2440集成的LCD控制器除了提供驅(qū)動STN LCD, TFT LCD所需的所有信號,另外,還特別提供額外的信號以支持SEC公司(( Samsung ElectronicsCompany)生產(chǎn)的TFT LCD(稱為SEC TFT LCDs )。S3C2440 LCD控制器的內(nèi)部結(jié)構(gòu)如圖REGBANK是LCD控制器的寄存器組,含17個寄存器及一塊256 X 16的調(diào)色板內(nèi)存,用來設置各項參數(shù)。而LCDCDMA則是LCD控制器專用的DMA信道,可以自動地從系統(tǒng)總線上取到圖像數(shù)據(jù),這使得顯示圖像時不需要CPU的干涉。VIDPRCS將LCDCDMA中的數(shù)據(jù)組合成特點的格式,比如4位單掃描等,然后從VD[0:23)發(fā)送給LCD屏。同時TIMEGEN和LPC3600負責產(chǎn)生LCD屏所需要的控制時序,例如VSYNC, HSYNC, VCLK, VDEN,然后從VIDEO MUX送給LCD屏。其中LPC3600專用于SEC TFT LCD。為增強系統(tǒng)的可擴展性,特意采用一個50口的LCD接口將S3C2440 LCD控制器提供的LCD控制信號全部引出,只需要通過對LCD控制器編程即可支持不同廠家生產(chǎn)的多種LCD。系統(tǒng)LCD接口如圖310所示。圖中LEND為行結(jié)束信號,VCLK為LCD時鐘信號,VLINE, VFRAME,VM為LCD提供線信號、幀信號和數(shù)據(jù)輸出使能信號,VSYNC, HSYNC, VDEN為LCD提供垂直同步信號、水平同步信號、數(shù)據(jù)傳輸開始信號,LCD LPCOE,LCD LPCREV, LCD LPCREVB為LCD提供時鐘控制信號,LCD POWER為LCD提供SV的直流電源[25]。另外,TSXM, TSXP, TSYM, TSYP為觸摸屏控制信號。 本章小結(jié)本章首先介紹了系統(tǒng)的硬件結(jié)構(gòu)框圖,按照劃分的硬件系統(tǒng)模塊依次對NAND FLASH接口、SDRAM接口、USB接口、DART接口及LCD接口的設計進行了詳細的討論。第4章 基于Eclipse的軟件系統(tǒng)設計 構(gòu)建基于Eclipse的嵌入式軟件集成開發(fā)環(huán)境Eclipse是著名的跨平臺的集成開發(fā)環(huán)境((IDE),最初是由IBM公司開發(fā)替代商業(yè)軟件Visual Age For Java的下一代開發(fā)環(huán)境。2001年,IBM將Eclipse貢獻給開源社區(qū),現(xiàn)在由Eclipse基金會管理。2005年7月。Eclipse本身只是一個框架平臺,最初主要用于java語言的開發(fā)。但是眾多插件的支持使得Eclipse同樣可以用來開發(fā)其他的語言,如c/c++, c, pert, cobol的等等。cdt(c/c++ development toolkit)就是支持c/c一開發(fā)的插件。許多軟件開發(fā)商也以Eclipse為框架推出了自己的集成開發(fā)環(huán)境。例如風河(Wind River)公司開發(fā)的嵌入式IDE(集成開發(fā)環(huán)境)IDE 。Eclipse是一個開放源代碼的,基于插件(plugin)的擴展性框架的最大的特點就是可擴展性。Eclipse的擴展性是通過擴展點機制提供了插件組合的靈活性和擴展性。插件是一個結(jié)構(gòu)化組件,同時也是系統(tǒng)運行時最小的一個管理單元,擁有完整的生命周期,它負責擴展點的定義并貢獻擴展。Eclipse的另一個重要的特點就是易升級性?;贓clipse的集成開發(fā)環(huán)境具有良好的可升級性,與Eclipse的擴展性類似,對需要升級的插件升級時,只需要在Eclipse的插件目錄中加入插件的新版本,重新啟動Eclipse就完成了對插件的升級。 嵌入式linux系統(tǒng)的移植 系統(tǒng)引導程序Bootloader的移植Bootloader是在系統(tǒng)上電開始時執(zhí)行的一段小程序,它的基本作用是完成硬件設備的初始化,建立內(nèi)存空間的映射圖,最后將操作系統(tǒng)內(nèi)核。目前比較成熟的bootloader:除此之外還具有網(wǎng)絡功能、從PC上通過串口或網(wǎng)絡下載下載文件、燒寫文件、將Flash上壓縮的文件解壓后再運行等功能。對于ARM體系結(jié)構(gòu)的處理器,上電后處理器從地址0x00000000開始執(zhí)行第一條指令,所以需要把存儲器中Bootloader的地址映射到0x00000000,這樣ARM上電后Bootloader就開始執(zhí)行。Bootloader的啟動過程可以分為單階段(Singe stage)、多階段(Multistage)兩種。多階段啟動的Bootloader通常能夠提供更加強大、更加復雜的功能以及更好的可移植性。常見的Bootloader的基本上都是兩階段的啟動過程。第一階段的程序代碼均是使用匯編語言來實現(xiàn),它的作用是完成依賴于CPU體系結(jié)構(gòu)的初始化,并為第二階段程序的執(zhí)行做準備。第二階段則是通常采用C語言來實現(xiàn),這樣可以實現(xiàn)更加復雜的功能,而且代碼具有更好的可讀性和可移植性[26]。 移植linux內(nèi)核Linux內(nèi)核是整個軟件系統(tǒng)的核心,Linux內(nèi)核的移植對系統(tǒng)的穩(wěn)定性等都有著重要的影響。, 。Linux的啟動過程可以分為兩部分:與硬件相關(guān)的引導階段和后續(xù)的通用啟動過程。不同架構(gòu)上Linux的啟動過程稍有不同,在ARM架構(gòu)處理器上的啟動過程如圖41所示。引導階段通常使用匯編語言編寫,它首先檢查內(nèi)核是否支持當前架構(gòu)的處理器,然后檢查是否支持當前開發(fā)板。在檢查通過后,為調(diào)用下一階段的start kernel函數(shù)做準備。主要有兩個步驟:(1)連接內(nèi)核時使用的虛擬地址,所以要設置頁表、使能MMU。(2)調(diào)用C函數(shù)start kernel之前的常規(guī)工作,包括復制數(shù)據(jù)段、清楚數(shù)據(jù)段、清楚BSS段、調(diào)用start kernel函數(shù)。第二階段的關(guān)鍵代碼主要使用C語言編寫,它進行內(nèi)核初始化的全部工作,最后調(diào)用rest init函數(shù)啟動init過程,創(chuàng)建系統(tǒng)第一個進程:init進程。 在分析Linux在ARM架構(gòu)處理器上的啟動過程后,下面來給出Linux內(nèi)核在本系統(tǒng)使用的S3C2440上實現(xiàn)移植的過程。登錄Linux內(nèi)核官方網(wǎng)站()下載Linux內(nèi)核源碼壓縮包。解壓后即可得到Linux內(nèi)核源碼,執(zhí)行如下命令即可:$ tar xjf // 0對于ARM架構(gòu)的嵌入式微處理器,與其體系相關(guān)的代碼在Linux內(nèi)核源碼包的子目錄arch/arm/目錄下,Linux內(nèi)核的移植工作主要就是修改這個目錄下的文件。移植的主要步驟如下:(1)首先修改頂層Makefile,配置、編譯內(nèi)核以確定所下載的內(nèi)核源碼包可以被正確的編譯。如下所示: 將185 ARCH ?=$(SUBARCH) //185為代碼行號,下同186 CROSS_COMPILE ?=修改為:185 ARCH ?=arm186 CROSS COMPILE ?=armlinux然后執(zhí)行make命令配置內(nèi)核:make smdk2410_ defconfig //smdk2410_ defconfig位于arch/arm/configs/目錄下。最后執(zhí)行make uImage編譯內(nèi)核,即可在頂層目錄中生成內(nèi)核映像文件vmlinux,還可以在arch/arm/boot/目錄中生成UBoot格式的內(nèi)核映像文件uImage o至此,就可以通過前面已經(jīng)移植的UBoot來測試剛剛生成的內(nèi)核映像文件是否正確。測試通過后,即可向下進行移植工作了。(2)修改內(nèi)核。在本系統(tǒng)移植過程中對內(nèi)核代碼的修改主要是修改系統(tǒng)晶振頻率,使之與本系統(tǒng)所使用的晶振頻率相符。需要修改的文件為:arch/arm/machs3 c2440/machs3 。 將:s3c24xx一nit clocks(16934400)。 修改為:s3c24xx_init clocks(1200000)。(3)修改MTD分區(qū)。MTD(Memory Technology Device),即內(nèi)存技術(shù)設備,是Linux中對ROM, NOR Flash, NAND Flash等存儲器設備抽象出來的一個設備層,它向上提供統(tǒng)一的訪問接口:讀、寫、擦除等。屏蔽了底層硬件的操作、各類存儲設備的差異。需要修改的文件為:arch/arm/plats3 c24xx/,主要修改的是該文件中的smdk一 default nand_part數(shù)據(jù)結(jié)構(gòu)。本系統(tǒng)中對NANDFlash的戈d分為:前2MB用于存放Linux內(nèi)核,剩下的
點擊復制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1