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