嵌入式系統(tǒng)實驗指導書_第1頁
嵌入式系統(tǒng)實驗指導書_第2頁
嵌入式系統(tǒng)實驗指導書_第3頁
嵌入式系統(tǒng)實驗指導書_第4頁
嵌入式系統(tǒng)實驗指導書_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

-.z.第1局部DK-LM3S9B92教學實驗平臺簡介1.1Stellaris?LM3S9B92開發(fā)板本書中的所有實驗都是基于DK-LM3S9B92開發(fā)平臺,LM3S9B92開發(fā)板提供了一個平臺給基于ARMCorte*-M3的高性能的LM3S9B92微控制器開發(fā)系統(tǒng)。LM3S9B92是Stellaris?Tempest-class微控制器家族的成員之一。Tempest-class系列設備擁有性能為80MHz的時鐘速率,一個外圍設備接口〔EPI〕和AudioI2S接口。除了支持這些功能的新硬件外,DK-LM3S9B92還包含了一系列豐富的基于其他Stellaris?板的外設。開發(fā)板包括一個板載線上調試接口〔on-boardin-circuitdebuginterface,ICDI〕,該接口支持JTAG和SWD調試。一個標準的ARM20針腳的調試頭支持大量的調試解決方案。Stellaris?LM3S9B92開發(fā)套件加快了Tempest-class微控制器的開發(fā)。該套件還包含了完整的實驗源代碼。Stellaris?LM3S9B92開發(fā)板包含以下特性:設置簡單的USB線提供調試、通訊和供電功能擁有眾多外設的靈活開發(fā)平臺彩色LCD圖形顯示–320×240分辨率的TFTLCD模塊–電阻式觸摸接口擁有256K閃存,96KSDRAM以及整合以太網、MAC+PHY、USBOTG和CAN通訊功能的80MHzLM3S9B92微控制器8MBSDRAM擴展〔通過EPI接口〕1MB串行閃存準確3.00V電壓參考微處理器ROM中內建SAFERTOS?操作系統(tǒng)I2S立體聲音頻編解碼器–輸入輸出–耳機輸出–麥克風輸入控制器區(qū)域網絡〔CAN〕接口10/100BaseT以太網USBOn-The-Go〔OTG〕連接器–Device、Host、以及OTG模式用戶LED和按鈕指輪電位器〔可以用于菜單導航〕MicroSD卡插槽支持一系列調試選項–集成在線調試接口〔ICDI〕–全面支持JTAG、SWD和SWO–標準的ARM20針腳JTAG調試連接器USB虛擬端口跳線分流方便重新分配I/O資源為StellarisWare軟件所支持,包括圖形庫、USB庫和外圍驅動庫圖1-1DK-LM3S9B92開發(fā)板1.1.1開發(fā)工具清單Stellaris?LM3S9B92開發(fā)工具包括開發(fā)和運行使用Stellaris?微處理器的應用程序所需的所有東西:LM3S9B92開發(fā)板網線用于調試的USBMini-B線纜用于OTG連接PC的USBMicro-B線纜用于USB主機的連接USBA適配器的USBMicro-A線纜USB閃存記憶棒microSD卡20位帶狀電纜線光盤包含以下工具的評估版本:–StellarisWare及用于本開發(fā)板的實驗代碼–IAREmbeddedWorkbenchKickstartEdition1.1.2系統(tǒng)框圖圖1-2DK-LM3S9B92開發(fā)板框圖1.1.3開發(fā)板說明開發(fā)板的供電電壓:4.75—5.25VDC,從以下的輸入源中的一個得到:–調試器〔ICDI〕USB線纜〔連接至PC〕–USBMicro-B線纜〔連接至PC〕–直流電源插孔〔2.1*5.5mm由外部電源供給〕尺寸:107mm*114mm模擬參考電壓:3.0V+/-0.2%RoHS狀態(tài):符合注:當LM3S9B92開發(fā)板工作在USB主機模式時,主機的連接器供電給已連接的USB設備。有效的供給電流被限制在~200mA,除非開發(fā)板用5v,600mA的外部電源供電。1.2硬件描述除了一個LM3S9B92微處理器之外,開發(fā)板還具備了許多有用的外圍設備功能和一個集成在線調試接口〔ICDI〕,本章將介紹這些外圍設備如何工作和微處理器的接口。Stellaris?LM3S9B92是一個基于Corte*-M3內核的微處理器,擁有256K閃存、80MHz時鐘周期、以太網接口、USB、EPI、ROM內建SAFERTOS?還有大量的外設。詳情請參見LM3S9B92微控制器數(shù)據(jù)手冊〔隨書附贈光盤"4技術資料〞文件夾中的Datasheet-LM3S9B92文件〕。跳線和GPIO分配每一個開發(fā)板上的外設電路是通過一個0.1‖間距的跳線連接到LM3S9B92微控制器。圖1-3顯示了跳線出廠時的默認設置。跳線在默認設置時才可以正確無誤的運行快速啟動演示程序。出產默認跳線設置。默認連接的跳線:JP1,JP2,JP3~JP13,JP16~JP32,JP34,JP37~JP43,JP46,JP48,JP50~JP56,JP58,JP60~JP61。默認不連接的跳線:JP14~JP15,JP33,JP35,JP44,JP45,JP47,JP49,JP57,JP65。圖1-3默認跳線設置開發(fā)板提供了許多功能但是由于引腳數(shù)和GPIO復用的限制,不能同時支持多項功能。舉個例子,開發(fā)板不能同時支持SDRAM和I2S接口接收〔麥克風或線路輸入〕功能設置。與I2S接口接收相關的跳線在默認設置沒有接上。表1-1列出了出廠默認設置中沒有被連接的功能和外設。使用這些外設需要將其他相關的外設斷開連接。在表1-1中,結合一些用到這塊板的StellarisWare范例程序,列出了可選的跳線設置。表1-1板功能及在默認設置中不連接的外圍設備外部設備跳線I2SReceive(AudioInput)JP44,45,47,49控制器局域網絡(CAN)JP14,15EthernetYellowStatusLED(LED2)JP23.0V模擬參考電壓JP33GPIO分配詳情如附錄B。該表列出了所有默認的且被0.1〞跳線和PCB布線所支持的可選配置。LM3S9B92擁有額外的內部復用,這將需要額外的配置,使得外設和GPIO引腳之間可能需要分開布線。板上的ICDI局部有一個沒有實際功能的GND-GND跳線,該跳線僅為"擺放〞空閑跳線開關〔帽〕而提供方便的地方。當需要時,這根跳線可以重復使用。時鐘開發(fā)板使用一個16.0MHz〔Y2〕晶振完成LM3S9B92微處理器的內部主時鐘電路。使用一個可代碼配置的內部PLL來倍頻此時鐘到更高的頻率,以供內核和外設時鐘使用。一個25.0MHz〔Y1〕晶振為以太網物理層〔EthernetPHY〕提供一個精準的時基。復位LM3S9B92微控制器的復位信號〔RESETn〕連接到了復位開關〔SW2〕和ICDI電路。連接到ICDI電路作為調試控制復位。以下三種事件中的一種會導致外部復位信號生效〔低電平〕:上電復位〔通過一個R-C回路實現(xiàn)〕復位開關SW2被按下當調試器發(fā)出復位指令時,由ICDI電路〔U12FT2232,U13D74LVC125A〕產生復位信號?!泊斯δ芸蛇x,可能不是所有調試器都支持此功能〕LCD模塊要求有特殊的復位時序,需要來自微控制器的專用控制線。電源此開發(fā)板需要一個5.0V穩(wěn)壓電源,跳線JP34、JP35和電源撥動開關J16用于電源選擇,默認的電源輸入是ICDIUSB接口。為防止電源間的沖突,在任何時侯只能使用一個5.0V電壓源。當USB處于主機〔Host〕狀態(tài)時,如果+5V電源可用〔非板上〕該電源應中選擇為ICDI或外部電源。該開發(fā)板上具有兩個主電源。一個+3.3V電源為微控制器和大多數(shù)電路供電。+5V用于OTGUSB端口和在線調試接口〔ICDI〕USB控制器供電。一個低壓降〔LDO〕穩(wěn)壓器〔U5〕將+5V電源轉換為+3.3V。這兩個電源都被連接到了測試口,以便使用。USB此LM3S9B92的全速USB控制器支持On-the-Go,主機和設備配置。USB相關信號信息參考表1-2。5針腳的microABOTG連接頭支持這三種接口和包含在套件中的配套電纜。USB端口既有額外的高達15KV的ESD保護二極管陣列。表1-2USB相關信息微控制器引腳板功能跳線名稱Pin70USB0DMUSBData-Pin71USB0DUSBData+Pin73USB0RBIASUSBbiasresistorPin66USB0IDOTGIDsignal〔輸入到微控制器〕OTGIDPin67USB0VBUSVbusLevelmonitoring+VBUSPin34USB0EPEHostpowerenable〔高電平有效〕EPENPin35USB0PFLTHostpowerfaultsignal〔低電平有效〕PFLTU6是一個故障保護開關,監(jiān)控USB主機端口的電源。USB0EPEN是微控制器的控制信號,有一個下拉電阻,以確保在復位時主機的端口電源被切斷。如果所連接的USB設備電流消耗超過1A或者開關的熱限制被設備超出消耗超過500mA,則電源開關會被馬上切斷。USB0PFLT信號線指示過載電流的狀態(tài),反應至微控制器。此開發(fā)板可以是一個總線供電的USB設備或是自供電USB設備,這決定于電源所跳線的配置。當在USB主機模式中使用開發(fā)板時,EVB的電源應由在線調試接口〔ICDI〕USB連接線或連接到直流電源插孔的+5V所供給。注:LM3S9B92的USB功能是完全獨立于在線調試接口USB功能。調試Stellatis微控制器支持通過JTAG或SWD編程和調試,JTAG使用TCK、TMS,TDI和TDO信號。SWD要求的信號較少〔SWCLK,SWDIO,和可選擇的跟蹤信號SWO〕。由調試器決定使用何種調試協(xié)議。調試模式此LM3S9B92開發(fā)板支持一系列硬件調試配置,如表1-3所示。表1-3硬件調試配置模式調試功能用途選定1內置的ICDI在板上LM3S9B92通過USB接口調試微控制器默認模式2輸出到JTAG/SWD的ICDI接頭開發(fā)板被用作USB到SWD/JTAG的接口連接到外部目標板連接到外部目標并開場調試程序3從JTAG/SWD接頭輸入提供給需要使用帶EVB外部調試接口〔ULINK,JLINK等〕的用戶連接一個外部調試器到JTAG/SWD調試考前須知調試模式3支持使用外部調試接口的板載調試,例如SeggerJ-Link或KeilULINK。大多數(shù)調試器用調試連接器的1號引腳來檢測目標板的電壓,在*些情況下,為輸出邏輯電路供電。為使用外部調試器,必須使得VDD/PIN1跳線開關合上,從而使此引腳帶上3.3V電壓。調試USB概述使用FutureTechnologyDevicesInternational公司的FT2232芯片來實現(xiàn)USB-to-serial的轉換。FT2232默認設置可以在通道A上使用一個JTAG/SWD端口〔串行接口〕和一個在通道B上使用的虛擬接口〔VCP〕。此功能允許主機和目標設備利用一條USB線同步通訊。在文檔和軟件CD盤中提供了每個功能的獨立Windows驅動。在線調試接口USB的功能完全獨立于LM3S9B92芯片上的USB功能。FT2232芯片的配置數(shù)據(jù)由一個小的串行EEPROM存儲。該EEPROM是不可被LM3S9B92微控制器的。關于FT2232運作的全部細節(jié),請.ftdichip.。USB到JTAG/SWDFT2232USB設備在調試器控制下執(zhí)行JTAG/SWD串行操作。一個簡單的邏輯電路復用SWD和JTAG功能,在SWD模式下工作時,為雙向數(shù)據(jù)線提供方向控制。虛擬串行通信端口虛擬串行通信端口〔VCP〕允許Windows應用程序〔如超級終端〕與LM3S9B92上的UART0通過USB通信。一旦安裝FT2232VCP設備驅動后,Windows會分配一個串行通信端口號到VCP通道。表1-4列出了調試相關信號。表1-4相關調試信號微控制器引腳板功能跳線名稱Pin77TDO/SWOJTAGdataoutortracedataoutTDOPin78TDIJTAGdatainTDIPin79TMS/SWDIOJTAGTMSorSWDdatain/outTMSPin80TCK/SWCLKJTAGClockorSWDclockTCKPin26PA0/U0R*VirtualportdatatoLM3S9B92VCPR*Pin27PA1/U0T*VirtualportdatafromLM3S9B92VCPT*Pin64RSTn系統(tǒng)復位RSTn串行線輸出〔SWO〕開發(fā)板支持Corte*-M3串行線輸出〔SWO〕跟蹤功能。在調試器控制下,板上的邏輯電路可將SWO數(shù)據(jù)流發(fā)送到VCP傳送通道。調試器軟件便可對從虛擬串行通信端口處接收到的跟蹤信息解碼和解釋。當使用SWO時,中斷UART0和虛擬串口〔VCP〕的連接。并不是所有的調試器都支持SWO。更多跟蹤端口接口單元〔TracePortInterfaceUnit,TPIU〕的信息請參考Stellaris?LM3S9B92微控制器數(shù)據(jù)手冊。彩色QVGALCD觸摸顯示屏此開發(fā)板采用分辨率為320*240像素的TFT液晶圖像顯示器。該顯示器使用前應除去在運輸過程使用的保護塑料薄膜。特性LCD模塊具有的特性包括:–高品質a-SiTFTLCD單元–262,144/65,536顏色值–80-系統(tǒng)8位接口–支持高速butst-GRAM寫功能–支持局部屏幕顯示–支持睡眠和待機兩種模式以節(jié)省電源–高比照度,高明度–重量輕,體形小–低功耗–4線模擬電阻觸摸面板控制界面彩色LCD有一個內置的多模式并行接口控制器IC,開發(fā)板使用一個8位的8080型接口——GPIOD口,作為數(shù)據(jù)總線。表1-5列出了LCD相關信號:表1-5液晶顯示器信號微控制器引腳板功能跳線名稱PE6/ADC1Touch*+*+PE3TouchY-Y-PE2Touch*-*-PE7/ADC0TouchY+Y+PB7LCD復位LRSTnPD0..7LCD數(shù)據(jù)總線0..7LD0..7PH7LCD數(shù)據(jù)/控制選擇LDCPB5LCD讀出選通LRDnPH6LCD寫入選通LWRn-背光燈控制BLON規(guī)格說明表1-6TFT-LCD模塊序號工程名稱特性1類型透射型2顯示模式平常白3像素單元a-SiTFT4屏幕尺寸2.6inch(對角)5分辨率240(RGB)×3206色數(shù)65,536/262,1447有效面積38.88×51.84(mm)8點距66×198(μm)9色彩RGB條紋〔RGB-stripe〕10裝配類型COG11ICS6D015412背光LED13視覺方向12o’clock14模塊尺寸46×64×3.5(mm)15電源2.5~3.3V16接口80-System16/8bitI/F17外表處理紫外線保護表1-7觸摸面板序號工程名稱規(guī)格備注1類型4線模擬電阻式2輸入模式手寫筆或手指接觸3外表處理透明型4玻璃厚度0.5(mm)5有效區(qū)域40.6*57.65(mm)6可視范圍42*58.15(mm)7外形尺寸45.6*63.5*1.0(mm)8觸摸力度≦80(gf)手指或手寫筆在―有效區(qū)域‖,而不是在邊緣和點隔片之間。9外表硬度9≧3HJIS-K5400背光白色LED背光顯示必須清晰可見。U7〔TPS60230〕實現(xiàn)一個80mA的恒定電流LED的背光電源,LCD共有4個并聯(lián)LED,每個電流大約20mA。背光通常不由微控制器控制,但是,接口處的控制信號仍然有效。跳線連接到GND可使背光失效。另外,可使用一根導線通過一個空閑的微控制器GPIO線路控制此信號。由于此TPS60230工作于恒定電流模式,如果斷開LCD,它的輸出電壓將會跳變。電源此LCD模塊內置偏置電壓發(fā)生器,僅需要一個3.3V的直流電源。電阻觸摸屏4線電阻觸摸屏可通過使用2個ADC通道和2個GPIO信號直接與微控制器連接。更多電阻觸摸屏信息請參考StellarisWare源代碼。I2S音頻LM3S9B92開發(fā)板的高級音頻功能使用了I2S音頻TLV320AIC23解碼器。出廠默認配置音頻輸出已啟用〔線路輸出和耳機輸出〕。音頻輸入要求四個額外的I2S信號〔線路輸入和麥克風〕。四個音頻接口都使用1/8寸〔3.5毫米〕立體聲插孔。表1-8列出了I2S音頻相關信號。表1-8I2S音頻相關信號微控制器引腳板功能跳線名稱I2C0SDA編解碼器的配置數(shù)據(jù)SDAI2C0SCL編解碼器的配置時鐘SCLI2ST*SD音頻輸出串行數(shù)據(jù)T*SDI2ST*WS音頻輸出幀信號T*WSI2ST*SCK音頻輸出比特時鐘BCLKaI2ST*MCLK音頻輸出系統(tǒng)時鐘MCLKI2SR*SD音頻輸入串行數(shù)據(jù)R*SDbI2SR*WS音頻輸入幀信號R*WSbI2SR*SCK音頻輸入比特時鐘BCLKbI2SR*MCLK音頻輸入系統(tǒng)時鐘MCLKba.與基準模擬電壓共享GPIO線路,默認連接跳線。b.與LCD數(shù)據(jù)總線共享GPIO線路-端口D,跳線默認不接連。音頻編解碼器擁有假設干使用I2C總線信號進展配置的控制存放器。使用I2C時,編解碼器配置只能寫入,不能讀取。更多信息可參考StellarisWare編程資料范例和完整介紹TLV320AI*23B存放器的數(shù)據(jù)手冊。耳機輸出可直接連接到任意標準耳機。線路輸出適用于連接到一個外置音箱,包括PC臺式揚聲器。用戶切換和LED開發(fā)板提供一個用戶切換按鈕和指示燈,如表1-9所示。表1-9開關信號導航微控制器引腳板載功能跳線名稱PJ7用戶切換切換PF3用戶指示燈LEDa共享黃色指示燈以太網插口,默認連接跳線SDRAM擴展板SDRAM提供8MB內存〔4M×16〕,一旦配置完成將成為LM3S9B92位于0*6000.0000或0*8000.0000的存儲器映射。SDRAM接口多路傳輸DQ00..14和AD/BA0..14無需外部鎖存器或緩沖區(qū)。1.3使用在線調試接口此Stellaris?LM3S9B92開發(fā)板可用作在線調試接口〔ICDI〕。ICDI充當一個USB接口連接到JTAG/SWD適配器,并允許調試外部任何一個使用Stellaris?微控制器的目標板。請參閱"調試模式〞中關于"如何進入調試輸出模式〞的描述。圖1-4ICD的接口模式調試接口能作用于串口調試SWD或JTAG模式中,此決定于IDE調試器的配置。此IDE調試器不能區(qū)分板上的Stellaris?微控制器和外部Stellaris?微控制器,要求適當?shù)腟tellaris?設備已在工程配置中被選擇。Stellaris?目標板應有一個2*100.1〞的信號引腳頭,如附錄B3所示。這適用于外部的Stellaris?微控制器目標〔調試輸出模式〕和外部的JTAG/SWD調試器〔調試輸入模式〕。ICDI不控制RST〔設備復位〕或TRST〔測試復位〕信號。這兩種復位功能被用于JTAG/SWD,所以這些信號通常是不必要的。建議連接所有GND引腳,無論如何,目標和外部調試接口必須連接引腳5并且至少有一個GND引腳連接到地。一些外部調試接口可能需要給定一個電壓以設置線路驅動的門限值。如果一個外部調試器連接,開發(fā)板ICDI電路自動設置引腳1為高電平,在其他模式中,引腳1設置為未使用的。第2局部LM3S9B92開發(fā)環(huán)境簡介2.1開發(fā)環(huán)境使用本實驗評估板需要以下硬件和軟件調試工具。硬件:裝有win*p或win7的PC機一臺,lm3s9b92評估板,用于調試的usbMini-B數(shù)據(jù)線。軟件:LuminaryFTDI仿真驅動程序,KeilRealViewMDK開發(fā)環(huán)境。2.1.1硬件連接把USBmini-B數(shù)據(jù)線的miniB接口插在開發(fā)板的J13處,另一端連接計算機的USB接口。2.1.2LuminaryFTDI仿真驅動程序的安裝DK-LM3S9B92開發(fā)板內嵌有USB接口的下載仿真器,在正常使用之前必須要安裝Luminary專用的FTDI驅動程序。該驅動程序存放在開發(fā)板光盤內Tools目錄下的FTDI文件夾下。具體安裝步驟如下:將連接有usbmini-B數(shù)據(jù)線的DK-lm3s9b92開發(fā)板連接到電腦上,此時windows會提示"發(fā)現(xiàn)新硬件〞,接著彈出"找到新的硬件向導〞對話框,如圖2-1。選擇"否,暫時不〞,按下一步。圖2-1安裝LuminaryFTDI驅動:硬件安裝向導選擇"從列表或指定位置安裝(高級)〞,按"下一步〞,如圖2-2所示。現(xiàn)在安裝的是"StellarisDevelopmentBoardA〞。圖2-2安裝LuminaryFTDI驅動:選擇指定位置安裝勾中"在搜索中包括這個位置〞,按瀏覽,翻開路徑"G:\Tools\FTDI〞,按下一步。如圖2-3所示。圖2-3安裝LuminaryFTDI驅動:選擇驅動程序位置在安裝完評估板A之后,還會繼續(xù)對"StellarisDevelopmentBoardB〞和"StellarisVirtualPort〞安裝,安裝方法都類似,都在一樣目錄下搜索驅動。3個驅動程序全部安裝完成后,可以翻開Windows的設備管理器來查看相關設備信息。翻開設備管理器后,就能看到剛剛安裝的設備了,如圖2-4所示。圖2-4安裝LuminaryFTDI驅動:查看設備管理器如果LuminaryFTDI驅動程序裝錯了,或者以后要升級為最新版本的驅動程序,則需要首先卸載。卸載時先把開發(fā)板連接到電腦上,然后翻開Windows設備管理器,找到"StellarisVirtualPort(*)〞,點右鍵,選擇"卸載〞。以同樣的方法卸載"StellarisDevelopmentBoardA〞、"StellarisDevelopmentBoardB〞和"USBpositeDevice〞。截至2009年10月,LuminaryMicro官方發(fā)布了最新的"Stellaris?外設驅動庫"版本"PDL-LM3S-5228〞。驅動庫完全基于ANSIC標準編寫,并且源代碼也是公開的,因此讀者完全可以摒棄晦澀難懂的匯編語言,也不需要掌握底層存放器的操作細節(jié),只要懂C語言就能輕松玩轉Stellaris?系列ARM。這也使得學習開發(fā)32位ARM的入門門檻大大降低。只要登陸".LuminaryMicro.〞并注冊用戶信息,就能夠免費下載到最新的驅動庫版本。2.1.3安裝KeilRealViewMDK現(xiàn)在,能夠支持**儀器公司Stellaris?系列ARM的軟件開發(fā)平臺主要有Keil、IAR、Cross、CodeSourcery、CodeRed等。這些軟件各具特色,其中IAREWARM集成開發(fā)環(huán)境具有編譯效率高、32KB免費評估版、在線仿真本錢低等優(yōu)勢??紤]到同學們之前接觸過Keil開發(fā)環(huán)境,這里選擇使用keil。我們選擇的是4.50版本的KeilRealviewMDK。按照成功后將在桌面上看到如下列圖2-5圖標。圖2-5keil4快捷圖標2.2Keil在DK-LM3s9b92開發(fā)板上的使用下面以LM3s9b92開發(fā)板附贈的光盤內的"Blinky〞程序為例,說明如何在keil開發(fā)環(huán)境下,開發(fā)適合于LM3s9b92開發(fā)板的可運行程序。Blinky的例如代碼在光盤內"labs\lab3_gpio_interrupt\task1_gpio〞路徑內〔注:光盤內的所有例如程序是應用IAR開發(fā)環(huán)境開發(fā);對于不同的開發(fā)環(huán)境只是配置不同,源程序可以重用〕。2.2.1新建工程目錄選擇在*個目錄下,新建一個工程目錄,在這里,我們在E盤下新建一個〞LED_Blink〞目錄作為工程目錄,即"E:\LED_Blink〞。2.2.2新建工程在新建目錄"LED_Blink〞中,新建基于芯片LM3s9b92的工程,并把該工程命名為"LED_Blink〞。具體操作如下:翻開keil開發(fā)環(huán)境;通過點擊"Project〞菜單下的"newuvisonproject〞選項新建工程,先選擇存放工程的目錄,這里選定新建的目錄"E:\LED_Blink〞為工程目錄,如圖2-6;同時給工程命名,在此我們把它命名為"LED_Blink〞,如圖2-7,并點擊保存。圖2-6選擇工程目錄圖2-7命名工程名接著選擇工程的開發(fā)目標器件:選擇TI〔Te*asinstruments〕公司的LM3s9b92為目標器件,如圖2-8和圖2-9。圖2-8選擇器件廠家圖2-9選擇器件名稱選定后,并單擊"OK〞保存設置。接著將彈出如圖2-10所示的對話框,該對話框是向開發(fā)者詢問"是否將所選目標器件對應的啟動文件添加到工程目錄中〞,我們選擇"是〞。緊接著我們可以在工程窗口內看到被添加的啟動文件"Startup.s〞,如圖2-11。圖2-10添加啟動文件的提示框圖2-12添加的啟動文件Startup添加源文件〔程序代碼〕添加主程序:把光盤內"labs\lab3_gpio_interrupt\task1_gpio〞目錄下的"blink.c〞文件復制到新建的工程目錄"E:\LED_Blink〞下,如圖2-13。并通過工程窗口內的添加文件功能把"blink.c〞文件添加到工程"LED_Blink〞中,添加成功后,將在工程窗口中看到該文件的文件名,如圖2-14所示。圖2-13工程目錄下添加源文件圖2-14工程內添加源文件添加驅動程序和庫文件:LM3s9b92開發(fā)對應的頭文件、庫文件以及驅動程序在光盤"labs\StellarisWare〞目錄內。共有三個庫目錄:driverlib、grlib、usblib,它們分別對應外設驅動庫、圖形庫、usb庫;"inc〞目錄中只是存放與芯片外設相關的頭文件,另外還有根據(jù)開發(fā)板電路配置的驅動程序在目錄"drivers〞中。假設進入庫目錄查看,里面不僅有各庫對應的源程序,還有一些子目錄,比方"ewarm〞、"rvmdk〞等,這些子目錄內存放的是不同開發(fā)環(huán)境下,各庫對應的生成庫。比方,rvmdk目錄下存放的是ARM/Keil的"MDK〞開發(fā)環(huán)境下可執(zhí)行庫。庫文件和頭文件的添加:把光盤下的driverlib、grlib、inc三個目錄復制到工程目錄"E:\LED_Blink〞下。因為"blink.c〞源程序中需要用到driverlib和grlib庫,因此需要通過工程窗口添加這兩個庫對應在keil開發(fā)環(huán)境下的庫,添加方法和添加源程序的方法一樣。下面以添加driverlib為例說明:參照圖2-15、2-16、2-17操作。在圖2-17中選中"driverlib.lib〞庫文件,單擊"Add〞按鈕。之后,我們會在工程窗口中看到包含了該庫文件。添加完兩個庫后的工程窗口如圖2-18所示。圖2-15圖2-16圖2-17圖2-18添加頭文件可以采用指明工程需要include的頭文件的存放路徑的方式,參加工程中。這里的路徑最好采用相對于工程文件的相對路徑。具體設置方法如下:翻開該工程的"Option〞選項對話框,選擇其中的"C/C++〞標簽,如圖2-19。在該標簽頁內"IncludsPaths〞對應的文本框內寫上"blink.c〞程序中需要用到頭文件相對于工程文件的相對路徑即可,如圖2-20所示。這里是寫上".\〞,它表示指向的路徑為在當前工程文件所在目錄內。圖2-19C/C++標簽頁圖2-20填寫頭文件相對工程文件的相對路徑添加驅動程序:在"blink.c〞程序文件中用到了關于觸摸屏、開發(fā)板上LM3s9b92芯片引腳配置驅動程序。這些程序在光盤"labs\StellarisWare〞目錄下的目錄"drivers〞中。所以把"drivers〞目錄復制到工程目錄"E:\LED_Blink〞中。接著并像添加程序文件"blink.c〞一樣,把"drivers〞目錄中的"kitroni*320*240*16_ssd2119_8bit.c〞、"set_pinout.c〞添加到工程窗口中,結果如圖2-21所示。圖2-21為工程的編譯、連接、運行以及調試進展配置在工程窗口選中工程文件夾,然后單擊右鍵在彈出的快捷菜單中選擇"Option〞選項,或者單擊"Project〞下拉菜單的"Option〞選項,彈出如圖2-22對話框,進展如下設置:圖2-22單擊對話框中的"Target〞選項,將"Target〞選項卡下的晶振"*tal〞按照開發(fā)板設置為"16.0〞,并將"CodeGeneration〞區(qū)的"UseMicrolib〞選項鉤上。如上圖2-22所示。單擊對話框中的"Debug〞選項,如圖2-23選中"Use〞,并將"Use〞后的下拉組合框選為"StellarisICDI〞。設置好后,再點擊下拉組合框后的"Setings〞按鈕,將彈出圖2-24所示的對話框,在該對話框內,務必保證"FLash〞區(qū)內是選擇了"PageErase(eraseonlynecessarypages)〞,而且后面的復選項不能選擇"ResetandRun〞,否則將燒壞Flash芯片。圖2-23圖2-24單擊對話框中的"Utilities〞選項,如圖2-25所示選中"UseTargetDriverforFlashProgramming〞選項,并將該選項下的下拉組合框選為"StellarisICDI〞,通過點擊"Settings〞按鈕彈出的對話框的設置方式同上面步驟〔2〕說明操作。圖2-25編譯、在工程窗口選中工程文件夾,單擊右鍵在彈出的快捷菜單中選擇"Rebuildalltargetfiles〞選項,或者單擊"Project〞下拉菜單的"Rebuildalltargetfiles〞選項,進展編譯。如果有錯誤則做相應的修改,直到出現(xiàn)0error為止。這時軟件會自動生成運行于Arm處理器中的可執(zhí)行文件"LED_Blink.a*f〞。加載工程〔下載工程到目標板〕在加載工程前,先把開發(fā)板通過USB接口連接到PC機上,在keil界面中選擇主菜單Flash>Download,或者單擊快捷鍵〔〕,開場裝載"LED_Blink.a*f〞文件。啟動調試在Keil界面中選擇主菜單Debug>start/stopdebugsession,或者單擊快捷鍵,進入調試狀態(tài)。運行程序在Keil界面中選擇主菜單Debug>Run,或者單擊快捷鍵,運行程序。程序運行后,會看到液晶屏上有顯示一些字符,同時開發(fā)板上有兩只LED燈在閃爍。退出運行狀態(tài)在Keil界面中選擇主菜單Debug>Stop,或者單擊快捷鍵,則退出運行狀態(tài)。但是此時仍然處于調試狀態(tài),假設要退出調試,返回開發(fā)狀態(tài),則單擊或者通過主菜單Debug>start/stopdebugsession。第3局部LM3s9b92開發(fā)實例3.1GPIO實驗實驗目的學會編程控制GPIO口實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理LM3s9b92包含九個GPIO模塊,每個模塊對應一個GPIO端口〔PA、PB、PC、PD、PE、PF、PG、PH〕。每個GPIO端口包含8個管腳,如PA端口是PA0~PA7。GPIO模塊遵循FiRM〔FoundationIPforReal-TimeMicrocontrollers〕標準,并且支持多達60個可編程輸入/輸出管腳〔具體取決于與GPIO復用的外設的使用情況〕。圖3-1該開發(fā)板的PJ7引腳外接輸入按鍵SW1,PF3引腳通過電阻R11可以驅動LED1,如圖3-1所示。實驗要求通過編程控制和配置GPIO引腳,實現(xiàn)按鍵SW1控制LED1的閃爍。實驗步驟連接實驗設備:使用USBminiB線纜的mini端與開發(fā)板ICDI口相連,另一端接到PC機的USB插口上。根據(jù)光盤內提供的blinky例程,在Keil開發(fā)環(huán)境下搭建新的工程,并進展相關配置。調試程序,運行程序,觀察運行結果。實驗結果與分析結合開發(fā)板電路原理圖,分析程序實現(xiàn)兩個LED燈閃爍的原理。給出程序流程圖說明程序中調用了哪些庫和庫函數(shù),并說明各庫的功能。實驗二次開發(fā)參照實現(xiàn)LED燈閃爍的原理,實現(xiàn)通過開發(fā)板上按鍵SW1控制LED1的亮與滅,給出程序框圖和源代碼。3.2基于systick秒表的實現(xiàn)實驗目的學會編寫中斷程序學會應用LM3S9b92的systick系統(tǒng)時鐘節(jié)拍計數(shù)器。實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理SysTick是一個簡單的系統(tǒng)時鐘節(jié)拍計數(shù)器,它屬于ARMCorte*-M3內核嵌套向量中斷控制器NVIC里的一個功能單元,而非片內外設。SysTick常用于操作系統(tǒng)〔如:μC/OS-II、FreeRTOS等〕的系統(tǒng)節(jié)拍定時。由于SysTick是屬于ARMCorte*-M3內核里的一個功能單元,因此使用SysTick作為操作系統(tǒng)節(jié)拍定時,使得操作系統(tǒng)代碼在不同廠家的ARMCorte*-M3內核芯片上都能夠方便地進展移植。當然,在不采用操作系統(tǒng)的場合下SysTick完全可以作為一般的定時/計數(shù)器來使用。SysTick是一個24位的計數(shù)器,采用倒計時方式。SysTick設定初值并使能后,每經過1個系統(tǒng)時鐘周期,計數(shù)值就減1。計數(shù)到0時,SysTick計數(shù)器自動重裝初值并繼續(xù)運行,同時申請中斷,以通知系統(tǒng)下一步做何動作。實驗要求應用systick系統(tǒng)時鐘節(jié)拍計數(shù)器進展計時,實現(xiàn)秒表功能。開發(fā)板上的按鍵SW1起秒表的起始和停頓作用,按下SW1鍵,表示秒表的啟動,開場計時,再按下SW1鍵,則表示秒表的停頓。秒表時間的顯示,可以采用LED1燈的閃爍方式,或者直接顯示在液晶屏上。實驗步驟連接實驗設備:使用USBminiB線纜的mini端與開發(fā)板ICDI口相連,另一端接到PC機的USB插口上。根據(jù)實驗要求編寫、調試、運行程序。并要求在代碼上附上相關的注釋。書寫實驗報告,要求附上程序流程圖。3.3基于通用定時器秒表的實現(xiàn)實驗目的學會編寫中斷程序學會應用LM3S9b92的通用定時器比擬通用定時器和systick的特性實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理在Stellaris系列ARM內部通常集成有4個通用定時器模塊〔General-PurposeTimerModule,GPTM〕,分別稱為Timer0、Timer1、Timer2和Timer3。它們的用法是一樣的:每個Timer模塊都可以配置為一個32位定時器或一個32位RTC定時器;也可以拆分為兩個16位的定時/計數(shù)器TimerA和TimerB,它們可以被配置為獨立運行的定時器、事件計數(shù)器或PWM等。實驗要求參照systick設計秒表的思路,應用通用定時器進展計時,實現(xiàn)秒表功能。開發(fā)板上的按鍵SW1起秒表的起始和停頓作用,按下SW1鍵,表示秒表的啟動,開場計時,再按下SW1鍵,則表示秒表的停頓。秒表時間的顯示,可以采用LED1燈的閃爍方式,或者直接顯示在液晶屏上。實驗步驟連接實驗設備:使用USBminiB線纜的mini端與開發(fā)板ICDI口相連,另一端接到PC機的USB插口上。根據(jù)實驗要求編寫、調試、運行程序。并要求在代碼上附上相關的注釋。書寫實驗報告,要求附上程序流程圖。實驗心得比擬systick定時器和通用定時器的特性。3.4基于UART的加法器的實現(xiàn)實驗目的學習lm3s9b92的串口通信學習應用超級終端調試串口學會應用UART有關的庫函數(shù)實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理Stellaris系列ARM的UART具有完全可編程、16C550型串行接口的特性。Stellaris系列ARM含有2至3個UART模塊。該指導書在第一局部的1.2節(jié)中說明,該開發(fā)板使用了FT2232芯片實現(xiàn)usb到串口的轉換。并設置在芯片的B通道上使用虛擬接口(VCP)。虛擬串行端口(VCP)與LM3s9b92上的UART0模塊連接。在安裝FTDI驅動程序后,windows會分配一個串行通信端口號到VCP通道,并允許windows應用程序(如超級終端)通過USB與LM3s9b92上的UART0進展通信。利用Windows超級終端調試UART的方法對于該開發(fā)板,使用的是USB虛擬的端口,無須使用DB9連接器。因此下面講解一下如何利用Windows附帶的超級終端來調試UART接口。Windows附件里的"超級終端〞是個非常實用的應用程序,可以用來調試電腦的串行口,也能很好地支持通過USB虛擬的口。以下是超級終端配置端口的過程:1.查看端口鼠標右擊"我的電腦〞→屬性→硬件→設備管理器,翻開后可以查看到電腦的端口〔和LPT〕情況,如圖3.2所示。通??梢赃x用1或2〔以實際的硬件連接為準〕。對于開發(fā)板,要選用USB虛擬的接口〔StellarisVirtualPort〕,請先記下所要采用的編號,在后續(xù)操作步驟里會用到。2.啟動超級終端鼠標點擊"開場〞→程序→附件→通訊→超級終端,啟動后的對話框如圖3.3所示。3.配置過程如圖3.3所示,點擊"取消〞。然后請參考圖3.4~圖3.12進展配置。圖3.2查看設備管理器端口圖3.3啟動Windows超級終端圖3.4確認取消:是圖3.5超級終端:確定圖3.6連接描述:填寫名稱并選擇自己喜歡的圖標圖3.7位置信息:取消圖3.8確認取消:是圖3.9超級終端:確定圖3.10連接到:選擇端口圖3.11屬性配置圖3.12另存到桌面快捷方式最后一步是另存到桌面快捷方式,以方便下次直接使用。4.調試helloworld例程如圖3.13所示,為調試輸出"helloworld〞例程從UART0串口模塊輸出的結果。圖3.13helloworld例程輸出結果實驗要求采用超級終端作為外部輸入與輸出的接口,實現(xiàn)多位數(shù)的相加。即通過UART串口分別輸入需要相加的多位數(shù)A與B,最后把A和B兩個多位數(shù)相加的過程和結果,回顯給用戶。具體實現(xiàn)方法:既可以采用輪詢的方式也可以應用中斷。實驗步驟連接實驗設備:使用USBminiB線纜的mini端與開發(fā)板ICDI口相連,另一端接到PC機的USB插口上。根據(jù)實驗要求編寫、調試、運行程序。并要求在代碼上附上相關的注釋。書寫實驗報告,要求附上程序流程圖。實驗心得比擬輪詢方式與中斷方式3.5基于LCD的數(shù)字式轉盤手表實驗目的學會使用圖形庫實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理TIStellaris系列Corte*-M3系列MCU的方便強大,StellarisWare軟件庫提供的快速軟件開發(fā)解決方案功丌可沒。作為TIStellarisWare軟件包的一局部,StellarisWare圖形庫(Grlib)提供了一套比擬完整的MCU圖形顯示方案,既可以進展根底的圖形、文字繪制,也可以輕松實現(xiàn)PC機上常見的,基于消息的控件(Widget)。Stellaris圖形庫應用起來比擬簡單,可以從Stellaris圖形庫的根本構造來學習。Stellaris圖形庫可以分為3個功能次層:顯示驅動層、圖形原型層和控件層。實驗要求應用stellarisWare圖形庫在開發(fā)板的彩色LCD上繪制一個轉盤表如windows系統(tǒng)內帶的時鐘表,要求能顯示時、分、秒,并能夠在設置時間的根底上,動態(tài)修改時間。實驗步驟連接實驗設備:使用USBminiB線纜的mini端與開發(fā)板ICDI口相連,另一端接到PC機的USB插口上。根據(jù)實驗要求編寫、調試、運行程序。并要求在代碼上附上相關的注釋。書寫實驗報告,并在報告內描述設計思路,要求附上程序流程圖。3.6uc/os-Ⅱ移植實驗目的了解uC/OS-II內核的主要構造;掌握將uC/OS-II內核移植到Corte*-M3處理器上的根本方法實驗設備計算機、LM3S9B92開發(fā)板、USBA型公口轉MiniB型5Pin數(shù)據(jù)線1條實驗原理所謂移植,指的是一個操作系統(tǒng)可以在*個微處理器或者微控制器上運行。雖然uC/OS-II的大局部源代碼是用C語言寫成的,仍需要用C語言和匯編語言完成一些與處理器相關的代碼。比方:uC/OS-II在讀寫處理器、存放器時只能通過匯編語言來實現(xiàn)。因為uC/OS-II在設計的時候就已經充分考慮了可移植性,所以,uC/OS-II的移植還是比擬容易的。要使uC/OS-II可以正常工作,處理器必須滿足以下要求:1.處理器的C編譯器能產生可重入代碼。可重入的代碼指的是一段代碼〔如一個函數(shù)〕可以被多個任務同時調用,而不必擔憂會破壞數(shù)據(jù)。也就是說,可重入型函數(shù)在任何時候都可以被中斷執(zhí)行,過一段時間以后又可以繼續(xù)運行,而不會因為在函數(shù)中斷的時候被其他的任務重新調用,影響函數(shù)中的數(shù)據(jù)。下面的兩個例子可以比擬可重入型函數(shù)和非可重入型函數(shù):程序1:可重入型函數(shù)程序2:非可重入型函數(shù)程序1中使用的是局部變量temp作為變量。通常的C編譯器,把局部變量分配在棧中。所以,屢次調用同一個函數(shù),可以保證每次的temp互不受影響。而程序2中temp定義的是全局變量,屢次調

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論