新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式系統(tǒng)/ARM技術(shù):嵌入式測(cè)試中數(shù)據(jù)獲取的幾種方式

嵌入式系統(tǒng)/ARM技術(shù):嵌入式測(cè)試中數(shù)據(jù)獲取的幾種方式

作者: 時(shí)間:2017-06-06 來源:網(wǎng)絡(luò) 收藏
嵌入式軟件的困難之一就是如何獲取產(chǎn)生的數(shù)據(jù), 大多數(shù)的軟件工具在測(cè)試軟件的時(shí)候都要提供測(cè)試腳本,如果進(jìn)行覆蓋率分析就要對(duì)代碼插裝, 測(cè)試可執(zhí)行程序在目標(biāo)環(huán)境下運(yùn)行時(shí)就會(huì)有數(shù)據(jù)產(chǎn)生,這些數(shù)據(jù)就是產(chǎn)生測(cè)試報(bào)告的重要輸入條件, 所以要順利實(shí)現(xiàn)嵌入式軟件測(cè)試, 首先需要解決的就是如何把測(cè)試數(shù)據(jù)上載會(huì)主機(jī).
  經(jīng)過我們實(shí)際摸索發(fā)現(xiàn), 大概我們可以把數(shù)據(jù)的上載分為3 種方式:TestAge 中國(guó)軟件測(cè)試時(shí)代  
  1. 實(shí)際的物理通道
  2. 開發(fā)工具IDE的虛擬IO功能
  3. 讀取內(nèi)存區(qū)數(shù)據(jù)
  下面我們對(duì)這幾種方式做一些簡(jiǎn)單的介紹:
  實(shí)際的物理通道
  這種方式就是目標(biāo)機(jī)和主機(jī)之間具備物理的通信方式, 比如以太網(wǎng), 串口,并口, USB等, 這幾種方式, 在測(cè)試的時(shí)候我們可以直接使用這種通信程序, 和主機(jī)通信, 實(shí)現(xiàn)測(cè)試數(shù)據(jù)上載, 一般情況下,測(cè)試工具的庫(kù)中IO函數(shù)使用fprintf(), 那么在這種方式下,就需要修改測(cè)試工具的庫(kù), 假設(shè)以太網(wǎng)的發(fā)數(shù)據(jù)的函數(shù)是Netsend(), 那么我們需要定制fprintf, 使它調(diào)用Netsend(), 這樣就可以實(shí)現(xiàn)數(shù)據(jù)上傳了. 這種方式最方便但是要求系統(tǒng)必須已經(jīng)具備這種通信方式和通信軟件, 一般適用于系統(tǒng)級(jí)的測(cè)試.
  開發(fā)工具虛擬IO
  開發(fā)嵌入式軟件一般需要支持交叉開發(fā)方式的開發(fā)工具, 大多數(shù)這種開發(fā)工具具備編譯,下載,調(diào)試的功能, 測(cè)試時(shí)也可以借助開發(fā)工具來下載測(cè)試程序, 需要注意的是, 有些高級(jí)的開發(fā)工具IDE, 具備虛擬IO功能, 給測(cè)試帶來了很大的方便, 比如說: Tornado, TI CCS,在Tornado的shell中運(yùn)行測(cè)試程序時(shí), 可以把printf的內(nèi)容打印到消息窗口中, CCS可以支持fprintf,直接在主機(jī)上生成測(cè)試數(shù)據(jù)文件, 用戶在使用這些工具的時(shí)候, 就像在主機(jī)上測(cè)試一樣, 完全可以理由開發(fā)工具賦予的模擬IO功能.
  讀取內(nèi)存數(shù)據(jù)
  假設(shè)目標(biāo)系統(tǒng)既沒有物理通信方式, 開發(fā)工具也沒有虛擬IO功能, 我們還可以采用讀取內(nèi)存數(shù)據(jù)的方式, 我們可以開辟一塊足夠大的緩存, 修改測(cè)試工具的庫(kù), 把輸出的數(shù)據(jù)寫入buffer中, 在測(cè)試過程中或者測(cè)試執(zhí)行后, 使用開發(fā)工具讀取內(nèi)存的功能把緩存中的數(shù)據(jù)讀取出來,在主機(jī)上保存成文件,這種方式需要系統(tǒng)有足夠的內(nèi)存資源, 但是適用性很廣,因?yàn)閹缀跛械拈_發(fā)調(diào)試工具都具備這樣的功能.
  總之嵌入式軟件測(cè)試很復(fù)雜, 需要根據(jù)實(shí)際情況采取不同的策略. 本文只是單獨(dú)就數(shù)據(jù)讀取的問題做了一些討論.


評(píng)論


相關(guān)推薦

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

關(guān)閉