當(dāng)主控芯片架構(gòu)不斷變化時(shí),系統(tǒng)研發(fā)團(tuán)隊(duì)真正需要什么樣的開發(fā)平臺?
嵌入式系統(tǒng)領(lǐng)域內(nèi)的競爭正在變得日趨激烈,一方面各種新的控制器、處理器和加速器被集成到主控SoC中,另一方面客戶需要研發(fā)團(tuán)隊(duì)能夠更加敏捷地協(xié)助他們?nèi)ラ_發(fā)新功能和充分發(fā)揮主控性能,第三是終端市場的生態(tài)化運(yùn)作使相同的功能需要被用于諸如家居、汽車和穿戴等多種功能安全環(huán)境及不同功耗等制約場景。這些要求對研發(fā)人員來說,除了找到合適的主控芯片,開發(fā)工具是否好用、是否穩(wěn)定、是否能跟得上芯片變化,也成為了最現(xiàn)實(shí)的問題,也是真正影響項(xiàng)目進(jìn)度的關(guān)鍵。過去幾年,嵌入式研發(fā)人員面對的最大變化之一,就是芯片架構(gòu)和系統(tǒng)復(fù)雜度的快速演進(jìn)。
從單一內(nèi)核,到多內(nèi)核與異構(gòu)系統(tǒng)成為常態(tài)
以往項(xiàng)目的開發(fā)場景相對簡單:一個(gè)MCU、一個(gè)內(nèi)核、一套工具鏈,問題基本都發(fā)生在此范圍內(nèi)。但今天的情況已經(jīng)明顯不同:
● Arm仍然廣泛存在,并持續(xù)演進(jìn)高端系列
● RISC-V正在快速進(jìn)入主流芯片路線
● 部分廠商仍在使用或擴(kuò)展自有內(nèi)核
● 多核、甚至異構(gòu)多核架構(gòu)越來越常見
在一顆SoC芯片中,同時(shí)存在不同類型內(nèi)核、不同軟件子系統(tǒng),已經(jīng)不再是少數(shù)高端產(chǎn)品的特例,而正在成為越來越多項(xiàng)目的現(xiàn)實(shí)需求。對于研發(fā)人員來說,軟件復(fù)雜度的提升速度,遠(yuǎn)遠(yuǎn)快于傳統(tǒng)單核項(xiàng)目復(fù)雜度的增長速度。
當(dāng)系統(tǒng)進(jìn)入多核或異構(gòu)架構(gòu)后,問題往往不再是“代碼能不能跑”,而是:
● 不同內(nèi)核之間如何協(xié)同開發(fā)
● 不同軟件模塊如何并行調(diào)試
● 問題到底出在哪里
● 性能、實(shí)時(shí)性和穩(wěn)定性如何同時(shí)滿足
如果開發(fā)團(tuán)隊(duì)需要為不同內(nèi)核分別使用不同工具鏈,實(shí)際體驗(yàn)往往是:
● 工具切換頻繁,開發(fā)效率下降
● 調(diào)試方式不一致,問題定位成本上升
● 系統(tǒng)集成階段風(fēng)險(xiǎn)顯著增加
因此,隨著芯片復(fù)雜度的提升,開發(fā)平臺本身的統(tǒng)一性和系統(tǒng)級能力,和編譯性能同樣重要。
研發(fā)人員更希望的是:一個(gè)能“覆蓋變化”的統(tǒng)一平臺
站在研發(fā)人員的角度,理想的開發(fā)平臺應(yīng)該具備幾個(gè)特征:
● 不依賴于單一內(nèi)核或單一芯片選擇
● 能夠在同一環(huán)境中支持多種內(nèi)核架構(gòu)
● 在架構(gòu)升級或芯片切換時(shí),盡量減少額外學(xué)習(xí)和遷移成本
IAR平臺正是基于這樣的研發(fā)需求進(jìn)行設(shè)計(jì)。通過統(tǒng)一的開發(fā)環(huán)境,研發(fā)人員可以在同一套工具體系下,完成不同內(nèi)核的開發(fā)、編譯、調(diào)試和分析工作,而不必隨著芯片變化頻繁更換工具鏈。這種一致性,在多核和異構(gòu)系統(tǒng)開發(fā)中尤為重要。當(dāng)系統(tǒng)規(guī)模擴(kuò)大、復(fù)雜度提升時(shí),研發(fā)仍然能夠掌控軟件行為,而不是被未知的工具問題牽著走。
工具管理,本質(zhì)上也是研發(fā)效率的一部分
很多研發(fā)人員都經(jīng)歷過:項(xiàng)目進(jìn)行到一半,突然發(fā)現(xiàn)某個(gè)工具版本不一致、某個(gè)授權(quán)不夠用,甚至不清楚當(dāng)前項(xiàng)目到底“該用哪一套工具”。當(dāng)授權(quán)類型復(fù)雜、工具體系分散時(shí),這些問題幾乎不可避免。
這些開發(fā)過程中的痛點(diǎn)也傳導(dǎo)給了領(lǐng)先的開發(fā)工具提供商,也迫使他們?nèi)タ焖夙憫?yīng)研發(fā)人員的需求,以新的工具產(chǎn)品形態(tài)和服務(wù)模式讓其客戶實(shí)現(xiàn)投資收益和開發(fā)效率的最大化,開發(fā)工具平臺化成為了領(lǐng)先嵌入式開發(fā)團(tuán)隊(duì)與工具提供商最新的協(xié)同方式。以領(lǐng)先的嵌入式開發(fā)工具提供商IAR為例,通過平臺化的方式,該公司將其開發(fā)工具的使用和管理進(jìn)行了簡化,讓研發(fā)人員不必頻繁關(guān)注工具本身,而是將注意力集中在軟件開發(fā)與問題解決上。
為什么開發(fā)平臺需要持續(xù)演進(jìn),而不是“一次性買斷”
從研發(fā)人員視角來看,開發(fā)工具并不是一次性投入,而是伴隨芯片和軟件長期演進(jìn)的基礎(chǔ)設(shè)施。芯片在變,內(nèi)核在升級,多核和異構(gòu)設(shè)計(jì)不斷出現(xiàn),應(yīng)用場景也在推陳出新,如果工具無法同步演進(jìn),研發(fā)團(tuán)隊(duì)最終仍然需要為新需求引入新的工具體系。這不僅消耗了嵌入式系統(tǒng)廠商的經(jīng)濟(jì)資源,而且開發(fā)團(tuán)隊(duì)還需要投入大量的精力去尋找、評估、學(xué)習(xí)和用好僅能在一個(gè)階段解決特定問題的工具,或者深陷開源工具或者廠商工具集成到整個(gè)開發(fā)環(huán)境的事務(wù)性工作中。
IAR通過平臺化的交付方式,將對主流內(nèi)核的支持、工具能力的演進(jìn)以及未來架構(gòu)的適配,統(tǒng)一在同一體系中。對研發(fā)人員而言,可以在不確定的技術(shù)環(huán)境中,保持相對穩(wěn)定的開發(fā)體驗(yàn):
● 不必為每一次芯片變化重新更換工具
● 不必為不同內(nèi)核反復(fù)學(xué)習(xí)不同開發(fā)環(huán)境
● 可以在同一平臺上,持續(xù)應(yīng)對未來的不確定性
寫在最后:讓工具成為研發(fā)的“定海神針”
在嵌入式開發(fā)中,芯片和架構(gòu)的變化往往不可避免。真正可控的,是研發(fā)團(tuán)隊(duì)選擇什么樣的開發(fā)平臺作為其長期基礎(chǔ)。一個(gè)能夠覆蓋多內(nèi)核、適配復(fù)雜系統(tǒng)、并持續(xù)演進(jìn)的平臺,可以讓研發(fā)團(tuán)隊(duì)在面對變化時(shí)更加從容。



![IAR 使用 [利爾達(dá)]](http://editerupload.eepw.com.cn/201003/41125f2f23fc00d2cee647097da2b73d.jpg)

評論