SOPC 系統建立及uClinux 移植實(shí)現
為了精簡(jiǎn)系統,選擇InstallMinimal,點(diǎn)擊Finish完成基本文件系統的配置?;氐絅iosIIIDE的主窗口界面,編譯工程。編譯完成之后,在uClinux_fs工程的目錄列表中可以看到romfs。bin文件已經(jīng)生成。與處理內核文件相同,再將romfs。bin文件寫(xiě)入Flash中。至此,uClinux的內核和文件系統都已經(jīng)存在于目標硬件系統(開(kāi)發(fā)板)中的Flash芯片上了。NiosII處理器復位之后就能從Flash中引導啟動(dòng),進(jìn)入uClinux操作系統。
2。3運行并登陸uClinux操作系統進(jìn)入Quartus的編程窗口,將編譯生成的。sof文件下載到硬件系統(開(kāi)發(fā)板)上。通過(guò)超級終端或DNW程序可以看到,uClinux的啟動(dòng)信息已經(jīng)從DNW窗口輸出,并等待與用戶(hù)通信。輸入ls命令可以看到配置uClinux_fs時(shí)所選擇的基本工具和應用程序。至此,已經(jīng)成功定制并登陸到uClinux系統中。DNW軟件輸出的uClinux系統啟動(dòng)信息如圖3所示。

3建立并執行用戶(hù)應用程序3。1建立用戶(hù)應用程序利用MicrotronixNiosⅡ完成uClinux應用程序工程的創(chuàng )建后,在ProjectNavigator窗口中可以看到一個(gè)空的工程??尚陆?。c文件及makefile文件向工程中添加用戶(hù)程序代碼,也可導入已建立好的。c文件及makefile文件。這里選用較為通用的新建方法為例進(jìn)行介紹。
首先在工程中建立。c文件,輸入程序代碼:#includemain(){printf(MyfirstNios2uClinuxProgram!n);}當建立makefile文件、輸入對應的編譯、控制信息代碼并編譯完成后,即可在工程中看到所生成的NiosIILinux可執行文件。exe文件。
3。2下載并運行用戶(hù)應用程序有多種方法將NiosIIuClinux可執行文件。exe文件傳輸到uClinux系統中并運行,一般首選ftp和NFS方法。鑒于本例沒(méi)有包含網(wǎng)絡(luò )系統,所以選用修改文件系統內容的方法完成下載和運行任務(wù)。
先將編譯好的。exe文件拷貝到uClinux_fs工程的targetbin目錄下(可以根據自己的習慣選擇其它),重新編譯uClinux_fs工程。完成后將編譯新生成的romfs。bin文件寫(xiě)入Flash芯片中,啟動(dòng)登陸uClinux操作系統,進(jìn)入/bin目錄??梢钥吹?,拷貝到文件系統中的。exe程序已經(jīng)出現在/bin目錄中。執行后則在DNW窗口得到程序執行的結果,例如打印輸出:MyfirstNios2uClinuxProgram!其效果示于圖4。

4結束語(yǔ)嵌入式系統設計是一門(mén)綜合性很強的學(xué)科,其相關(guān)研究?jì)热莺图夹g(shù)具有高度融合的特點(diǎn)?;谛路f、高效、業(yè)已成熟的基本器件及開(kāi)發(fā)環(huán)境,SOPC使得測量和控制領(lǐng)域中直接面向應用的研究更加現實(shí)、可行。依托于“強電磁場(chǎng)環(huán)境模擬與防護技術(shù)”國防科技重點(diǎn)實(shí)驗室,本文構建了一個(gè)SOPC系統,定制了NiosII處理器軟核,進(jìn)而完成了uClinux操作系統的剪裁與移植和應用程序的基本開(kāi)發(fā)、調試工作,并投入到了后續實(shí)驗之中。此外,這種方式不僅有助于大大縮短嵌入式系統的軟硬件開(kāi)發(fā)時(shí)間,又為一般實(shí)驗條件下的相關(guān)控制系統提供了可行的設計思路和實(shí)現方法,并可望具有一定的學(xué)術(shù)價(jià)值和廣闊的應用領(lǐng)域。
5本文創(chuàng )新點(diǎn)
構建了可移植uClinux的最小SOPC系統,并成功完成了uClinux的移植工作,縮短了SOPC系統的開(kāi)發(fā)周期、拓展了uClinux的應用領(lǐng)域。
評論