• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      C語言在DSP嵌入式系統(tǒng)中的應用與開發(fā)

      2020-12-01 03:17:10殷莉溫赟
      電腦知識與技術 2020年29期
      關鍵詞:嵌入式系統(tǒng)

      殷莉 溫赟

      摘要:當前的計算機程序應用大都以嵌入式系統(tǒng)為主,且是以DSP核心構建而成的。這一系統(tǒng)的應用與開發(fā)模式主要是采用了C語言匯編的方法,依托DSP系統(tǒng)的存在周期和開發(fā)周期對其進行移植性的調整與提升,進而降低嵌入式系統(tǒng)的缺陷,提升嵌入式系統(tǒng)的穩(wěn)定性。所以,很多DSP開發(fā)人員對于C語言的應用較為廣泛,且開發(fā)的系統(tǒng)穩(wěn)定性和運算與命令執(zhí)行效率較高。研究將針對當前C語言在DSP嵌入式系統(tǒng)中的開發(fā)模式和應用方法展開研究,并且會提出相應的問題和解決問題的策略與方法,進而實現(xiàn)對系統(tǒng)的完整構建。同時,還會從現(xiàn)實應用角度對其進行C語言DSP嵌入式系統(tǒng)開發(fā)過程中的注意事項說明,以此降低技術人員在后期應用C語言開發(fā)DSP嵌入式系統(tǒng)過程中發(fā)生問題的概率。

      關鍵詞:C語言;DSP;嵌入式系統(tǒng);語言開發(fā)

      中圖分類號:rrP311 文獻標識碼:A

      文章編號:1009-3044(2020)29-0204-02

      1 引言

      隨著當今時代的發(fā)展,信息技術得到了飛速的進步,且快速滲透到了人們的日常生活中,成為人們生活與工作的重要組成部分。在這一模式下,社會的發(fā)展對于信息技術的依賴程度更大,且信息技術本身的發(fā)展也更加多元化與理想化。在這一背景下,DSP技術被廣泛應用于其中,主要領域有:電子通信行業(yè)、無線電軟件應用行業(yè)、儀器儀表行業(yè)、自動控制行業(yè)、人工智能行業(yè)等。這就為當今時代背景下的DSP技術提供了深度發(fā)展的機會,同時也為DSP嵌入式產品的應用帶來了全新的發(fā)展空間。當前人們對DSP嵌入式產品的應用主要來自以下幾種原因:第一是自從控制器被發(fā)明之后,僅僅配備了語言編輯功能的軟件開發(fā)功能,并沒有配備高級語言的應用功能;第二是匯編語言程序生成是二進制,其代碼少,且運行和執(zhí)行速度飛快;第三是介于儲存器對價格和空間的限制,無法對其進行廣泛的應用。所以,在這一背景下,DSP嵌入式產品成為其中的佼佼者,并且有效解決了上述問題。在當今,C語言在DSP嵌入式系統(tǒng)中的應用具備較大的優(yōu)勢:首先是可移植性良好且開發(fā)周期可控;第二是調試和后期檢測與維護工作開展較為方便。介于以上兩大特色,大家對于C語言在嵌入式產品中的應用和開發(fā)更加熱衷。

      2 C語言在TMS320VC33芯片的開發(fā)過程

      在對其進行開發(fā)的過程中,需要結合下文中敘述的四個步驟開展實施:首先是通過對C語言的編輯完成源程序;其次是完成好編譯工作,設計好鏈接;然后是通過在線仿真對其進行檢測;最后是利用固化程序整個系統(tǒng)的設計與開發(fā)。

      2.1 編輯源代碼

      在對源代碼進行編輯的過程中,需要結合Code Composer的背景對其進行工程的建設,以此實現(xiàn)對CSRJ.MAK的構建。在此,需要構建一個C源代碼文件,將其設計為CSRJ.C,具體內容為C語言源程序。另外,還需要籌建一個VC33.H的頭文件,在后續(xù)的程序開發(fā)與設計過程中需要應用到TMS320VC33寄存器,通過該方法可以對其進行有效的定義。最后,將以上兩個文件進行組合,并一同添加到CSRJ.MAK工程中。

      2.2 編譯和鏈接

      需要從TI公司的COFF文件格式對其進行分析與研究。Code Composer編譯器構建的目標文件一般為公共目標文件,格式為COFF。在這一格式的應用中,能夠有效促進模塊化編程的管理效果,且可以提升程序的可移植性,強化程序的可讀性能。這對于后續(xù)代碼的管理與村村器的管理有著重要的影響作用,而且應用的方法也會更加靈活,操作的便利性會大大提高。由此可見,該方法的應用能夠為高級語言的匯編提供相應的基礎,帶來有效的幫助。在COFF文件中,最主要的就是要把SECTION進行概念的定義。SECTION是COFF文件中最小的單位,在儲存器中占據空間的模式為數據塊模式。而且,在同一目標文件中,不同的SECTION是相互分離的,且是不受干預的。因此,SECTION 一般可以劃分為兩個方面:第一方面是完成初始化的部分;第二方面是未進行初始化的部分。已經完成初始化的部分其中含有程序數據和程序代碼;未完成初始化的部分能夠為數據提供儲存的空間,且可以有效保留數據信息。

      3 C語言在DSP嵌入式系統(tǒng)開發(fā)中需注意的問題

      3.1 內存依賴

      為了有效提升代碼的優(yōu)化性能,促進編譯器對指令執(zhí)行和處理的能力與效率,需要對其內存依賴關系進行設計與研究。在這一過程中,需要做到對指令之間的關系確認,且需要完善指令的準確性。一般情況下,一條指令需要在另一條指令的執(zhí)行狀態(tài)下完成,所以這兩條指令之間就存在相應的依賴關系。如果編譯器無法有效識別指令之間存在的關系是否為依賴關系,那么就需要通過人工的方法對其進行明確,為編譯器提供相應的記憶服務。在此,可以利用“restrict”的關鍵字輸入方法對其進行聲明變量的處理,或者可以利用命令優(yōu)化的方法對編譯器進行通知。Code Composer可以為其提供4條優(yōu)化指令,第一是Level 0寄存器級別優(yōu)化指令;第二是Level 1局部級別優(yōu)化指令;第三是Level 2函數級別優(yōu)化指令;第四是Level 3文件級別優(yōu)化指令。結合相關基礎對其進行分析,如果使用第三種方法可以實現(xiàn)簡單便捷的操作,進而體現(xiàn)一步到位的特征。但是,在現(xiàn)實環(huán)境中,這一情況需要適時而定,很多比較大的應用系統(tǒng)并不支持第三種方式在其中應用,而且無法實現(xiàn)對大系統(tǒng)代碼的優(yōu)化,如果強行應用,甚至會導致大系統(tǒng)發(fā)生癱瘓和死循環(huán)的問題。所以,在對其進行應用的時候,需要結合實際需求對其進行性能的匹配分析,以此避免系統(tǒng)和程序發(fā)生不執(zhí)行、執(zhí)行混亂、系統(tǒng)崩潰等問題的發(fā)生。

      3.2 變量聲明

      在進行函數調用的過程中,需要兼顧全局變量的關系,并且要盡量地去使用全局變量。這樣,能夠大大降低變量堆棧的問題,提升寄存器的應用效率,擴大寄存器的應用空間。除此之外,在Code Composer背景下對其進行全局變量的聲明處理,或者利用初始化的方法,會導致雙倍儲存空間的占用。為了避免這一情況的發(fā)生,降低儲存空間的占用量,需要本著節(jié)約資源的概念對其進行數據量的分析與研究,然后將數據量較大的內容通過特殊定義的方法進行空間資源占用的壓縮。進而實現(xiàn)對變量聲明的有效處理。在此,通過一組數據對其進行分析與解釋。

      如果通過常規(guī)方法對其進行理解和定義,那么:

      Biao_xyx[2] [5]={1.22, 3.55, 4.67, 9.53, 8.11, 6.97, 9.45,7.54,8.16,1.08);在編譯完成之后對其進行查看,通過對.map文件的分析與研究發(fā)現(xiàn),數據在.cinit段一共占據了12個字符空間,而在.bss段中一共占用了10個字符空間。

      如果通過特殊方法對其進行理解和定義,那么:

      Asm(“.global_biao_xyx“);

      Asm(“.sect\“.data_chabiaoV'‘);

      Asm(¨biao_xvx: .float l.22, 3.55, 4.67, 9.53, 8.1l“);

      Asm(“.float 6.97, 9.45, 7.54, 8.16, 1.08“);

      extern float biao_xyx[2][3];

      在編譯完成之后對其進行查看,通過對.map文件的分析與研究發(fā)現(xiàn),數據在.data_chabiao段中一共占用了10個字符的空間。

      3.3 應用TI提供的功能函數和固有函數

      TI在C語言的開發(fā)過程中能夠為其提供較好的幫助與較大的支撐,且可以為C語言的開發(fā)帶來具有實際應用價值的固有函數。如果在這一過程中應用了一半的C語言賭氣進行函數編寫,或者通過個人編寫的方式對其進行設計,會在這個設計系統(tǒng)設計與開發(fā)過程中消耗更多的時間與精力,且會造成各種問題。最后,解決問題的時間、編譯的時間、編譯的準確性、問題的處理深度等均是后期程序應用的潛在威脅。為了避免這一情況的發(fā)生,需要應用TI提供的功能函數和固有函數對其進行相應的干預和處理。

      3.4 編寫循環(huán)體

      在對數據進行處理的過程中,對于循環(huán)體的應用比較廣泛,且應用的次數較多。循環(huán)體能夠處理大量的數據信息,而且會耗費較多的時間。在此需要特別注意的問題有:在應用循環(huán)體對其進行程序編寫的時候,切不可通過包含調用的方法對其進行系統(tǒng)設計與開發(fā);在應用循環(huán)體對其進行設計的過程中,切不可在其中體現(xiàn)過多的指令和命令內容;在應用多重循環(huán)方法對其進行設計的時候,若內層循環(huán)體相對外層較短,需要建立全新的循環(huán)模式,放棄原有的循環(huán)體,通過內外結合的循環(huán)方法對其進行全新的設計與應用;在應用循環(huán)體的時候,需要將與循環(huán)無關的代碼和語言進行相應的移植,使其處于循環(huán)體以外的部分。這樣可以降低循環(huán)的時間,提升循環(huán)的效率與質量。

      3.5 浮點格式的轉換

      為了讓硬件設備得到更好的運行效率,實現(xiàn)更高的運行能力,TMS320VC33應用了浮點格式對其進行相應的支撐與幫助。在這一模式下,DSP系統(tǒng)軟件的通信模塊將會被大力開發(fā),且會結合浮點格式對其進行數據處理與數據傳輸。在此,需要注意的問題有:切記在使用該系統(tǒng)的時候需要了解外部系統(tǒng)所應用的是什么格式,并且要對其進行及時的格式轉換與處理,以此實現(xiàn)硬件設備的運行效率不受影響。

      4 總結

      研究結合‘rMS320VC33芯片的開發(fā)為大背景,分別研究了C語言的開發(fā)與架構方式,以及DSP嵌入式系統(tǒng)在應用過程中需要注意的問題有哪些。通過該方法能夠為后續(xù)的系統(tǒng)開發(fā)與應用提供更多的幫助,進而滿足研究人員對工作效率、系統(tǒng)運行能力等各方面的需求。

      參考文獻:

      [1]邊倩,林智慧.用C語言實現(xiàn)DSP程序設計的研究[J].電子技術與軟件工程,2016(23):251.

      [2]王培人,李寶龍.基于DSP的NAND FLASH芯片控制實現(xiàn)[J].哈爾濱商業(yè)大學學報(自然科學版),2016,32(5):563-567.

      [3]徐哲,王中秀,全奎旺.嵌入式DSP系統(tǒng)C語言硬件編程技術探討[J].科技傳播,2016,8(2):153-154.

      [4]陶新民,李震,姜述杰.基于DSP和C語言的變壓器振動信號采集與分析系統(tǒng)[J].應用科技,2015,42(5):1-5.

      [5]袁博文.基于嵌入式DSP系統(tǒng)C語言硬件編程技術淺談[J].電腦迷,2017(12):61.

      [6]馮瑛敏.基于DSP的嵌入式IP語音通信系統(tǒng)設計與開發(fā)[D].長沙:湖南大學,2007.

      【通聯(lián)編輯:代影】

      作者簡介:殷莉(1980-),女,江蘇常州人,碩士,副教授,研究方向為計算機信息化,軟件;溫赟(1979-),女,江蘇常州人,高校副教授,碩士,研究方向:計算機信息化、電子商務。

      猜你喜歡
      嵌入式系統(tǒng)
      Teaching Research on IoT and—Embedded System of Software Engineering
      計算機教育(2016年8期)2016-12-24 10:34:05
      基于Xilinx口袋實驗室的組合邏輯電路設計實驗
      面向應用的智能專業(yè)嵌入式系統(tǒng)教學
      基于物聯(lián)網的遠程紅外控制器
      嵌入式系統(tǒng)軟件開發(fā)技術探析
      基于AVR單片機的SPI接口設計與實現(xiàn)
      辦公自動化系統(tǒng)的設計
      嵌入式系統(tǒng)在醫(yī)療器械中的應用分析
      基于物聯(lián)網項目驅動的嵌入式系統(tǒng)教學改革的研究與實踐
      嵌入式系統(tǒng)課程“中斷、異常與事件”教學實踐及啟示
      計算機教育(2016年7期)2016-11-10 08:31:34
      博白县| 景谷| 东丰县| 德清县| 赫章县| 拉萨市| 邻水| 滦平县| 井研县| 扎囊县| 德令哈市| 麻城市| 多伦县| 江孜县| 中卫市| 子洲县| 库车县| 栾川县| 霍山县| 璧山县| 阿克| 麻栗坡县| 郧西县| 吕梁市| 当雄县| 西青区| 郑州市| 安龙县| 边坝县| 桃源县| 上犹县| 德格县| 蒙山县| 舟山市| 顺昌县| 汶上县| 峨眉山市| 合作市| 香港| 双城市| 三江|