[導(dǎo)讀][導(dǎo)讀]大家好,我是逸珺。首先說(shuō)聲抱歉,最近迷上釣魚(yú)了,有時(shí)候晚上出去夜釣大板鯽了,停更了一段時(shí)間。來(lái)幾張魚(yú)獲圖片:技術(shù)還是不太到家,遇到幾次大鯉魚(yú)都給溜了,心有不甘,所以最近花了比較多的時(shí)間。言歸正傳,今天來(lái)分享一下以前寫(xiě)一個(gè)中斷輸入設(shè)備驅(qū)動(dòng)案例,希望對(duì)有需要的朋友能有所幫助。...
[導(dǎo)讀] 大家好,我是逸珺。首先說(shuō)聲抱歉,最近迷上釣魚(yú)了,有時(shí)候晚上出去夜釣大板鯽了,停更了一段時(shí)間。來(lái)幾張魚(yú)獲圖片:技術(shù)還是不太到家,遇到幾次大鯉魚(yú)都給溜了,心有不甘,所以最近花了比較多的時(shí)間。言歸正傳,今天來(lái)分享一下以前寫(xiě)一個(gè)中斷輸入設(shè)備驅(qū)動(dòng)案例,希望對(duì)有需要的朋友能有所幫助。
背景介紹
在一個(gè)項(xiàng)目中,有這樣一個(gè)需求:主控芯片采用ZYNQ,需要采集外部一個(gè)脈沖編碼輸入信號(hào),這個(gè)信號(hào)是一個(gè)脈沖波形,脈沖數(shù)量代表測(cè)量結(jié)果。比如這有可能是一個(gè)電機(jī)的霍爾信號(hào)輸出,代表電機(jī)的轉(zhuǎn)速,也有可能是一個(gè)光柵編碼器的脈沖輸出,是什么并不重要。這個(gè)電路本身,利用光耦實(shí)現(xiàn)了輸入測(cè)設(shè)備信號(hào)與采集端的電氣隔離。由于PS端該Bank的電平為3.3V,所以光耦的另一側(cè)也是3.3V。ZYNQ的PS端運(yùn)行Linux程序,所以在這個(gè)場(chǎng)景下,要從應(yīng)用程序的角度將外部輸入信號(hào)用起來(lái),就需要實(shí)現(xiàn)這樣一個(gè)設(shè)備驅(qū)動(dòng)程序:創(chuàng)建設(shè)備
在ZYNQ下,使用petalinux工具鏈,當(dāng)然本文中對(duì)于寫(xiě)這個(gè)驅(qū)動(dòng)程序本身?yè)Q成其他的處理器從代碼的角度是類(lèi)似的。1.先運(yùn)行一下工具鏈環(huán)境變量腳本:source?/opt/pkg/petalinux/settings.sh?
當(dāng)然也可以不用手動(dòng)這樣運(yùn)行,設(shè)置成linux開(kāi)發(fā)主機(jī)開(kāi)機(jī)自動(dòng)運(yùn)行,這里就不贅述怎么設(shè)置了,網(wǎng)上很多介紹。2.創(chuàng)建設(shè)備petalinux-create?-t?modules?--name?di-drv?
這樣在現(xiàn)有的工程下,就自動(dòng)創(chuàng)建設(shè)備文件:./project-spec/meta-user/recipes-modules/di-drv/files/di-drv.c
修改設(shè)備樹(shù)
./project-spec/meta-user/recipes-bsp/device-tree/files/system-user.dtsi?中添加/include/?"system-conf.dtsi"
/?{???
??amba?{
?????pinctrl_di_default:?di-default?{???
???????mux?{???
?????????groups?=?"gpio0_0_grp";???
?????????function?=?"gpio0";???
???????};???
?????? conf?{???
??????????pins?=?"MIO0";???
??????????io-standard?=?<1>;???
??????????bias-high-impedance;???
??????????slew-rate?=?<0>;???
???????};???
????};???????????
??};
??di?{
????compatible?=?"di-drv";
????pinctrl-names?=?"default";
????pinctrl-0?=?<
欲知詳情,請(qǐng)下載word文檔
下載文檔
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。