新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于μClinux的 SoPC應(yīng)用系統(tǒng)設(shè)計(jì)

基于μClinux的 SoPC應(yīng)用系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-07-31 來(lái)源:網(wǎng)絡(luò) 收藏

完成μ內(nèi)核及文件系統(tǒng)的裝載后,即可運(yùn)行μ。鍵入g800000(800000為啟動(dòng)代碼地址,在 Builder中設(shè)置),μ自動(dòng)完成初始化過(guò)程,用戶輸入登錄用戶名nios,密碼μClinux,出現(xiàn)μClinux的提示符#,表示已進(jìn)入μClinux運(yùn)行環(huán)境。
2.2 轉(zhuǎn)換器應(yīng)用程序的實(shí)現(xiàn)
轉(zhuǎn)換器主要完成網(wǎng)絡(luò)接口和串行接口間的數(shù)據(jù)傳輸,所傳輸?shù)臄?shù)據(jù)流如圖4所示。μClinux操作系統(tǒng)中提供了網(wǎng)絡(luò)驅(qū)動(dòng)程序和串口驅(qū)動(dòng)程序,并提供了多線程的支持。



轉(zhuǎn)換器中的串口收發(fā)數(shù)據(jù)和網(wǎng)絡(luò)口收發(fā)數(shù)據(jù)是異步進(jìn)行的,可分別作為一個(gè)任務(wù)來(lái)對(duì)待,任務(wù)間是并發(fā)的,因此可采用多線程程序設(shè)計(jì)技術(shù)來(lái)實(shí)現(xiàn)多任務(wù)間的并發(fā)執(zhí)行,系統(tǒng)主程序流程圖如圖5所示。



在 此中有4個(gè)任務(wù),分別創(chuàng)建4個(gè)線程:網(wǎng)絡(luò)接收線程、網(wǎng)絡(luò)發(fā)送線程、串口接收線程和串口發(fā)送線程。這4個(gè)線程可并發(fā)執(zhí)行.因網(wǎng)絡(luò)速度與串口速度存在 著差異,需設(shè)置相應(yīng)的緩沖區(qū)來(lái)對(duì)收發(fā)數(shù)據(jù)進(jìn)行緩沖。在此應(yīng)用系統(tǒng)中設(shè)置兩個(gè)環(huán)形緩沖區(qū),如圖4所示,其中nctrv_uartsd_buf用于接收網(wǎng)絡(luò)數(shù) 據(jù),供存儲(chǔ)從網(wǎng)絡(luò)口接收的數(shù)據(jù),然后串口從此緩沖區(qū)中取出數(shù)據(jù)發(fā)送。另一緩沖區(qū)uartrv_netsd_bur用于接收串口數(shù)據(jù),然后網(wǎng)絡(luò)口取出此緩沖 區(qū)中數(shù)據(jù)發(fā)送出去。
線程間需實(shí)現(xiàn)相互通信和同步,共用緩沖區(qū)既要互斥執(zhí)行又要同步執(zhí)行,其操作遵循生產(chǎn)者和消費(fèi)者模型。線程間的互斥操作采用互斥鎖(mu-tex)來(lái)實(shí)現(xiàn)。線程間的同步通過(guò)設(shè)置兩個(gè)指針來(lái)實(shí)現(xiàn),一個(gè)是讀指針,另一個(gè)是寫(xiě)指針,寫(xiě)指針指向隊(duì)頭,初
始化為0,讀指針指向隊(duì)尾,初始化為BUFSIZE-1。當(dāng)寫(xiě)數(shù)據(jù)時(shí),比較讀寫(xiě)指針是否相等,相同則寫(xiě)線程阻塞;不相等,則寫(xiě)入數(shù)據(jù),然后將寫(xiě)指針加1。當(dāng)讀數(shù)據(jù)時(shí),讀指針加1,然后比較讀寫(xiě)指針是否相等,相等則讀線程阻塞;不相等,則讀出數(shù)據(jù)。

網(wǎng)絡(luò)發(fā)送線程(流程圖如圖6所示)和串口接收線程(流程圖如圖7所示)間共用環(huán)形緩沖區(qū)uartrv_netsd_buf。串口發(fā)送線程和網(wǎng)絡(luò)接收線程共用環(huán)形緩沖區(qū)netrv_uartsd_buf。兩線程間的關(guān)系和處理類似網(wǎng)絡(luò)發(fā)送線程和串口接收線程。




3 系統(tǒng)測(cè)試
完成轉(zhuǎn)換器的軟硬件設(shè)計(jì)后,按如圖8所示,連接系統(tǒng)進(jìn)行轉(zhuǎn)換器數(shù)據(jù)的傳輸測(cè)試。在PC機(jī)A上運(yùn)行串口收發(fā)程序,而在PC機(jī)B上運(yùn)行以太網(wǎng)收發(fā)程序,經(jīng)測(cè)試后數(shù)據(jù)傳輸無(wú)誤。

本文引用地址:http://butianyuan.cn/article/186028.htm

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉