摘 要:討論了Nios Ⅱ軟核的串口直接讀寫寄存器方式的編程方法,并給出了參考源代碼。它與C語言的標準輸入/輸出語句相比,可極大地縮短程序執行時間,并使得CPU能同時處理其他事務。根據此代碼編寫了應用測試程序,并進行了測試。測試結果顯示串口通信運行良好,較為穩定。
關鍵詞:Uart; Nios Ⅱ; SoPC; Register-access
中圖分類號:TN98; TP368.1 文獻標識碼:A
文章編號:1004-373X(2010)14-0037-03
Direct Register Access Serial Program Based on Embedded Nios II Soft Core
LI Rui
(College of Electronic Science Engineering, Nanjing University of Posts and Telecommunications, Nanjing 210003, China)
Abstract: The deriect-register access program of serial communication based on Nios II soft core is discussed. The reference source code is also presented. In comparison with the traditional standard C input and output program, the deriect-register access program can greatly reduce the excution time of the program and release CPU to process the other affair. According to the source code, the test code is programed and run in the hardware. The experiment result shows that the serial communication program runs well and stable.
Keywords: Uart; Nios II; SoPC; Register-access
0 引 言
Altera公司的FPGA作為全定制芯片的一個代表正在得到日益廣泛的應用。為了用戶使用方便,Altera公司推出嵌入式軟核Nios Ⅱ可以便利地使用工具生成并放入FPGA芯片中。Nios Ⅱ軟核可以在用戶的系統中處理一些諸如人機接口界面、內部時序邏輯控制、外部設備初始化等工作[1]。通用異步收發器(UART),是嵌入式系統上很常用的一個串行接口,由于其方便、簡單、易用等特性,在嵌入式系統中依然扮演著十分重要的角色。所以Altera才把UART作為一個連接Nios/NiosⅡ與其相關外設的IP放在SoPC Builder里面供用戶使用。Nios一代調試甚至直接用串口[2]。
Nios Ⅱ處理器是Intel公司為Altera公司推出的一個32位精簡指令處理器軟核[3]。在Altera公司推出的軟件SoPC中加載Nios Ⅱ軟核和相應的外圍接口以及與定義相應的自定義指令,然后對設計進行綜合,下載到FPGA中就可以方便地實現一個具有高速DSP功能的嵌入式處理器[4]。
NiosⅡ處理器的軟件開發是建立在ANSI C基礎上的。NiosⅡ IDE是NiosⅡ系列嵌入式處理器的主要軟件開發工具。用戶可以在NiosⅡ IDE中完成所有的軟件開發任務,如編輯、編譯、下載、調試和閃存編程。NiosⅡ嵌入式系統的一個重要問題就是軟件代碼量的大小,這關系到存放代碼的存儲器件容量大小,因此控制和減小程序代碼量是降低系統成本的重要方法,必須首先從處理器的啟動順序開始研究。……