有關FPGA網口的開發(nios版)《一》

2021-05-10 13:52:54 字數 855 閱讀 7560

對於nios的網口開發相對於直接用vhdl語言編寫網口驅動要簡單很多,依靠我的專案的,研究了nios很久,現在將其整理一下以便大家共享。

我使用的de2的板子上面的網絡卡晶元是dm9000a,在nios的外設中沒有這塊網絡卡晶元外設,要自己新增。

首先從網上找到dm9000a的驅動和外設描述(這些網上都有)。我的是購買de2板子的時候光碟裡的。

在這裡我可以建議大家一本書《fpga與sopc設計教程de2實踐》(pdf版在我資源裡)這上面對於de2這塊開發板講的很全,是sopc入門的很好的教程。市場上講nios的書不是太多,還有一本就是《niosii 嵌入式軟核sopc設計原理和應用》覺得這一本講的很全,但是泛泛之談,更深層次的開發還需要技術人員慢慢的摸索。

de2的光碟資源很大我沒有上傳要的可以聯絡我。

我的編譯器是6.0的這是大家要注意nios的使用quarus的版本必須要和nios的版本一致。

首先是新增dm9000a模組:

1、建立乙個包含

*instance

和*init

巨集的檔案放入

hal/inc

目錄下。

2、建立操作裝置的原始碼,放入

hal/src

目錄下。

3、建立乙個

component.mk

檔案放入

hal/src

目錄下。

這樣就能在sopc build中找到dm9000a模組了,新增到軟核中去。生成就可以了。

然後在nios軟體中就可以建立自己的工程注意是: 1、

硬體系統必須包含中斷允許的乙太網介面。 2、

系統庫檔案必須建立在

uc/os

的基礎上(由於要使用lwip協議)。

有關FPGA網口的開發(nios版)《二》

有關dm9000a驅動和外設描述新增的問題講過了,在其中我遇到在新增lwip時nios軟體報錯 沒有找到mac 我換成較低版本的編譯就沒有這個問題了,可能de2上帶有的原始碼版本比較低不太好使用。我也致電給賣我的de2的 商詢問了這個問題,他們說網口開發,他們都是6.0編譯的。在這個其中 商給我的網...

有關NIOS裡用到SDRAM相移的計算

如何連線nios ii和sdram sdram和nios ii連線的典型電路框圖如下圖所示。sdram和system使用同乙個pll輸出時鐘,可以保證system clock和sdram clock的相對抖動比較小。外部晶振的時鐘送入pll,然後由pll產生兩個同頻的時鐘乙個供給nios ii系統使...

乙太網FPGA的開發平台

板卡架構 板載fpga k7 325t 處理24埠10 100 1000m乙太網資料 fpga外掛程式4gbit的ddr3顆粒,最大支援800mhz 板載cpu進行系統配置 管理,並與客戶端軟體通訊 板載cpu與fpga之間通過100m乙太網 rmii 及local bus通訊 外部介面 資料通道 ...