摘 要:討論了Nios Ⅱ軟核的串口直接讀寫寄存器方式的編程方法,并給出了參考源代碼。它與C語言的標(biāo)準(zhǔn)輸入/輸出語句相比,可極大地縮短程序執(zhí)行時(shí)間,并使得CPU能同時(shí)處理其他事務(wù)。根據(jù)此代碼編寫了應(yīng)用測(cè)試程序,并進(jìn)行了測(cè)試。測(cè)試結(jié)果顯示串口通信運(yùn)行良好,較為穩(wěn)定。
關(guān)鍵詞:Uart; Nios Ⅱ; SoPC; Register-access
中圖分類號(hào):TN98; TP368.1 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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作為全定制芯片的一個(gè)代表正在得到日益廣泛的應(yīng)用。為了用戶使用方便,Altera公司推出嵌入式軟核Nios Ⅱ可以便利地使用工具生成并放入FPGA芯片中。Nios Ⅱ軟核可以在用戶的系統(tǒng)中處理一些諸如人機(jī)接口界面、內(nèi)部時(shí)序邏輯控制、外部設(shè)備初始化等工作[1]。通用異步收發(fā)器(UART),是嵌入式系統(tǒng)上很常用的一個(gè)串行接口,由于其方便、簡(jiǎn)單、易用等特性,在嵌入式系統(tǒng)中依然扮演著十分重要的角色。所以Altera才把UART作為一個(gè)連接Nios/NiosⅡ與其相關(guān)外設(shè)的IP放在SoPC Builder里面供用戶使用。Nios一代調(diào)試甚至直接用串口[2]。
Nios Ⅱ處理器是Intel公司為Altera公司推出的一個(gè)32位精簡(jiǎn)指令處理器軟核[3]。在Altera公司推出的軟件SoPC中加載Nios Ⅱ軟核和相應(yīng)的外圍接口以及與定義相應(yīng)的自定義指令,然后對(duì)設(shè)計(jì)進(jìn)行綜合,下載到FPGA中就可以方便地實(shí)現(xiàn)一個(gè)具有高速DSP功能的嵌入式處理器[4]。
NiosⅡ處理器的軟件開發(fā)是建立在ANSI C基礎(chǔ)上的。NiosⅡ IDE是NiosⅡ系列嵌入式處理器的主要軟件開發(fā)工具。用戶可以在NiosⅡ IDE中完成所有的軟件開發(fā)任務(wù),如編輯、編譯、下載、調(diào)試和閃存編程。NiosⅡ嵌入式系統(tǒng)的一個(gè)重要問題就是軟件代碼量的大小,這關(guān)系到存放代碼的存儲(chǔ)器件容量大小,因此控制和減小程序代碼量是降低系統(tǒng)成本的重要方法,必須首先從處理器的啟動(dòng)順序開始研究。……