新聞中心
工業(yè)級(jí)芯片之三問(wèn):可靠性和穩(wěn)定性是匠芯創(chuàng)產(chǎn)品在軟件端的核心指標(biāo)
芯片是電子產(chǎn)品的核心,其質(zhì)量和可靠性直接影響著產(chǎn)品的性能和穩(wěn)定性。為了滿足不同應(yīng)用領(lǐng)域的需求,芯片被分為不同的等級(jí)。其中,工業(yè)級(jí)芯片適用于工業(yè)自動(dòng)化、控制系統(tǒng)和儀器儀表等領(lǐng)域,對(duì)芯片的可靠性和穩(wěn)定性要求較高。這些芯片通常具有更寬的工作溫度范圍(-40°C至85°C),能夠在惡劣的工作環(huán)境下正常運(yùn)行,如高溫、低溫、濕度和振動(dòng)等。本篇,將從軟件端入手,解答ArtInChip芯片如何全方位實(shí)現(xiàn)“工業(yè)級(jí)”要求。
一、用敏捷開(kāi)發(fā)撬動(dòng)工業(yè)級(jí)應(yīng)用地圖
工業(yè)級(jí)產(chǎn)品對(duì)其軟件性能——如可靠性、穩(wěn)定性、一致性、可維護(hù)性等具有更嚴(yán)格的要求,為了滿足這些特性需求,匠芯創(chuàng)科技團(tuán)隊(duì)將敏捷軟件的一些理念和方法融入到日常開(kāi)發(fā)中,為工業(yè)級(jí)應(yīng)用埋下深厚的技術(shù)種子。
敏捷開(kāi)發(fā)不是單獨(dú)一個(gè)工具、當(dāng)然也不限于某一個(gè)環(huán)節(jié),而是一組貫穿始末的方法論。如果非要一言以蔽之的話,它有兩個(gè)核心原則——快速迭代和持續(xù)交付。
① 快速迭代
相對(duì)于傳統(tǒng)的瀑布式開(kāi)發(fā)模式來(lái)說(shuō),快速迭代給團(tuán)隊(duì)及產(chǎn)品都帶來(lái)極大的靈活性,以“用戶故事”(相當(dāng)于常說(shuō)的“用戶需求”)為粒度形成pipeline的開(kāi)發(fā)模式、以“測(cè)試驅(qū)動(dòng)開(kāi)發(fā)”為每一次變更提供品質(zhì)保障。
②持續(xù)交付
工業(yè)類(lèi)產(chǎn)品的特點(diǎn)是研發(fā)周期相對(duì)較長(zhǎng),另一大特點(diǎn)是需求的碎片化,這些特點(diǎn)體現(xiàn)到軟件的要求就是:高品質(zhì)的軟件版本、細(xì)分的應(yīng)用場(chǎng)景,簡(jiǎn)單的說(shuō)就是既要穩(wěn)定、又要靈活。這就要求我們能夠隨時(shí)可以給客戶提供一份可用可靠的軟件,只有基于上述快速迭代的基礎(chǔ)建設(shè),才能在客戶面前做到持續(xù)交付的能力。
二、用系統(tǒng)思維賦能高質(zhì)量軟件品質(zhì)
ArtInChip匠芯創(chuàng)科技經(jīng)過(guò)三年多的持續(xù)努力,打造了一整套的CI/CD(持續(xù)集成/持續(xù)交付)系統(tǒng)。該系統(tǒng)覆蓋了從軟件編碼到測(cè)試驗(yàn)收、再到打包交付的各個(gè)環(huán)節(jié),全流程實(shí)現(xiàn)了自動(dòng)化,將設(shè)計(jì)的規(guī)范性和工程師的創(chuàng)造性有機(jī)結(jié)合起來(lái),有效提升了團(tuán)隊(duì)開(kāi)發(fā)效率和軟件品質(zhì)。
如圖所示,藍(lán)色部分都屬于自動(dòng)化執(zhí)行的部分,只有“代碼設(shè)計(jì)”、“代碼評(píng)審”需要人工參與,而其中的“代碼評(píng)審”環(huán)節(jié)至關(guān)重要。這個(gè)開(kāi)發(fā)模型也符合我們內(nèi)部一直在強(qiáng)調(diào)的幾個(gè)理念:
① 質(zhì)量的源頭是設(shè)計(jì),而編碼也是設(shè)計(jì)
大家都承認(rèn)“高質(zhì)量是設(shè)計(jì)出來(lái)的”,但有意思的是很多團(tuán)隊(duì)在“設(shè)計(jì)”階段投入?yún)s較少,尤其是將“代碼評(píng)審”流于形式,結(jié)果是將大量精力投入在后期的維護(hù)和變更中,最可怕的是陷入救火的忙碌中且將此視為常態(tài)。
所以,匠芯創(chuàng)科技堅(jiān)持執(zhí)行嚴(yán)格的代碼審查,將問(wèn)題盡量暴露在設(shè)計(jì)階段,包括人工同行審查、以及各種代碼靜態(tài)檢查工具。就在今年還部署了MISRA(汽車(chē)工業(yè)軟件可靠性協(xié)會(huì)) C語(yǔ)言規(guī)范檢查工具,以確保代碼遵循行業(yè)最佳實(shí)踐。
② 把復(fù)雜留給自己,把簡(jiǎn)單留給客戶
實(shí)際上,把匠芯創(chuàng)科技的研發(fā)理念用更簡(jiǎn)單易懂的話說(shuō),即是——回到用戶場(chǎng)景,用戶好用才算好用。
用戶的使用環(huán)境多種多樣,要在盡量少假設(shè)的前提下,讓用戶順利用起來(lái)我們的SDK,這個(gè)也叫做依賴(lài)性管理。團(tuán)隊(duì)在CI/CD系統(tǒng)中增加了自動(dòng)化部署驗(yàn)證,能夠在一個(gè)空白的運(yùn)行環(huán)境中順利建立對(duì)于SDK的開(kāi)發(fā)依賴(lài),并以此驗(yàn)證我們的軟件可用性。
“回到用戶場(chǎng)景”也體現(xiàn)在需求的驗(yàn)收環(huán)節(jié),匠芯創(chuàng)科技軟件團(tuán)隊(duì)盡量重現(xiàn)客戶的使用環(huán)境、使用習(xí)慣、甚至模擬一些無(wú)序操作,這些給團(tuán)隊(duì)測(cè)試驗(yàn)收帶來(lái)很多工作量,但回過(guò)頭看都是值得的。
③ 能讓工具完成的,都交給工具
作為IC原廠,匠芯創(chuàng)科技提供的SDK必然是要跨芯片的平臺(tái)化SDK,針對(duì)一個(gè)SoC平臺(tái)會(huì)衍生出多種板卡配置??缙脚_(tái)意味著代碼改動(dòng)頻繁,也意味著必須全量覆蓋,因此導(dǎo)致測(cè)試工作量倍增,這對(duì)團(tuán)隊(duì)來(lái)說(shuō)是一個(gè)非常嚴(yán)峻的挑戰(zhàn)。
經(jīng)過(guò)討論、優(yōu)化,團(tuán)隊(duì)將能讓工具完成的都交給工具——用自動(dòng)化測(cè)試完成全量覆蓋的嵌入式設(shè)備測(cè)試。這個(gè)答案理解起來(lái)并不難,難的是如何攻克技術(shù)難關(guān),切實(shí)實(shí)現(xiàn)全測(cè)試環(huán)節(jié)自動(dòng)化。
目前業(yè)內(nèi)在嵌入式自動(dòng)化測(cè)試方面并沒(méi)有通用的做法,匠芯創(chuàng)科技根據(jù)自己產(chǎn)品特點(diǎn)和應(yīng)用需求,自主研發(fā)了一套全自動(dòng)化的測(cè)試軟硬件系統(tǒng),可以做到分布式設(shè)備管理、項(xiàng)目化測(cè)試計(jì)劃管理、單元/集成/系統(tǒng)/穩(wěn)定性測(cè)試全覆蓋,這套系統(tǒng)為代碼重構(gòu)和版本發(fā)布保駕護(hù)航。
我們“交給工具”的遠(yuǎn)不止自動(dòng)化測(cè)試,還有OneStep增強(qiáng)命令行、一鍵部署OneClick、一鍵發(fā)布、GPIO沖突檢測(cè)、在線調(diào)屏工具等,這些工具已經(jīng)在為團(tuán)隊(duì)和為客戶帶來(lái)了切實(shí)的便利和效率的提高。
敏捷求索之路行之漫長(zhǎng),匠芯創(chuàng)科技軟件端將賡續(xù)“讓使用更簡(jiǎn)單”的企業(yè)使命,將客戶價(jià)值作為軟件開(kāi)發(fā)指南針,充分發(fā)揮工業(yè)級(jí)芯片高穩(wěn)定、高可靠性的技術(shù)優(yōu)勢(shì)與市場(chǎng)價(jià)值,推動(dòng)國(guó)產(chǎn)工業(yè)級(jí)MPU&MCU行穩(wěn)致遠(yuǎn)。