Kevin學(xué)ZED之(5):順藤摸瓜_第1頁(yè)
Kevin學(xué)ZED之(5):順藤摸瓜_第2頁(yè)
Kevin學(xué)ZED之(5):順藤摸瓜_第3頁(yè)
Kevin學(xué)ZED之(5):順藤摸瓜_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

Kevin學(xué)ZED之(5):順藤摸瓜當(dāng)你可以修改點(diǎn)亮LED燈那個(gè)實(shí)驗(yàn)led_test.sh,改變LED點(diǎn)燈的速度,以及順序時(shí),一定想知道究竟發(fā)生了什么,憑什么一個(gè)簡(jiǎn)單的腳本,就在Linux的用戶層控制板子上的某一個(gè)硬件,比如說(shuō),燈。對(duì)于習(xí)慣了在單片機(jī)環(huán)境下無(wú)操作系統(tǒng)裸奔C/匯編的兄弟來(lái)說(shuō),上面的問題似乎有些多余.直接對(duì)某個(gè)地址進(jìn)行讀寫操作,這個(gè)地址經(jīng)過譯碼,對(duì)應(yīng)的管腳,連到板子上LED,不就可以控制LED了嗎。這就說(shuō)來(lái)話長(zhǎng)了.簡(jiǎn)言之,Linux為了給每個(gè)進(jìn)程一個(gè)獨(dú)立的地址空間,特意劃分了用戶空間和內(nèi)核空間。內(nèi)核空間可以對(duì)物理地址操作,用戶空間只是虛地址。而內(nèi)核與用戶空間程序接口,采用特殊文件系統(tǒng)。也就是看上去像文件,其實(shí)連接到系統(tǒng)和設(shè)備的系統(tǒng)。比較老的有devfs文件系統(tǒng)位于設(shè)備驅(qū)動(dòng)/dev,或者procfs位于/proc。當(dāng)然,還有比較新的sysfs文件系統(tǒng)。Led_test.sh,采用的就是sysfs文件系統(tǒng)。這個(gè)文件系統(tǒng)的特點(diǎn)吧,主要是可以一層一層壘硬件的驅(qū)動(dòng),比如先總線驅(qū)動(dòng),再某個(gè)USB驅(qū)動(dòng),在USB掛載的設(shè)備的驅(qū)動(dòng)。這比/dev一個(gè)設(shè)備驅(qū)動(dòng)包括所有相關(guān)設(shè)備層次清晰很多。在linux內(nèi)核2.6以后才有的。對(duì)sysfs先來(lái)點(diǎn)感性認(rèn)識(shí),在ZED任何一個(gè)終端窗口輸入sudoecho61>/sys/class/gpio/export

sudoechoout>/sys/class/gpio/gpio61/direction

sudoecho1>/sys/class/gpio/gpio61/value

sudoecho0>/sys/class/gpio/gpio61/value你可以手工點(diǎn)亮或滅掉LD0那盞燈輸入命令的時(shí)候,到底發(fā)生了什么,信號(hào)是怎么傳遞的呢?先大致了解一下,具體細(xì)節(jié)在書的后續(xù)章節(jié)還會(huì)詳細(xì)說(shuō)明第一步,設(shè)備驅(qū)動(dòng)控制GPIO的寄存器.這就需要交給Linux設(shè)備驅(qū)動(dòng)來(lái)完成了。相關(guān)的介紹請(qǐng)參考書本在13.2節(jié)找到.

第二步,那么GPIO的寄存器地址是多少,有如何控制呢?我們可以在Xilinxug585找到第三步,GPIO是如何在PL那邊,也就是FPGA連接到芯片的管腳上的呢?需要參考這個(gè)設(shè)計(jì)的硬件部分zedboard上的linaro-ubuntudemo所使用的硬件工程。其中對(duì)于zedboard的system.ucf中我們可以找到如下約束.比如,LD0那盞燈,是PS側(cè)的processing_system7_0_GPIO通過PL測(cè),連到管腳T22上的。############################

##

#On-boardLED's#

##

############################

netprocessing_system7_0_GPIOLOC=T22|IOSTANDARD=LVCMOS33;#LD0

netprocessing_system7_0_GPIOLOC=T21|IOSTANDARD=LVCMOS33;#LD1

netprocessing_system7_0_GPIOLOC=U22|IOSTANDARD=LVCMOS33;#LD2

netprocessing_system7_0_GPIOLOC=U21|IOSTANDARD=LVCMOS33;#LD3

netprocessing_system7_0_GPIOLOC=V22|IOSTANDARD=LVCMOS33;#LD4

netprocessing_system7_0_GPIOLOC=W22|IOSTANDARD=LVCMOS33;#LD5

netprocessing_system7_0_GPIOLOC=U19|IOSTANDARD=LVCMOS33;#LD6

netprocessing_system7_0_GPIOLOC=U14|IOSTANDARD=LVCMOS33;#LD第四步,T22那個(gè)管腳是如何連到真正的燈上的,需要參考ZED板的文檔:2.7.3UserLEDs

TheZedBoardhaseightuserLEDs,LD0–LD7.AlogichighfromtheZynq-7000APSoCI/OcausestheLEDtoturnon.LED’saresourcedfrom3.3Vbanksthrough390Ωresistors.

SignalNameSubsectionZynqpin

LD0PLT22

LD1PLT21

LD2PLU22

LD3PLU21

LD4PLV22

LD5PLW22

LD6PLU19

LD7PLU14

LD9PSD5(MIO7)我們可以看到LD0-LD7都是PL部分的,也就是說(shuō)這些都是EMIO,從PL的管腳連出。那么,EMIO是如何在設(shè)計(jì)中定義了processing_system7_0_GPIO這個(gè)端口呢?需要看xps

2.我們可以在portstag中找到這個(gè)標(biāo)簽。

3.同時(shí)system.m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論