簡介:本章的要求,第4章、嵌入式系統(tǒng)基礎(chǔ)了解嵌入式系統(tǒng)的含義及其發(fā)展情況了解嵌入式系統(tǒng)的體系結(jié)構(gòu)了解ARM處理器及ARM9的相關(guān)知識熟悉三星處理器S3C2410了解嵌入式系統(tǒng)的基本開發(fā)和調(diào)試手段,本章的主要內(nèi)容,41嵌入式系統(tǒng)概述42ARM處理器硬件開發(fā)平臺43嵌入式軟件開發(fā)流程44實驗內(nèi)容使用JTAG燒寫NANDFLASH,,41嵌入式系統(tǒng)概述,什么是嵌入式系統(tǒng),尼葛洛龐帝2001年訪華時的預(yù)言“4~5年后,嵌入式智能電腦將是繼PC和INTERNET后的最偉大發(fā)明”如今,嵌入式系統(tǒng)已成為當今最為熱門的領(lǐng)域之一,它迅猛的發(fā)展勢頭引起了社會各界人士的關(guān)注。如家用電器、手持通信設(shè)備、信息終端、儀器儀表、汽車、航天航空、軍事裝備、制造工業(yè)、過程控制等。按照電器工程協(xié)會的定義,嵌入式系統(tǒng)是用來控制或者監(jiān)視機器、裝置、工廠等各種規(guī)模系統(tǒng)的設(shè)備。這個定義主要是從嵌入式系統(tǒng)的用途方面來進行定義的。普遍的嵌入式系統(tǒng)的定義嵌入式系統(tǒng)是指以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟件硬件可剪裁,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。,什么是嵌入式系統(tǒng),筆者認為,將一套計算機控制系統(tǒng)嵌入到已具有某種完整的特定功能的(或者將會具備完整功能的)系統(tǒng)內(nèi)(例如各種機械設(shè)備),以實現(xiàn)對原有系統(tǒng)的計算機控制,此時將這個新系統(tǒng)叫做嵌入式系統(tǒng)。它通常由特定功能模塊和計算機控制模塊組成,主要由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)以及用戶應(yīng)用軟件等部分組成。它具有“嵌入性”、“專用性”與“計算機系統(tǒng)”的三個基本要素。,生活中的嵌入式系統(tǒng),嵌入式系統(tǒng)發(fā)展歷史,第1階段是以單芯片為核心的可編程控制器形式的系統(tǒng)。第2階段是以嵌入式CPU為基礎(chǔ)、以簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。第3階段是以嵌入式操作系統(tǒng)為標志的嵌入式系統(tǒng)。第4階段是以INTERNET、多核技術(shù)為標志的嵌入式系統(tǒng)。,嵌入式系統(tǒng)的特點,面向特定應(yīng)用的特點。嵌入式系統(tǒng)的硬件和軟件都必須進行高效地設(shè)計,量體裁衣、去除冗余,力爭在同樣的硅片面積上實現(xiàn)更高的性能。嵌入式系統(tǒng)是將先進的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲器芯片中或單片機本身,而不是存儲于磁盤中。嵌入式開發(fā)的軟件代碼尤其要求高質(zhì)量、高可靠性。嵌入式系統(tǒng)本身不具備二次開發(fā)能力。,嵌入式系統(tǒng)的體系結(jié)構(gòu),幾種主流嵌入式操作系統(tǒng)分析,嵌入式LINUX?CLINUXRTLINUXEMBEDIXXLINUXPOKETLINUX紅旗嵌入式LINUXMONTAVISTALINUX風河LINUXVXWORKSQNXWINDOWSCEUCOSPALMOS,42ARM處理器硬件開發(fā)平臺,ARM處理器簡介,ARM是一類嵌入式微處理器,同時也是一個公司的名字。ARM公司于1990年11月成立于英國劍橋,它是一家專門從事16/32位RISC微處理器知識產(chǎn)權(quán)設(shè)計的供應(yīng)商。ARM公司本身不直接從事芯片生產(chǎn),而只是授權(quán)ARM內(nèi)核,再給生產(chǎn)和銷售半導(dǎo)體的合作伙伴,同時也提供基于ARM架構(gòu)的開發(fā)設(shè)計技術(shù)。世界各大半導(dǎo)體生產(chǎn)商從ARM公司處購買其設(shè)計的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當?shù)耐鈬娐?,從而形成自己的ARM微處理器芯片進入市場。ARM公司從成立至今,在短短幾十年的時間就占據(jù)了75的市場份額,如今,ARM微處理器及技術(shù)的應(yīng)用幾乎已經(jīng)深入到各個領(lǐng)域。采用ARM技術(shù)的微處理器現(xiàn)在已經(jīng)遍及各類電子產(chǎn)品,汽車、消費娛樂、影像、工業(yè)控制、海量存儲、網(wǎng)絡(luò)、安保和無線等市場。到2001年就幾乎已經(jīng)壟斷了全球RISC芯片市場,成為業(yè)界實際的RISC芯片標準。,ARMIP核用戶,ARM處理器的特點。,?體積小、低功耗、低成本、高性能。?支持ARM(32位)/THUMB(16位)/THUMB2(16/32位混合)指令集,能很好的兼容8位/16位器件。?大量使用寄存器,指令執(zhí)行速度更快。?大多數(shù)數(shù)據(jù)操作都在寄存器中完成。?尋址方式靈活簡單,執(zhí)行效率高。?指令長度固定。,ARM體系結(jié)構(gòu)簡介,ARM微處理器工作狀態(tài)ARM狀態(tài)THUMB狀態(tài)THUMB2狀態(tài)ARM體系結(jié)構(gòu)的存儲格式小端和大端ARM處理器模式?用戶模式(USR)應(yīng)用程序執(zhí)行狀態(tài)。?快速中斷模式(FIQ)用于快速中斷處理。?外部中斷模式(IRQ)用于通用的中斷處理。?管理模式(SVC)特權(quán)模式,操作系統(tǒng)使用的保護模式。?數(shù)據(jù)訪問終止模式(ABT)當數(shù)據(jù)或指令預(yù)取終止時進入該模式,可用于虛擬存儲及存儲保護。?系統(tǒng)模式(SYS)運行具有特權(quán)的操作系統(tǒng)任務(wù)。,ARM微處理器系列簡介,ARM微處理器系列簡介,ARM9主要特點5級流水線,ARM9主要特點采用哈佛結(jié)構(gòu),馮諾依曼結(jié)構(gòu),哈佛結(jié)構(gòu),ARM9主要特點高速緩存和寫緩存的引入,ARM9主要特點–支持MMU,S3C2410處理器,S3C2410X是使用ARM920T核、采用018UM工藝CMOS標準宏單元和存儲編譯器開發(fā)而成的。由于采用了由ARM公司設(shè)計的16/32位ARM920TRISC處理器,因此S3C2410X實現(xiàn)了MMU和獨立的16KB指令和16KB數(shù)據(jù)哈佛結(jié)構(gòu)的緩存,且每個緩存均為8個字長度的流水線。它的低功耗、精簡而出色的全靜態(tài)設(shè)計特別適用于對成本和功耗敏感的領(lǐng)域。S3C2410X提供全面的、通用的片上外設(shè),大大降低系統(tǒng)的成本,下面列舉了S3C2410X的主要片上功能。?18VARM920T內(nèi)核供電,18V/25V/33V存儲器供電;?16KB指令和16KB數(shù)據(jù)緩存的MMU內(nèi)存管理單元;?外部存儲器控制(SDRAM控制和芯片選擇邏輯);?提供LCD控制器(最大支持4K色的STN或256K色TFT的LCD),并帶有1個通道的LCD專用DMA控制器;,S3C2410處理器,?提供4通道DMA,具有外部請求引腳;?提供3通道UART(支持IRDA10,16字節(jié)發(fā)送FIFO及16字節(jié)接收FIFO)/2通道SPI接口;?提供1個通道多主IIC總線控制器/1通道IIS總線控制器;?兼容SD主機接口10版及MMC卡協(xié)議211版;?提供2個主機接口的USB口/1個設(shè)備USB口(11版本);?4通道PWM定時器/1通道內(nèi)部計時器;?提供看門狗定時器;?提供117個通用I/O口/24通道外部中斷源;?提供不同的電源控制模式正常、慢速、空閑及電源關(guān)閉模式;?提供帶觸摸屏接口的8通道10位ADC;?提供帶日歷功能的實時時鐘控制器(RTC);?具有PLL的片上時鐘發(fā)生器。,S3C2410處理器,S3C2410處理器,S3C2410X支持小/大端模式,它將系統(tǒng)的存儲空間分為8個組(BANK),其中每個BANK有128MB,總共為1GB。每個組可編程的數(shù)據(jù)總線寬度為8/16/32位,其中BANK0BANK5具有固定的BANK起始地址和結(jié)束地址,用于ROM和SRAM。而BANK6和BANK7是大小可變的,用于ROM、SRAM或SDRAM。這里,所有的存儲器BANK都具有可編程的操作周期,并且支持掉電時的SDRAM自刷新模式和多種類型的引導(dǎo)ROM。,S3C2410處理器地址映射,S3C2410處理器中斷處理,優(yōu)龍FS2410開發(fā)板,43嵌入式軟件開發(fā)流程,嵌入式系統(tǒng)開發(fā)流程,交叉編譯,嵌入式軟件開發(fā)所采用的編譯為交叉編譯。所謂交叉編譯就是在一個平臺上生成可以在另一個平臺上執(zhí)行的代碼。,交叉編譯,由于編譯的過程包括編譯、鏈接等幾個階段,因此,嵌入式的交叉編譯也包括交叉編譯、交叉鏈接等過程,通常ARM的交叉編譯器為ARMELFGCC、ARMLINUXGCC等,交叉鏈接器為ARMELFLD、ARMLINUXLD等,,交叉調(diào)試–其特點,?調(diào)試器和被調(diào)試進程運行在不同的機器上,調(diào)試器運行在PC機(宿主機),而被調(diào)試的進程則運行在各種專業(yè)調(diào)試板上(目標板)。?調(diào)試器通過某種通信方式(串口、并口、網(wǎng)絡(luò)、JTAG等)控制被調(diào)試進程。?在目標機上一般會具備某種形式的調(diào)試代理,它負責與調(diào)試器共同配合完成對目標機上運行著的進程的調(diào)試。這種調(diào)試代理可能是某些支持調(diào)試功能的硬件設(shè)備,也可能是某些專門的調(diào)試軟件(如GDBSERVER)。?目標機可能是某種形式的系統(tǒng)仿真器,通過在宿主機上運行目標機的仿真軟件,整個調(diào)試過程可以在一臺計算機上運行。此時物理上雖然只有一臺計算機,但邏輯上仍然存在著宿主機和目標機的區(qū)別,軟件調(diào)試方式,軟件調(diào)試主要是通過插入調(diào)試樁的方式來進行的。調(diào)試樁方式進行調(diào)試是通過目標操作系統(tǒng)和調(diào)試器內(nèi)分別加入某些功能模塊,二者互通信息來進行調(diào)試。該方式的典型調(diào)試器有GDB調(diào)試器。GDB的交叉調(diào)試器分為GDBSERVER和GDBCLIENT,其中的GDBSERVER就作為調(diào)試樁在安裝在目標板上,GDBCLIENT就是駐于本地的GDB調(diào)試器。,,硬件調(diào)試ROMMONITOR調(diào)試方式,采用ROMMONITOR方式進行交叉調(diào)試需要在宿主機上運行調(diào)試器,在宿主機上運行ROM監(jiān)視器(ROMMONITOR)和被調(diào)試程序,宿主機通過調(diào)試器與目標機上的ROM監(jiān)視器遵循遠程調(diào)試協(xié)議建立通信連接。ROM監(jiān)視器可以是一段運行在目標機ROM上的可執(zhí)行程序,也可以是一個專門的硬件調(diào)試設(shè)備,它負責監(jiān)控目標機上被調(diào)試程序的運行情況,能夠與宿主機端的調(diào)試器一同完成對應(yīng)用程序的調(diào)試。,,硬件調(diào)試ROMEMULATOR調(diào)試方式,采用ROMEMULATOR方式進行交叉調(diào)試時需要使用ROM仿真器,并且它通常被插入到目標機上的ROM插槽中,專門用于仿真目標機上的ROM芯片。,,硬件調(diào)試ICE調(diào)試方式,采用INCIRCUITEMULATOR(ICE)方式進行交叉調(diào)試時需要使用在線仿真器,它是目前最為有效的嵌入式系統(tǒng)的調(diào)試手段。它是仿照目標機上的CPU而專門設(shè)計的硬件,可以完全仿真處理器芯片的行為。仿真器與目標板可以通過仿真頭連接,與宿主機可以通過串口、并口、網(wǎng)線或USB口等連接方式。,,硬件調(diào)試JTAG調(diào)試方式,TAG是1985年指定的檢測PCB和IC芯片的一個標準。1990年被修改成為IEEE的一個標準,即IEEE11491。JTAG標準所采用的主要技術(shù)為邊界掃描技術(shù),它的基本思想就是在靠近芯片的輸入輸出管腳上增加一個移位寄存器單元。因為這些移位寄存器單元都分布在芯片的邊界上(周圍),所以被稱為邊界掃描寄存器(BOUNDARYSCANREGISTERCELL)。,,44實驗使用JTAG燒寫NANDFLASH,實驗?zāi)康暮蛢?nèi)容,1.實驗?zāi)康耐ㄟ^使用JTAG燒寫FLASH的實驗,了解嵌入式硬件環(huán)境,熟悉JTAG的使用,為今后的進一步學習打下良好的基礎(chǔ)。(本書以優(yōu)龍的FS2410及FLASH燒寫工具為例進行講解,不同廠商的開發(fā)板都會提供相應(yīng)的FLASH燒寫工具,并有相應(yīng)的說明文檔,請讀者在了解基本原理之后查閱相關(guān)手冊)2.實驗內(nèi)容(1)熟悉開發(fā)板的硬件布局。(2)連接JTAG口。(2)安裝GIVEIO(用于燒寫FLASH)驅(qū)動。(3)打開SJF2410_BIOSBAT(FLASH燒寫程序)進行燒寫。,安裝GIVEIO驅(qū)動,燒寫FLASH,燒寫FLASH,燒寫FLASH,精品課件,精品課件,燒寫FLASH,
下載積分: 4 賞幣
上傳時間:2024-01-07
頁數(shù): 47
大?。?1.93(MB)
子文件數(shù):