基于ARM的LCU測(cè)試系統(tǒng)的設(shè)計(jì)
3.5 數(shù)據(jù)壓縮
根據(jù)設(shè)計(jì),直觀上可以定義觸點(diǎn)為一個(gè)這樣的類:內(nèi)容包括一個(gè)BOOL變量和一個(gè)指針。BOOL變量表示觸點(diǎn)的狀態(tài)值,指針指向下一個(gè)觸點(diǎn)的位置。但是這樣做會(huì)導(dǎo)致文件過于龐大,所以要進(jìn)行數(shù)據(jù)的壓縮。
BOOL變量以最后位置0或置1來表明FALSE或TRUE的狀態(tài),但BOOL變量前面所有的位都沒有利用上。因此,可以把BOOL變量前面所有的位都用來表示觸點(diǎn)的狀態(tài),這就是壓縮的基本思想。同時(shí)壓縮的還有指針。因?yàn)椴皇菙?shù)組,內(nèi)存地址可能不連續(xù),所以不需要指針指明下一個(gè)觸點(diǎn)的位置,因此指針也可以省略。
壓縮效率分析:因?yàn)椴紶栔低ǔ6x為8位長(zhǎng)度,現(xiàn)在只用1位來表示,所以壓縮的極限值應(yīng)該可以達(dá)到8倍。這樣的壓縮比率下能夠有效地節(jié)約測(cè)試資料的存儲(chǔ)大小。
3.6 數(shù)據(jù)存儲(chǔ)方式考查
必須考慮數(shù)據(jù)的存儲(chǔ)方式,不同的存儲(chǔ)方式直接影響了位的操作。因此,在執(zhí)行位操作之前一定要明確存儲(chǔ)方式,小頭(Little-endian)模式對(duì)數(shù)據(jù)的存放方式是從低字節(jié)到高字節(jié),而大頭(Big-endian)模式對(duì)數(shù)據(jù)的存放方式是從高字節(jié)到低字節(jié)。
聯(lián)合體(union)的存放順序是所有成員都從低地址開始存放,整數(shù)定義通常占用4字節(jié)32位,char定義通常只占用1字節(jié)8位。一般認(rèn)為,大頭模式的表達(dá)方式更符合生活中的數(shù)學(xué)思維習(xí)慣,所以不妨在小頭模式的平臺(tái)上做轉(zhuǎn)換工作,把表達(dá)方式換算成大頭模式。定義一個(gè)SWAP轉(zhuǎn)換工作宏,由它把對(duì)應(yīng)字節(jié)調(diào)換位置(最高與最低互調(diào),中間兩個(gè)互調(diào))從而得到不同的模式。
本系統(tǒng)是基于Linux操作系統(tǒng)開發(fā)的通用LCU檢測(cè)軟件,具有通用性、便攜性和靈活性的特點(diǎn)。采用Linux操作系統(tǒng)平臺(tái),能夠進(jìn)一步降低成本。ARM嵌入式系統(tǒng)本身對(duì)于軟件和數(shù)據(jù)信息具有良好的保密措施,適合保存商業(yè)信息。本系統(tǒng)還采用了測(cè)試項(xiàng)目與程序分離的軟件模塊設(shè)計(jì)方案,使測(cè)試的種類大大增加,不管是同一種車型的測(cè)試項(xiàng)目變更,還是其他車型的測(cè)試,或者是更廣泛的一般性LCU系統(tǒng)的測(cè)試,都能夠一一得以解決,具有顯著的經(jīng)濟(jì)和社會(huì)效益。
本文引用地址:http://www.ex-cimer.com/article/152632.htm
評(píng)論