嵌入式系統(tǒng)設(shè)計lab16基于psled驅(qū)動_第1頁
嵌入式系統(tǒng)設(shè)計lab16基于psled驅(qū)動_第2頁
嵌入式系統(tǒng)設(shè)計lab16基于psled驅(qū)動_第3頁
嵌入式系統(tǒng)設(shè)計lab16基于psled驅(qū)動_第4頁
嵌入式系統(tǒng)設(shè)計lab16基于psled驅(qū)動_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

銷售信息 技術(shù)支 基于PS的LED驅(qū) 實驗目 實驗原 步驟與現(xiàn) 創(chuàng)建EDK工 啟動系 3.3.3測 關(guān)鍵代碼分 姓職簽日Descriptionof姓職簽日Descriptionof郵編:200436問我們的網(wǎng)站:3.PSLED3.PSLEDARMCortex-GPIO1構(gòu)(XilinxPlatformStudio)進行硬件開發(fā),然后使用SDK(XilinxSoftwareDevelopmentKit)進行軟件開發(fā)。在本實驗中,將使用這種傳統(tǒng)的設(shè)計方法進行當然本質(zhì)上依然是使用XPS+SDK。xpsXilinxDesignToolsISEDesignSuite14.4EDKXilinxPlatformStudioXPSXPS中建立一個新的嵌入式工BaseSystemBuilder(BSB)BSB設(shè)到工程。Xilinx推薦使用BSB向?qū)Ы⑶度胧焦こ藽reateNewProjectUsingBaseSystemBuilder打開新4BSBNewProjectInterconnect4BSBNewProjectInterconnectAXIboardforyourdesignBoardboardname:zedboardzynqboardrevision:CSelectaZynqprocessingSystemPeripherals刪除所有外設(shè),操作方法:SelectAll5New5New圖圖6開發(fā)板和系統(tǒng)SelectAll,然后點擊Remove刪除所有默認外設(shè),如下圖所示,然后點擊778Zynq8Zynq構(gòu)XPS工具中選擇ProjectExportHardwaredesigntoSDK,將工程導入到彈出對話框中,勾選“IncludebitstreamandBMMfile”選項,點擊“Export&LaunchSDK”,將硬件導出并打開SDK軟件。WorkspaceWorkspaceLauncherWorkspace(SDK)路徑時,E:\zynq\PS_MIO\SDK\SDK_Export10FileNewApplicationProject11:SelectaFileNewApplicationProject11:SelectaXilinx>Application12:ApplicationProjectUsedefaultHardwareOSCBoardsupportCreatenewAvailableEmpty1111Selectfile->new->ApplicationNEWProjectzynq_fsbl_0zynq_fsblXilinxTools->Createzynqboot在FSBLelf中browseOutputFolder中選擇D:\img\outputCreateImagevimvimgeditzynq_led.c#-C$(KDIR)指明跳轉(zhuǎn)到內(nèi)核源碼目錄下讀取那里的Makefile;以在/dev目錄下看見該名字)使用misc_deregister注銷混雜設(shè)備led_openled_openGPIO物理地址映射成虛擬地址(在linux系統(tǒng)中我們不能直接使用物理地址)和對LED于ioremap函數(shù)將BANK0ioremap函數(shù)將BANK0設(shè)置ONE0第7位為輸出使能LEDioctlLEDioctl系統(tǒng)后在將文件拷貝到啟動SD卡中)到SD卡中CyUSBSerial_driver_v2_WHQL_certified目錄下。\目錄下的解壓到puttyputtymountSDmountSD驅(qū)動代碼分析驅(qū)動代碼分析者:edwardfor本#include<linux/init.h>#include<linux/module.h>#include<linux/fs.h>#include<asm/io.h>#includeunsignedlong#defineLED_BANK0_PA_BASE(0xe000a000)#define#defineLED_rONE0#define#define#defineLED_rONE0#definestructresourcezynq_led_resource==.endIORESOURCE_MEM//intled_open(structinode*node,structfile{unsignedlongunsignedlongstart=zynq_led_resource.start;unsignedlongsize=zynq_led_resource.end-start;LED_BANK0_VIR_ADDR=(unsignedlong)ioremap(start,size);printk("<1>[GPIOPS_BASE=uConValue=readl(LED_rDIRM0);uConValue|=(0x1<<7);uConValue=readl(LED_rONE0);uConValue|=(0x1<<7);return0;}staticlongled_ioctl(structfile{unsignedlonguConValue;{caseuConValue=readl(LED_rDATA0);uConValue|=(0x1<<7);caseuConValue=readl(LED_rDATA0);uConValue&=~(0x1<<7);intreturn-}return}staticstructfile_operationsdev_fops=return-}return}staticstructfile_operationsdev_fops==.open=.unlocked_ioctl=staticstructmiscdevicemisc=.minor=.name=.fops=staticintinit{return0;}staticvoidexit{}驅(qū)動測試代碼分析:者:edwardfor本#include<stdio.h>#include<unistd.h>#include<sys/stat.h>#include<stdlib.h>#include<fcntl.h>#include"zynq_led.h"intmain(void){intfdfd=open("/dev/zynq_led",O_RDWR);printf("opendeverror\n");return-1;}{}}本#include<stdio.h>#include<unistd.h>#include<sys/ioctl.h>#include<sys/types.h>#include<sys/stat.h>#i

溫馨提示

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

最新文檔

評論

0/150

提交評論