




已閱讀5頁,還剩71頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
嵌入式開發(fā)系統(tǒng)概況,嵌入式開發(fā)系統(tǒng)概況和設(shè)備驅(qū)動(dòng),開發(fā)平臺(tái)硬件資源 開發(fā)平臺(tái)軟件資源 嵌入式開發(fā)平臺(tái)的硬件布局 嵌入式系統(tǒng)開發(fā)流程 集成開發(fā)環(huán)境 可以練習(xí)的實(shí)驗(yàn)項(xiàng)目,開發(fā)平臺(tái)硬件資源,1)CPU:ARM7TDMI結(jié)構(gòu)芯片S3C44B0X,工作頻率60MHz; 2)BIOS:2M,NOR FLASH; 3)內(nèi)存:8M,SDRAM; 4)海量存儲(chǔ)器:16M,NAND Flash; 5)鍵盤:17鍵數(shù)字小鍵盤; 6)顯示:320240 、256色LCD,帶四線電阻式觸摸屏; 7)USB接口:D12芯片,USB 1.1標(biāo)準(zhǔn); 8)串口:2路,最高波特率115200 b/s; 9)網(wǎng)絡(luò)接口:RTL8019,10M以太網(wǎng); 10)CAN接口:波特率125Kb、250Kb、500Kb、1Mb;,11)調(diào)試接口:JTAG,14針、20針; 12)電機(jī):直流電機(jī),步進(jìn)電機(jī)(帶1/64減速器); 13)A / D:ARM自帶8路10位A /D,滿量程2.5V,4路電位器,4路擴(kuò)展; 14)D / A:10位,滿量程4.096V; 15)LED: 8個(gè),共陰,與鍵盤同由ZLG7289芯片驅(qū)動(dòng); 16)音頻輸出:IIS總線,UDA1341芯片,44.1KHz音頻; 17)擴(kuò)展插槽:2個(gè),提供系統(tǒng)總線以及空余資源接口;,嵌入式微處理器,嵌入式微處理器(EMPU)、嵌入式微控制器(MCU)、嵌入式DSP處理器(EDSP)、嵌入式片上系統(tǒng)(SOC) ARM、MIPS、68K、DSP、 ARM7、ARM9、ARM11、XSCALE、 本開發(fā)系統(tǒng)的選擇:ARM7TDMI結(jié)構(gòu)芯片S3C44B0X,ARMAdvanced RISC Machines,ARM(Advanced RISC Machines),既可以認(rèn)為是一個(gè)公司的名字,也可以認(rèn)為是對(duì)一類微處理器的通稱,還可以認(rèn)為是一種技術(shù)的名字。 ARM公司是專門從事基于RISC技術(shù)芯片設(shè)計(jì)開發(fā)的公司,作為知識(shí)產(chǎn)權(quán)供應(yīng)商,本身不直接從事芯片生產(chǎn),靠轉(zhuǎn)讓設(shè)計(jì)許可由合作公司生產(chǎn)各具特色的芯片,世界各大半導(dǎo)體生產(chǎn)商從ARM公司購買其設(shè)計(jì)的ARM微處理器核,根據(jù)各自不同的應(yīng)用領(lǐng)域,加入適當(dāng)?shù)耐鈬娐罚瑥亩纬勺约旱腁RM微處理器芯片進(jìn)入市場。,ARM微處理器的特點(diǎn),采用RISC架構(gòu)的ARM微處理器一般具有如下特點(diǎn): 1、體積小、低功耗、低成本、高性能; 2、支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件; 3、大量使用寄存器,指令執(zhí)行速度更快; 4、大多數(shù)數(shù)據(jù)操作都在寄存器中完成; 5、尋址方式靈活簡單,執(zhí)行效率高; 6、指令長度固定;,ARM微處理器系列,ARM微處理器目前包括下面幾個(gè)系列,以及其它廠商基于ARM體系結(jié)構(gòu)的處理器,除了具有ARM體系結(jié)構(gòu)的共同特點(diǎn)以外,每一個(gè)系列的ARM微處理器都有各自的特點(diǎn)和應(yīng)用領(lǐng)域。 ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 SecurCore系列 Inter的Xscale Inter的StrongARM,ARM7微處理器系列,ARM7系列微處理器為低功耗的32位RISC處理器,最適合用于對(duì)價(jià)位和功耗要求較高的消費(fèi)類應(yīng)用。ARM7微處理器系列具有如下特點(diǎn): 具有嵌入式ICERT邏輯,調(diào)試開發(fā)方便。 極低的功耗,適合對(duì)功耗要求較高的應(yīng)用,如便攜式產(chǎn)品。 能夠提供0.9MIPS/MHz的三級(jí)流水線結(jié)構(gòu)。 代碼密度高并兼容16位的Thumb指令集。 對(duì)操作系統(tǒng)的支持廣泛,包括Windows CE、Linux、Palm OS等。 指令系統(tǒng)與ARM9系列、ARM9E系列和ARM10E系列兼容,便于用戶的產(chǎn)品升級(jí)換代。 主頻最高可達(dá)130MIPS,高速的運(yùn)算處理能力能勝任絕大多數(shù)的復(fù)雜應(yīng)用。 ARM7系列微處理器包括如下幾種類型的核:ARM7TDMI、ARM7TDMI-S、ARM720T、ARM7EJ。其中,ARM7TMDI是目前使用最廣泛的32位嵌入式RISC處理器,屬低端ARM處理器核。,ARM7TDMI結(jié)構(gòu),T取至THUMB,表示支持16bit的高代碼密度的THUMB指令集。THUMB指令集是ARM指令集的子集,并且壓縮到16bit字長。在系統(tǒng)中合理地交叉使用ARM和THUMB指令集,可以使系統(tǒng)在達(dá)到設(shè)計(jì)要求的同時(shí),盡可能地減小代碼量。 D取至Debug,表示支持Debuging功能。 M取至Multiplier,表示具備32bit硬件乘法器。 I取至ICE,表示支持Embedded-ICE接口,可進(jìn)行在線仿真。,ARM微處理器的寄存器結(jié)構(gòu),ARM處理器共有37個(gè)寄存器,被分為若干個(gè)組(BANK),這些寄存器包括: 31個(gè)通用寄存器,包括程序計(jì)數(shù)器(PC指針),均為32位的寄存器。 6個(gè)狀態(tài)寄存器,用以標(biāo)識(shí)CPU的工作狀態(tài)及程序的運(yùn)行狀態(tài),均為32位,目前只使用了其中的一部分。,ARM微處理器的工作狀態(tài),從編程的角度看,ARM微處理器的工作狀態(tài)一般有兩種,并可在兩種狀態(tài)之間切換: 第一種為ARM狀態(tài),此時(shí)處理器執(zhí)行32位的字對(duì)齊的ARM指令; 第二種為Thumb狀態(tài),此時(shí)處理器執(zhí)行16位的、半字對(duì)齊的Thumb指令。 當(dāng)ARM微處理器執(zhí)行32位的ARM指令集時(shí),工作在ARM狀態(tài);當(dāng)ARM微處理器執(zhí)行16位的Thumb指令集時(shí),工作在Thumb狀態(tài)。在程序的執(zhí)行過程中,微處理器可以隨時(shí)在兩種工作狀態(tài)之間切換,并且,處理器工作狀態(tài)的轉(zhuǎn)變并不影響處理器的工作模式和相應(yīng)寄存器中的內(nèi)容。,ARM處理器模式,ARM微處理器支持7種運(yùn)行模式,分別為: 用戶模式(usr):ARM處理器正常的程序執(zhí)行狀態(tài) 快速中斷模式(fiq):用于高速數(shù)據(jù)傳輸或通道處理 外部中斷模式(irq):用于通用的中斷處理 管理模式(svc):操作系統(tǒng)使用的保護(hù)模式 數(shù)據(jù)訪問終止模式(abt):當(dāng)數(shù)據(jù)或指令預(yù)取終止時(shí)進(jìn)入該模式,可用于虛擬存儲(chǔ)及存儲(chǔ)保護(hù)。 系統(tǒng)模式(sys):運(yùn)行具有特權(quán)的操作系統(tǒng)任務(wù)。 未定義指令中止模式(und):當(dāng)未定義的指令執(zhí)行時(shí)進(jìn)入該模式,可用于支持硬件協(xié)處理器的軟件仿真。,Samsung S3C44B0X,Samsung S3C44B0X微處理器是三星公司專為手持設(shè)備和一般應(yīng)用提供的高性價(jià)比和高性能的微控制器解決方案,它使用ARM7TDMI核,工作在66MHZ。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件: 8KB Cache、外部存儲(chǔ)器控制器、LCD控制器、4個(gè)DMA通道、2通道UART、1個(gè)多主I2C總線控制器、1個(gè)IIS總線控制器,5通道PWM定時(shí)器及一個(gè)內(nèi)部定時(shí)器、71個(gè)通用I/O口、8個(gè)外部中斷源、實(shí)時(shí)時(shí)鐘、8通道10位ADC等。,基于ARM的嵌入式硬件平臺(tái)體系結(jié)構(gòu),開發(fā)平臺(tái)軟件資源,1)UarmJtag并口仿真器驅(qū)動(dòng)程序; 2)23個(gè)實(shí)驗(yàn)案例源代碼 3)UCOS-II操作系統(tǒng)、文件系統(tǒng)、驅(qū)動(dòng)程序、API函數(shù)的庫文件;,嵌入式操作系統(tǒng),近200種操作系統(tǒng),WinCE、Linux、Vxworks、QNX、Nucleus、 適于學(xué)習(xí)的源代碼開放的操作系統(tǒng):Linux、C/OS Linux:層次結(jié)構(gòu)且內(nèi)核完全開放、網(wǎng)絡(luò)功能強(qiáng)大、完整開發(fā)工具、廣泛的硬件支持、遵循通用國際標(biāo)準(zhǔn),便于程序的移植 C/OS:源代碼公開、實(shí)時(shí)內(nèi)核、易懂、易學(xué)、易用,嵌入式開發(fā)平臺(tái)的硬件布局,嵌入式操作系統(tǒng),嵌入式系統(tǒng)編程,嵌入式軟硬件協(xié)同設(shè)計(jì),嵌入式系統(tǒng)開發(fā)實(shí)踐,基礎(chǔ)平臺(tái):ARM/DSP/FPGA/SOPC,嵌入式系統(tǒng)設(shè)計(jì),集成開發(fā)環(huán)境,ARM SDT 2.5開發(fā)環(huán)境 ADS1.2 開發(fā)環(huán)境 集成開發(fā)環(huán)境的使用,參看實(shí)驗(yàn)指導(dǎo)講義,可以練習(xí)的實(shí)驗(yàn)項(xiàng)目,實(shí)驗(yàn)一A:ARM SDT 2.5開發(fā)環(huán)境 實(shí)驗(yàn)一B:ADS1.2 開發(fā)環(huán)境 實(shí)驗(yàn)一C:超級(jí)終端設(shè)置及BIOS功能使用 實(shí)驗(yàn)二 ARM的串行口實(shí)驗(yàn) 實(shí)驗(yàn)三 鍵盤及LED驅(qū)動(dòng)實(shí)驗(yàn) 實(shí)驗(yàn)四 D/A接口試驗(yàn) 實(shí)驗(yàn)五 ARM的A/D接口實(shí)驗(yàn) 實(shí)驗(yàn)六 電機(jī)轉(zhuǎn)動(dòng)控制實(shí)驗(yàn) 實(shí)驗(yàn)七 LCD的驅(qū)動(dòng)控制實(shí)驗(yàn) 實(shí)驗(yàn)八 觸摸屏程序設(shè)計(jì) 實(shí)驗(yàn)九 CAN總線通訊實(shí)驗(yàn) 實(shí)驗(yàn)十 定時(shí)器中斷和驅(qū)動(dòng)程序?qū)嶒?yàn),實(shí)驗(yàn)十一 BOOTLOADER實(shí)驗(yàn) 實(shí)驗(yàn)十二A C/OS-II在ARM微處理器上的移植及編譯 實(shí)驗(yàn)十二B 完善的C/OS-開發(fā)框架 實(shí)驗(yàn)十三 音頻實(shí)驗(yàn) 實(shí)驗(yàn)十四 繪圖的API函數(shù) 實(shí)驗(yàn)十五 系統(tǒng)的消息循環(huán) 實(shí)驗(yàn)十六 文件的使用 實(shí)驗(yàn)十七 列表框控件的使用 實(shí)驗(yàn)十八 文本框控件 實(shí)驗(yàn)十九 多任務(wù)和系統(tǒng)時(shí)鐘 實(shí)驗(yàn)二十 UDP通訊實(shí)驗(yàn) 實(shí)驗(yàn)二十一 綜合實(shí)驗(yàn) 實(shí)驗(yàn)二十二 模擬電子畫板實(shí)驗(yàn)觸摸屏應(yīng)用 實(shí)驗(yàn)二十三 基于ARM的多通道儀表信號(hào)采集實(shí)驗(yàn)多任務(wù)與A/D轉(zhuǎn)換,嵌入式系統(tǒng)課題設(shè)計(jì),可選課題,GPS通訊與路況信息系統(tǒng) 車輛照明模擬實(shí)驗(yàn) 車內(nèi)空調(diào)系統(tǒng)實(shí)驗(yàn) 車內(nèi)音頻播放系統(tǒng) 車速控制和剎車系統(tǒng) 系統(tǒng)綜合實(shí)驗(yàn)(看人數(shù)情況),實(shí)驗(yàn)方式及要求,46人一組,每組選定一個(gè)課題項(xiàng)目 課題內(nèi)部進(jìn)行任務(wù)規(guī)劃與分配 對(duì)課題進(jìn)行功能、性能方面的分析 完成硬件及操作系統(tǒng)裁減的規(guī)劃設(shè)計(jì) 在開發(fā)平臺(tái)上實(shí)現(xiàn)操作系統(tǒng)的移植與裁減 完成課題各個(gè)任務(wù)模塊的分析 、模擬與仿真 系統(tǒng)調(diào)試 實(shí)驗(yàn)過程及經(jīng)驗(yàn)總結(jié),嵌入式系統(tǒng)開發(fā)流程,系統(tǒng)功能、性能分析 系統(tǒng)方案總體設(shè)計(jì) 硬件平臺(tái)的選擇與裁減 操作系統(tǒng)的選擇與裁減 最小系統(tǒng)的設(shè)計(jì)與驗(yàn)證 應(yīng)用程序的設(shè)計(jì) 性能指標(biāo)優(yōu)化 開發(fā)經(jīng)驗(yàn)總結(jié),GPS通訊與路況信息系統(tǒng),1.背景 全球定位系統(tǒng)(Global Positioning System),通常簡稱GPS,是一個(gè)中距離圓型軌道衛(wèi)星定位系統(tǒng)。它可以為地球表面絕大部分地區(qū)提供準(zhǔn)確的定位和高精度的時(shí)間基準(zhǔn)。 車輛自動(dòng)導(dǎo)航系統(tǒng),它根據(jù)GPS接收機(jī)提供的車輛當(dāng)前位置和用戶輸入的車輛目的地,參照電子地圖計(jì)算合適的行駛路線并在行駛中以適當(dāng)?shù)姆绞浇o駕駛員提供必要的信息。,2.車輛GPS導(dǎo)航系統(tǒng)的功能:,及時(shí)顯示汽車在預(yù)先制定的電子地圖中的位置、行駛速度以及與目的地距離; 輸入目的地后主動(dòng)生成一條去目的地的最佳行駛路線,并在轉(zhuǎn)彎時(shí)用語言提醒用戶,使其去任何地方不用問路就可直接到達(dá); 隨時(shí)可查詢沿途的酒店、商店、加油站、修理廠、車站、碼頭等處的最新路況信息,為用戶提供方便; 可在汽車遭遇搶劫后,在指定范圍內(nèi)停止發(fā)動(dòng)機(jī)的運(yùn)行,并把汽車所出的位置報(bào)告警察;,使用處理流程,用戶輸入目的地。輸入方法主要有下面幾種。 在系統(tǒng)顯示的電子圖上直接點(diǎn)擊選取地點(diǎn); 借助外接鍵盤,以類似PC機(jī)的中文輸入法將地名輸入導(dǎo)航系統(tǒng); 確定位置。 行駛路線。在用戶輸入了目的地之后,導(dǎo)航系統(tǒng)根據(jù)電子地圖上存儲(chǔ)的地圖信息,就可以自動(dòng)算出一條最合適的路線,指示給用戶; 行駛中的導(dǎo)航。在必要時(shí)刻向駕駛員提示信息。比如,車輛行駛到系統(tǒng)推薦路線中應(yīng)轉(zhuǎn)彎的路口前,系統(tǒng)應(yīng)提示駕駛員:“200m后請(qǐng)向左轉(zhuǎn)” 。,3系統(tǒng)總體設(shè)計(jì),由于實(shí)驗(yàn)平臺(tái)沒有配備GPS模塊,本實(shí)驗(yàn)通過模擬實(shí)現(xiàn)。在LCD上顯示模擬電子地圖,實(shí)驗(yàn)者在觸屏上直接點(diǎn)擊選取目的地,然后實(shí)驗(yàn)者從PC機(jī)鍵盤輸入汽車當(dāng)前位置,通過串口傳到ARM,用以模擬GPS模塊接收到的從地面控制中心傳來的汽車位置數(shù)據(jù)。導(dǎo)航系統(tǒng)將傳回的數(shù)據(jù)與電子地圖對(duì)比,得到汽車的當(dāng)前位置,然后計(jì)算出一條最佳行車路線,并顯示在LCD上。,4硬件平臺(tái)選擇與剪裁,剪裁后的硬件: CPU: ARM7TDMI結(jié)構(gòu)芯片S3C44B0X; BIOS:2M , NOR FLASH; 內(nèi)存:8M , SDRAM; 海量存儲(chǔ)器:16M , NAND FLASH; USB接口:D12芯片,USB 1.1標(biāo)準(zhǔn); 顯示:320*240像素、256色LCD,帶4線電阻式觸摸屏;,5操作系統(tǒng)的移植與裁剪,5.1 操作系統(tǒng)的選擇 5.2 操作系統(tǒng)的移植 5.3 操作系統(tǒng)的裁剪 文件系統(tǒng)的建立; 必要的外設(shè)的驅(qū)動(dòng)程序; 實(shí)現(xiàn)基于Unicode的漢字字庫; 繪圖等實(shí)用API;,6.最小系統(tǒng)的設(shè)計(jì)與驗(yàn)證,6.1 最小系統(tǒng)的設(shè)計(jì) 6.2 最小系統(tǒng)的驗(yàn)證,7應(yīng)用程序設(shè)計(jì),7.1 程序功能 7.2 界面設(shè)計(jì) 7.3 程序流程,8指標(biāo)優(yōu)化,時(shí)間指標(biāo) 資源占用指標(biāo) 系統(tǒng)穩(wěn)定性,9總結(jié),在實(shí)驗(yàn)課題設(shè)計(jì)中,實(shí)現(xiàn)了哪些部分,使用到了哪些知識(shí),掌握了哪些。 在方案設(shè)計(jì)與系統(tǒng)調(diào)試過程中遇到的問題與解決方案 系統(tǒng)方案中還存在的缺陷 對(duì)該課題提出的創(chuàng)新性的見解 在實(shí)驗(yàn)中,希望能加強(qiáng)掌握的知識(shí)與實(shí)驗(yàn)有哪些?,車輛照明模擬實(shí)驗(yàn),背景 智能化的汽車照明系統(tǒng)又稱適應(yīng)性的照明系統(tǒng)(Adaptive Lighting Systems),它包括自適應(yīng)前照燈系統(tǒng)AFS(Adaptive Frontlighting Systems)、改進(jìn)的的信號(hào)照明和車內(nèi)照明控制三部分。,適應(yīng)性的前方照明系統(tǒng)AFS,適應(yīng)性的前方照明系統(tǒng)AFS是EUREKA的1403號(hào)項(xiàng)目,歐洲的汽車公司、車燈公司和光源公司共同承擔(dān)了這個(gè)項(xiàng)目,美國和日本的一些公司也參與了此一項(xiàng)目。AFS具有彎道照明BL(Bending Light)、高速公路照明ML(Motorway Light)/鄉(xiāng)間照明CL(Country Light)/城鎮(zhèn)照明TL(Town Light)和惡劣天氣照明AL(Adverse Weather Light)等功能。在城區(qū)駕駛時(shí)路面情況復(fù)雜,因而光形較寬,又由于車速不快,因而照射的距離不要很遠(yuǎn)。在高速公路,車速快,因而ML光束照射得遠(yuǎn)。在彎道處,BL應(yīng)該給彎道以良好的照明。,實(shí)驗(yàn)要求:,本次實(shí)驗(yàn)主要設(shè)計(jì)模擬AFS系統(tǒng)的部分功能。通過處理器對(duì)車速信息和方向信息的采集來控制車燈的照明方向和強(qiáng)度。同時(shí)接收控制信息,對(duì)車燈進(jìn)行控制。,實(shí)驗(yàn)?zāi)M條件:,由于實(shí)驗(yàn)板上資源有限,對(duì)于AFS系統(tǒng)只能作簡單的模擬,用8個(gè)共陰極LED模擬兩個(gè)前大燈,點(diǎn)亮不同的LED表示不同的照明焦點(diǎn)。從正中間起對(duì)8個(gè)LED作對(duì)稱編號(hào),1號(hào)LED用于模擬正常前大燈,2號(hào)LED用于模擬高速行駛時(shí)的遠(yuǎn)光燈,3號(hào)LED用于模擬轉(zhuǎn)向時(shí)的側(cè)光燈,4號(hào)LED用于模擬轉(zhuǎn)向時(shí)的信號(hào)燈。因?yàn)闆]有復(fù)雜的傳感器,所以對(duì)道路情況和天氣情況的傳感轉(zhuǎn)變?yōu)閷?duì)油門和車速的傳感。用AD1模擬方向盤,采樣其值用作對(duì)3號(hào)和4號(hào)LED的控制,用AD2模擬油門,當(dāng)油門超過一定值時(shí)認(rèn)為進(jìn)入高速行駛路段,點(diǎn)亮遠(yuǎn)光燈。 利用鍵盤作為用戶輸入,模擬車內(nèi)控制信息。,車內(nèi)空調(diào)系統(tǒng),背景: 汽車空調(diào)系統(tǒng)作為影響汽車舒適性的主要總成之一,為汽車提供制冷、取暖、除霜、空氣過濾和溫度控制功能 。,實(shí)驗(yàn)要求:,車內(nèi)智能空調(diào)系統(tǒng)將可以采樣車內(nèi)溫度,讀取用戶輸入溫度,根據(jù)兩個(gè)溫度的差別,確定供暖風(fēng)和還是冷風(fēng),并根據(jù)所需溫差的大小控制風(fēng)力的大小。同時(shí),可以根據(jù)用戶的需要,改變供風(fēng)的風(fēng)向和狀態(tài)。,實(shí)驗(yàn)?zāi)M條件:,鑒于實(shí)驗(yàn)開發(fā)板上的資源有限,在模擬空調(diào)系統(tǒng)時(shí),用直流電機(jī)的轉(zhuǎn)動(dòng)模擬空調(diào)壓縮機(jī)運(yùn)轉(zhuǎn),用步進(jìn)電機(jī)的轉(zhuǎn)動(dòng)模擬空調(diào)風(fēng)向的變化。用兩個(gè)AD轉(zhuǎn)換器分別表示車內(nèi)溫度和用戶輸入溫度,用鍵盤的上下調(diào)整風(fēng)向變化??照{(diào)運(yùn)行狀態(tài)的信息顯示在LCD上。,車內(nèi)音頻播放,背景: MP3等多種音樂格式的廣泛流行。設(shè)計(jì)一套適宜人們放松精神,緩解疲勞的音頻播放系統(tǒng)是十分必要的。播放系統(tǒng)需要可以顯示音樂列表、按照駕駛員的控制播放音樂、方便的調(diào)節(jié)音量和切換歌曲、并且播放系統(tǒng)帶有傳感器,當(dāng)出現(xiàn)復(fù)雜道路情況,車速變化頻繁時(shí)自動(dòng)停止播放以免干擾司機(jī)駕駛。,實(shí)驗(yàn)要求:,1.能夠?qū)?wav文件實(shí)現(xiàn)單聲道,多聲道選擇播放 2.能夠自動(dòng)存儲(chǔ)播放列表. 3.自由調(diào)整播放聲音大小 4.當(dāng)車開動(dòng)后能自動(dòng)關(guān)閉播放,以免妨礙司機(jī)開車 5.自由控制播放與停止.,實(shí)驗(yàn)?zāi)M條件:,實(shí)驗(yàn)箱已經(jīng)能夠滿足音頻播放的硬件要求,車速控制和剎車系統(tǒng),背景及規(guī)劃: 速度控制系統(tǒng),英文為Speed Control System;又稱為巡航控制系統(tǒng)(Crusle Control System),縮寫為CCS. 速度控制系統(tǒng)是一種減輕駕車者疲勞的裝置。當(dāng)汽車在長距離的高速公路行駛時(shí),啟動(dòng)速度控制系統(tǒng)就可以自動(dòng)將汽車固定在特定的速度上,免除駕車者長時(shí)間腳踏油門踏板之苦。另外,還有節(jié)省燃料和減少排放的好處,因?yàn)槠嚩加袑?duì)應(yīng)的經(jīng)濟(jì)速度,當(dāng)駕駛者將速度控制系統(tǒng)調(diào)置在經(jīng)濟(jì)速度上就可以起到省油的作用.,實(shí)驗(yàn)?zāi)M條件:,指令開關(guān)部分可以通過按鍵模擬。(車速調(diào)置開關(guān)、制動(dòng)踏板、恢復(fù)開關(guān)) 車速傳感器可以用一個(gè)模擬信號(hào),經(jīng)ad轉(zhuǎn)換模擬。 油門執(zhí)行模塊用直流電機(jī)和步進(jìn)電機(jī)模擬。系統(tǒng)設(shè)計(jì)主要完成ECU控制部分的設(shè)計(jì),可以在ucos操作系統(tǒng)下實(shí)現(xiàn)。,系統(tǒng)綜合實(shí)驗(yàn),1.背景 完整的汽車電子系統(tǒng),是一個(gè)有機(jī)整體,把上述部分進(jìn)行系統(tǒng)整合,形成汽車車載系統(tǒng)的完整解決方案,將很有實(shí)際意義,實(shí)驗(yàn)要求:,利用CAN總線,把各個(gè)模塊連接起來 實(shí)現(xiàn)CAN總線的通信 對(duì)于數(shù)據(jù)通信協(xié)議的規(guī)劃,實(shí)驗(yàn)條件:,實(shí)驗(yàn)箱已具備CAN總線,資料下載:,網(wǎng)上搜集 以往的總結(jié)資料 聯(lián)系方式: gaoyi_01126.com TEL:89538345,uC/OS-II移植實(shí)驗(yàn),實(shí)驗(yàn)?zāi)康?了解uC/OS-II內(nèi)核的基本原理和主要結(jié)構(gòu) 掌握將uC/OS-II內(nèi)核移植到ARM處理器上的基本方法 掌握uC/OS-II下基本多任務(wù)應(yīng)用程序的編寫,實(shí)驗(yàn)內(nèi)容,學(xué)習(xí)uC/OS-II再ARM處理器上的移植過程 編寫簡單的多任務(wù)應(yīng)用程序,同時(shí)實(shí)現(xiàn)跑馬燈和數(shù)碼管顯示的功能,預(yù)備知識(shí),了解嵌入式操作系統(tǒng)的構(gòu)架以及具體的uC/OSII的組成 了解操作系統(tǒng)的移植方法,uC/OS-II概述,uC/OS-II在特定處理器上的移植工作絕大部分集中在多任務(wù)切換的實(shí)現(xiàn)上,因?yàn)檫@部分代碼主要是用來保存和恢復(fù)處理器現(xiàn)場,許多操作如讀寫寄存器操作不能用C語言,只能使用特定的處理器的匯編語言來完成。 將uC/OS-II移植到ARM處理器上,需要完成的工作非常簡單,大部分的修改工作集中在三個(gè)和體系結(jié)構(gòu)相關(guān)的文件中,代碼量大約是500行。這三個(gè)文件是OS_CPU_C.c、OS_CPU_C.H以及OS_CPU_A.S。,移植的主要工作,用#define設(shè)置一個(gè)常量的值(OS_CPU.H) 聲明10個(gè)數(shù)據(jù)類型(OS_CPU.H) 用#define聲明三個(gè)宏(OS_CPU.H) 用C語言編寫六個(gè)簡單的函數(shù)(OS_CPU_C.C) 編寫四個(gè)匯編語言函數(shù)(OS_CPU_A.ASM) 根據(jù)處理器的不同,一個(gè)移植實(shí)例可能需要編寫或改寫50至300行的代碼,需要的時(shí)間從幾個(gè)小時(shí)到一星期不等。,OS_CPU.H,1. 數(shù)據(jù)類型 (與編譯器相關(guān)) 2.與處理器相關(guān)的代碼 OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL() OS_ENTER_CRITICAL(); /* C/OS-II 臨界代碼段 */ OS_EXIT_CRITICAL(); OS_STK_GROWTH 3. OS_TASK_SW() 它是在C/OS-從低優(yōu)先級(jí)任務(wù)切換到最高優(yōu)先級(jí)任務(wù)時(shí)被調(diào)用的。,OS_CPU.H的移植,數(shù)據(jù)類型定義 typedef unsigned char BOOLEAN; typedef unsigned char INT8U; /* Unsigned 8 bit quantity */ typedef signed char INT8S; /* Signed 8 bit quantity */ typedef unsigned int INT16U; /* Unsigned 16 bit quantity */ typedef signed int INT16S; /* Signed 16 bit quantity */ typedef unsigned long INT32U; /* Unsigned 32 bit quantity */ typedef signed long INT32S; /* Signed 32 bit quantity */ typedef float FP32; /* Single precision floating point */ typedef double FP64; /* Double precision floating point */ /* Define data types for backward compatibility . */ #define BYTE INT8S /* . to uC/OS V1.xx. Not actually needed for . */ #define UBYTE INT8U /* . uC/OS-II. */ #define WORD INT16S #define UWORD INT16U #define LONG INT32S #define ULONG INT32U 堆棧單位定義 typedef unsigned int OS_STK; /* Each stack entry is 16-bit wide */,OS_CPU.H的移植,ARM處理器相關(guān)宏定義 #define OS_ENTER_CRITICAL() ARMDisableInt() #define OS_EXIT_CRITICAL() ARMEnableInt() 堆棧增長方向 堆棧由高地址向低地址增長,這個(gè)也是和編譯器有關(guān)的,當(dāng)進(jìn)行函數(shù)調(diào)用時(shí),入口參數(shù)和返回地址一般都會(huì)保存在當(dāng)前任務(wù)的堆棧中,編譯器的編譯選項(xiàng)和由此生成的堆棧指令就會(huì)決定堆棧的增長方向。 #define OS_STK_GROWTH,OS_CPU_C.C,OSTaskStkInit() OSTaskCreateHook() OSTaskDelHook() OSTaskSwHook() OSTaskStatHook() OSTimeTickHook() 唯一必要的函數(shù)是OSTaskStkInit(),其它五個(gè)函數(shù)必須得聲明但沒必要包含代碼。,OS_CPU.c的移植,任務(wù)堆棧初始化 該函數(shù)由OSTaskCreate()或OSTaskCreateExt()調(diào)用,用來初始化任務(wù)的堆棧并返回新的堆棧指針stk。 初始狀態(tài)的堆棧模擬發(fā)生一次中斷后的堆棧結(jié)構(gòu)。在ARM體系結(jié)構(gòu)下,任務(wù)堆??臻g由高至低依次將保存著pc、lr、r12、r11、r10、 r1、r0、CPSR、SPSR,下圖說明了OSTaskStkInit()初始化后的也是新創(chuàng)建任務(wù)的堆棧內(nèi)容。 堆棧初始化工作結(jié)束后,OSTaskStkInit()返回新的堆棧棧頂指針,OSTaskCreate()或 OSTaskCreateExt()將指針保存在任務(wù)的OS_TCB中。,OS_CPU.c的移植,系統(tǒng)HOOK函數(shù):在這個(gè)文件里面還需要實(shí)現(xiàn)幾個(gè)操作系統(tǒng)規(guī)定的hook函數(shù),這些函數(shù)為用戶定義函數(shù),它將在相應(yīng)的操作系統(tǒng)調(diào)用后執(zhí)行由用戶定義的這些hook函數(shù),執(zhí)行特定的用戶操作,如果沒有特殊需求,則只需要簡單地將它們都實(shí)現(xiàn)為空函數(shù)就可以。這些函數(shù)包括: OSSTaskCreateHook( ) OSTaskDelHook( ) OSTaskSwHook( ) OSTaskStatHook( ) OSTimeTickHook( ),OS_CPU.c的移植,中斷級(jí)任務(wù)切換函數(shù) 該函數(shù)由OSIntExit()和OSExIntExit()調(diào)用。它是在時(shí)鐘中斷服務(wù)例程中發(fā)現(xiàn)有高優(yōu)先級(jí)任務(wù)等待的時(shí)鐘信號(hào)到來,則需要在中斷退出后并不返回被中斷任務(wù),而是直接調(diào)度就緒的高優(yōu)先級(jí)任務(wù)執(zhí)行。這樣做的目的主要是能夠盡快地讓高優(yōu)先級(jí)的任務(wù)得到響應(yīng),保證系統(tǒng)的實(shí)時(shí)性能。 該函數(shù)通過設(shè)置一個(gè)全局變量need_to_swap_context標(biāo)志以表示在中斷服務(wù)程序中進(jìn)行任務(wù)切換,并在OSTickISR()中判斷該變量以進(jìn)行正確的動(dòng)作。 其函數(shù)如下: void OSIntCtxSw(void) need_to_swap_context = 1; ,OS_CPU_A.ASM,C/OS-的移植實(shí)例要求用戶編寫四個(gè)簡單的匯編語言函數(shù): OSStartHighRdy() OSCtxSw() OSIntCtxSw() OSTickISR(),OSStart( )調(diào)用本函數(shù); OSStart( )負(fù)責(zé)使就緒狀態(tài)的任務(wù)開始運(yùn)行; OSStartHighRdy( )負(fù)責(zé)獲取新任務(wù)的堆棧指針并從堆棧指針中恢復(fù)新任務(wù)的所有處理器寄存器。,OSStart( )調(diào)用本函數(shù); OSStart( )負(fù)責(zé)使就緒狀態(tài)的任務(wù)開始運(yùn)行; OSStartHighRdy( )負(fù)責(zé)獲取新任務(wù)的堆棧指針并從堆棧指針中恢復(fù)新任務(wù)的所有處理器寄存器。,OSIntExit( )調(diào)用本函數(shù); OSIntExit由OSTickISR調(diào)用,負(fù)責(zé)在定時(shí)中斷中任務(wù)之間的切換; OSIntCtxSw( )主要保存當(dāng)前任務(wù)堆棧指針,并將新任務(wù)對(duì)應(yīng)的處理器寄存器從堆棧中恢復(fù)出來。,定時(shí)中斷函數(shù); OSTickISR( )主要負(fù)責(zé)在進(jìn)入時(shí)保存處理器寄存器,完成任務(wù)的切換,退出時(shí)恢復(fù)寄存器并返回。,OSStartHighRdy(),運(yùn)行優(yōu)先級(jí)最高的就緒任務(wù) void OSStartHighRdy (void) Call user definable OSTaskSwHook(); Get the stack pointer of the task to resume: Stack pointer = OSTCBHighRdy-OSTCBStkPtr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高速公路養(yǎng)護(hù)維護(hù)合同
- 2025年醫(yī)療設(shè)備技術(shù)升級(jí)合作合同協(xié)議書范本
- 專業(yè)芯片級(jí)維修技能培訓(xùn)合同
- 2025年個(gè)人租車合同協(xié)議標(biāo)準(zhǔn)格式
- 2025年合同代理授權(quán)協(xié)議
- 焦炭運(yùn)輸合同
- 夫妻簽訂離婚合同:保險(xiǎn)權(quán)益如何分割
- 重磅!全球軟件分銷合同條款變革
- 影視演員經(jīng)紀(jì)合同
- 2025年貨物供應(yīng)年度結(jié)算合同
- 幼兒園一崗雙責(zé)制度及實(shí)施方案(5篇)
- 教學(xué)常規(guī)檢查記錄表
- 清真食品相關(guān)項(xiàng)目投資計(jì)劃書范文
- 《紐約國際介紹》課件
- 部編版語文七年級(jí)下冊(cè)期中專項(xiàng)復(fù)習(xí)-標(biāo)點(diǎn)符號(hào) 試卷(含答案)
- 更年期綜合癥研究白皮書
- 《學(xué)習(xí)共同體-走向深度學(xué)習(xí)》讀書分享
- 互聯(lián)網(wǎng)視域下微紀(jì)錄片情感化敘事研究-以《早餐中國》為例
- 芋頭種植技術(shù)要點(diǎn)
- 【基于近五年數(shù)據(jù)的鴻星爾克財(cái)務(wù)報(bào)表分析15000字】
- 公司員工獎(jiǎng)懲制度流程
評(píng)論
0/150
提交評(píng)論