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