數據存儲很重要,這塊把錢(qián)省不掉?
引言:多日后,當李工在領(lǐng)導面前拍著(zhù)桌子指責我的時(shí)候,我才知道,原來(lái)我倆在項目啟動(dòng)會(huì )上的交鋒早已埋下了日后沖突的種子。
本文引用地址:http://dyxdggzs.com/article/201904/399524.htm透過(guò)公司會(huì )議室的窗戶(hù),可以看見(jiàn)正對窗外的小路旁有兩棵樹(shù),一株是白楊樹(shù),還有一株也是白楊樹(shù)。
深冬時(shí)節,天寒地凍,室內卻一片暖意融融,溫柔祥和。在部門(mén)經(jīng)理的主持下,項目組所有成員正在圍繞剛剛接到的一個(gè)項目-某車(chē)型的車(chē)身控制器-熱火朝天地討論著(zhù)設計方案。
爭論是激烈的,氣氛是融洽的,心態(tài)是放松的,直到李工和我因為要不要加一片外置的EEPROM進(jìn)行數據存儲產(chǎn)生了爭執。很快,大家就圍繞要不要加EEPROM形成了針?shù)h相對的兩個(gè)陣營(yíng)。
數據存儲的介紹
先介紹一下數據存儲的背景。該車(chē)身控制器需要存儲汽車(chē)配置、故障碼、鑰匙數據、防盜密鑰等一系列非常關(guān)鍵的非易失性數據,汽車(chē)配置包括有沒(méi)有前霧燈、帶不帶車(chē)窗防夾、支不支持TPMS等和車(chē)輛配置有關(guān)的信息,故障碼記錄車(chē)身控制器檢測到的各種故障,供診斷儀讀取分析汽車(chē)故障原因。鑰匙數據和遙控鑰匙進(jìn)行認證,防盜密鑰和發(fā)動(dòng)機交互認證,用于發(fā)動(dòng)機安全啟動(dòng)。其中,故障碼和鑰匙數據可能會(huì )在汽車(chē)的日常使用中更新內容,汽車(chē)配置和防盜密鑰通常在汽車(chē)下線(xiàn)時(shí)通過(guò)診斷的方式直接寫(xiě)死。
我和小張是主張外加EEPROM,不能靠MCU內部的數據Flash的主要支持者。因為在我看來(lái),在MCU內部的數據Flash中存儲這些數據的話(huà),由于Flash在寫(xiě)入前必須擦除整個(gè)扇區,必然存在擦除數據扇區的代碼,一旦程序跑飛到扇區擦除代碼,后果可想而知。外部EEPROM寫(xiě)之前不需要擦除,根本就不存在擦除程序,即使跑飛,也不存在所有數據都丟失掉的重大風(fēng)險。
李工和小郭卻對跑飛擦除的觀(guān)點(diǎn)不以為然。尤其是李工,他放下已經(jīng)抽了大半的香煙,把胳膊擺放在以醒目的紅色大字寫(xiě)著(zhù)“公共區域 嚴禁抽煙”的警示牌面前,熟練地彈了彈煙灰,帶著(zhù)一種“你知道個(gè)屁”的眼神看了一下我,悠悠地吐出幾個(gè)字來(lái):
“你知道1個(gè)512字節的EEPROM多少錢(qián)嗎?”
知之為知之,不知為不知,是為智也。一直干軟件的灑家當然不知道EEPROM的價(jià)錢(qián),我迎著(zhù)李工充滿(mǎn)自得和優(yōu)越感的目光,小心地說(shuō)了個(gè)數字:“塊把錢(qián)?”
“那是消費級的價(jià)格,汽車(chē)級的還貴!”李工加重了語(yǔ)氣繼續說(shuō),“你算一算,若是外置EEPROM,一片2塊,十萬(wàn)套就是二十萬(wàn)吶?!?/p>
有錢(qián)能使鬼推磨,話(huà)音甫落,一直默默看著(zhù)我們爭辯的部門(mén)經(jīng)理就像被推了一把似的挺直了肩膀,清了清嗓子準備發(fā)言了。
灑家立馬意識到,戰爭的天平要向李工傾斜了。
果然,經(jīng)理面上掛著(zhù)他那一以貫之的調解紛爭式的笑容把我和李工都掃了一遍,緩緩地說(shuō)道:“無(wú)論是外部EEPROM還是MCU的數據Flash,只要程序寫(xiě)不好,都有被擦除導致數據被破壞的風(fēng)險。這樣,先用內部Flash,如果出問(wèn)題,再改用外部EEPROM?!?/p>
經(jīng)理一錘定音,再也無(wú)需多言,于是灑家不再爭辯,只是在心里嘀咕:“外部EEPROM不需要擦除,怎么會(huì )存在被擦除的風(fēng)險?再說(shuō)EEPROM有硬件寫(xiě)保護機制,也不會(huì )被意外改寫(xiě),風(fēng)險何來(lái)?哎,只有祈禱內部數據Flash不出問(wèn)題了!”
墨菲定律應驗了
墨菲定律:如果你擔心某種情況發(fā)生,那么它就更有可能發(fā)生。
果不其然,終于有一天,我所擔憂(yōu)的內部數據Flash被意外擦除的隱患就那么不經(jīng)意地發(fā)生了。
那一天,是我準備從D市返程的最后一天。這次出差一切順利,雖然遇到了不少問(wèn)題,但是并沒(méi)有什么摸不清頭腦的大Bug,問(wèn)題從發(fā)現到解決順風(fēng)順水,總之,逢山開(kāi)路、遇水搭橋、萬(wàn)事大吉。心情愉悅的我并不知道,危機正在慢慢逼近,bug草灰蛇線(xiàn),只待合適的機緣。
評論