色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>Linux下FPGA設(shè)備驅(qū)動的實現(xiàn)

Linux下FPGA設(shè)備驅(qū)動的實現(xiàn)

2017-10-30 | rar | 0.3 MB | 次下載 | 1積分

資料介紹

引言
  Intel公司推出的XScale采用ARM V5TE結(jié)構(gòu),是Strong ARM的升級換代產(chǎn)品。XScale PXA270處理器最高主頻可達624 MHz,加入了Wireless MMX、Intel SpeedStep等新技術(shù),以其高性能、低功耗、多功能等特點在信息家電、工業(yè)控制等領(lǐng)域得到了廣泛的應(yīng)用。在嵌入式控制中,“微處理器+FPGA”是一種常用的解決方案。FPGA(現(xiàn)場可編程門陣列)有編程方便、集成度高、速度快等特點,電子設(shè)計人員可以通過硬件編程的方法來實現(xiàn)FPGA芯片各種功能的開發(fā)。在我們的一個數(shù)控平臺的研究項目中,采用XScale PXA270作為主CPU,并對其進行FPGA擴展,使其具有插補、電機驅(qū)動、信號處理、I/O口擴展的功能。Linux以其內(nèi)核精練、高效,源代碼開放且免費等優(yōu)勢,在嵌入式領(lǐng)域得到了廣泛的應(yīng)用。下面以Intel XScale PXA270上的Altera FLEX/ACEX的應(yīng)用為例,詳細介紹Linux下FPGA設(shè)備驅(qū)動的實現(xiàn)。
  1 Altera FLEX/ACEX芯片結(jié)構(gòu)
  Altera FLEX/ACEX芯片是基于查找表LUT(LookUpTable)原理而實現(xiàn)的。LUT本質(zhì)上就是一個RAM。目前FPGA中多使用4輸入的 LUT,所以每個LUT可以看成一個有4位地址線的16×1的RAM。當用戶通過原理圖或HDL語言描述一個邏輯電路以后,F(xiàn)PGA開發(fā)軟件會自動計算邏輯電路的所有可能的結(jié)果,并把結(jié)果事先寫入RAM。這樣,每輸入一個信號進行邏輯運算就等于輸入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。由于LUT主要適合SRAM工藝生產(chǎn),所以目前大部分FPGA都是基于SRAM工藝的,而SRAM工藝的芯片在掉電后信息就會丟失,一定要外加1片專用配置芯片(本實驗電路使用Altera EPC2LC20)。在上電時,由這個專用配置芯片把數(shù)據(jù)加載到FPGA中,然后FPGA即可正常工作。由于配置時間很短,因此不會影響系統(tǒng)正常工作。在使用ACEX1K50之前,應(yīng)對其進行設(shè)計編程,實現(xiàn)相應(yīng)寄存器及I/O口的功能。有關(guān)FPGA的詳細內(nèi)容請參閱相關(guān)資料
  2 Intel XScale PXA270處理器的系統(tǒng)存儲器接口
  PXA270處理器的可編程靜態(tài)存儲體系結(jié)構(gòu)如圖1所示。
  Linux下FPGA設(shè)備驅(qū)動的實現(xiàn)
  圖1 PXA270靜態(tài)存儲體系結(jié)構(gòu)
  在系統(tǒng)上, ACEX1K50位于nCS《2》上,物理地址0x8000000~0x8001000共4K的靜態(tài)地址空間。圖2表示了Intel XScale PXA270與ACEX1K50的硬件連接關(guān)系。
  Linux下FPGA設(shè)備驅(qū)動的實現(xiàn)
  圖2 Intel XScale PXA270與ACEX1K50的硬件連接
  3 Linux下ACEX1K50設(shè)備驅(qū)動的實現(xiàn)
  3.1 Linux下設(shè)備驅(qū)動基本原理
  設(shè)備驅(qū)動程序是應(yīng)用程序與硬件之間的一個中間軟件層,設(shè)備驅(qū)動程序為應(yīng)用程序屏蔽了硬件的細節(jié)。這樣在應(yīng)用程序看來,硬件設(shè)備只是一個設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對硬件設(shè)備進行操作。設(shè)備驅(qū)動程序是內(nèi)核的一部分,它主要實現(xiàn)的功能有:對設(shè)備進行初始化和釋放;把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù);讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù),回送應(yīng)用程序請求的數(shù)據(jù)以及檢測和處理設(shè)備出現(xiàn)的錯誤。
  Linux將設(shè)備分為最基本的兩大類:一類是字符設(shè)備;另一類是塊設(shè)備。字符設(shè)備和塊設(shè)備的主要區(qū)別在于是否使用了緩沖技術(shù)。字符設(shè)備以單個字節(jié)為單位進行順序讀/寫操作,通常不使用緩沖技術(shù);塊設(shè)備為了提高效率,利用一塊系統(tǒng)內(nèi)存作為讀/寫操作的緩沖區(qū),由于涉及緩沖區(qū)管理、調(diào)度和同步等問題,實現(xiàn)起來比字符設(shè)備復(fù)雜得多。
  Linux通過設(shè)備文件系統(tǒng)對設(shè)備進行管理,各種設(shè)備都以文件的形式存放在/dev目錄下,稱為“設(shè)備文件”。應(yīng)用程序可以像普通文件一樣打開、關(guān)閉和讀/寫這些設(shè)備文件。為了管理這些設(shè)備,系統(tǒng)為設(shè)備編了號,每個設(shè)備號又分為主設(shè)備號和次設(shè)備號。主設(shè)備號用來區(qū)分不同種類的設(shè)備,而次設(shè)備號用來區(qū)分同一類型的多個設(shè)備。Linux為所有的設(shè)備文件都提供了統(tǒng)一的操作函數(shù)接口,方法是使用數(shù)據(jù)結(jié)構(gòu)struct file_operations。這個數(shù)據(jù)結(jié)構(gòu)中包括許多操作函數(shù)的指針,如open()、close()、read()和write()等,但由于外設(shè)的種類較多,操作方式各不相同。struct file_operations結(jié)構(gòu)體中的成員為一系列的接口函數(shù),如用于讀/寫的read/write函數(shù)和用于控制的ioctl等。打開一個文件就是調(diào)用這個文件file_operations中的open操作。不同類型的文件(如普通的磁盤數(shù)據(jù)文件)有不同的file_operations成員函數(shù),接口函數(shù)完成磁盤數(shù)據(jù)塊讀/寫操作;而對于各種設(shè)備文件,則最終調(diào)用各自驅(qū)動程序中的I/O函數(shù)進行具體設(shè)備的操作。這樣,應(yīng)用程序根本不必考慮操作的是設(shè)備還是普通文件,可一律當作文件處理,具有非常清晰、統(tǒng)一的I/O接口,所以file_operations是文件層次的I/O接口。
  3.2 ACEX1K50在Linux下設(shè)備驅(qū)動的實現(xiàn)
  在驅(qū)動程序中使用內(nèi)存映射可以提供給用戶程序直接訪問設(shè)備內(nèi)存的能力。使用內(nèi)存映射的好處是處理大文件時速度明顯快于標準文件I/O,無論讀/寫,都少了一次用戶空間與內(nèi)核空間之間的復(fù)制。在用戶空間對ACEX1K50 FPGA設(shè)備的訪問是通過內(nèi)存映射來實現(xiàn)的。
  ACEX1K50可以看作是硬件連接在PXA270微處理器的nCS《2》上的一段物理地址來尋址。因為有虛擬內(nèi)存管理單元,所以如果在Linux下,必須先把物理地址映射到虛擬地址空間,然后才能對該段地址進行讀/寫。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學(xué)會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 国产麻豆91网在线看 | 最新影音先锋av资源台 | 国产精品…在线观看 | 清冷受被CAO的合不拢 | 蜜桃臀无码内射一区二区三区 | 国产成人免费在线观看 | 伊人久在线观看视频 | 蜜臀亚洲AV永久无码精品老司机 | 在线高清电影理论片4399 | 日本阿v片在线播放免费 | 蜜桃成熟时2在线观看完整版hd | 极品少妇高潮啪啪无码吴梦 | 成年私人影院网站在线看 | 97色伦亚洲自偷 | 成年女人免费播放影院 | 久久国产加勒比精品无码 | 小妇人电影免费完整观看2021 | 99久久99久久精品国产片果冻 | 成人综合在线视频免费观看完整版 | 国产日韩高清一区二区三区 | 国产一在线精品一区在线观看 | 黑人巨大交牲老太 | 国产女高清在线看免费观看 | 国产97精品久久久天天A片 | 久久视热频国只有精品 | 闺蜜扒开我尿口使劲揉 | 岳打开双腿开始配合日韩视频 | 神马电影我不卡国语版 | 久久在精品线影院精品国产 | 校园全肉高h湿一女多男 | 97国产蝌蚪视频在线观看 | 亚洲h视频在线观看 | 24小时日本在线观看片免费 | 小寡妇好紧进去了好大看视频 | 精品国产乱码久久久久久乱码 | 老年日本老年daddy | 午夜国产羞羞视频免费网站 | 网友自拍成人在线视频 | 红桃传媒少妇人妻网站无码抽插 | 欧美日韩亚洲第一区在线 | 国产综合18久久久久久软件 |