樂鑫科技,活躍在國際舞臺上的中國芯

說到中國芯片,大家往往很容易先聯(lián)想到“國產(chǎn)替代”的概念。不過,“國產(chǎn)替代”這四個字早已不足以概括國產(chǎn)芯片的快速發(fā)展。樂鑫科技 (688018.SH) 作為來自中國的領(lǐng)先 AIoT 平臺企業(yè),在產(chǎn)品設(shè)計與研發(fā)之初就定義面向全球市場。經(jīng)過多年的努力,公司現(xiàn)已向外走出一條世界品牌之路。
生態(tài)的繁榮程度是反映芯片原廠發(fā)展情況的重要指標(biāo)之一?!皹扶?Espressif”的品牌歷經(jīng) 8 年打磨,收獲了世界開發(fā)者的一致認(rèn)可,形成了廣布全球的開發(fā)者生態(tài)。
2022 年 3 月 23 日,開發(fā)者 Tomoyuki Sakurai 在 Twitter 上發(fā)布了一系列日語推文,寫下了自己對于樂鑫的所感所想。我們關(guān)注到這一系列推文非常具有代表意義,能夠從海外開發(fā)者的視角觀察樂鑫,因此對其進(jìn)行了摘錄與翻譯。

海外開發(fā)者?Tomoyuki Sakurai?@ytrombik:
我有些關(guān)于樂鑫的想法。雖然我不甚熟悉 C 語言,對嵌入式的世界也知之不多,但是從使用 CI (Continuous integration) 來維護(hù)許多基于 ESP-IDF 開發(fā)外設(shè)驅(qū)動程序的經(jīng)驗來看,我認(rèn)為自己還有些發(fā)言權(quán)。

樂鑫從 ESP8266 開始吸引了大量開發(fā)者關(guān)注。當(dāng)時 ESP8266 缺少文檔,產(chǎn)品規(guī)格書神秘,官方信息較少,我們不妨將它看成一個能夠?qū)崿F(xiàn) Wi-Fi 連接的 MCU。后來,ESP8266 打通了 Arduino 平臺,這是推動它用戶數(shù)量激增的一個重要動力。
ESP8266 有兩套 SDK(Non-OS SDK?和?RTOS SDK),但都不太好用,于是開發(fā)者們也在基于 Arduino 平臺不斷優(yōu)化。盡管目前官方更推薦使用 RTOS SDK,但它仍然無法和 ESP32 的 SDK (ESP-IDF) 相比。
Non-OS SDK:?https://github.com/espressif/ESP8266_NONOS_SDK/releases
RTOS SDK:?https://github.com/espressif/ESP8266_RTOS_SDK/releases
ESP-IDF:?https://github.com/espressif/ESP8266_RTOS_SDK/releases
樂鑫此后發(fā)布的 ESP32 沒有重蹈 ESP8266 的覆轍。ESP32 采用通用的最佳實踐,包括正式且編寫良好的規(guī)范、與實現(xiàn)相匹配的文檔,以及自動化測試等。?
我并不知道樂鑫這個組織里正在發(fā)生著什么。然而,我認(rèn)為它更像是一個“創(chuàng)業(yè)公司”的狀態(tài)。雖然我不懂硬件的世界,但這看起來是公司的下一個目標(biāo)。
雖然我只是硬件和嵌入式系統(tǒng)的業(yè)余愛好者,但我從 ESP-IDF 的文檔中學(xué)到了很多。如果你能夠看懂文檔,我想你可以自稱為專業(yè)人士了。從一個普通人變得像專業(yè)人士那樣閱讀 RFC 文件,就要像對待工作一樣對待閱讀文檔這件事。這也是我持續(xù)為工程編寫 CI 的原因。但是,ESP8266 不支持 CI,也不能測試。于是,我開始轉(zhuǎn)向使用 ESP-IDF。盡管 ESP-IDF 現(xiàn)已得到普遍使用,但我最開始在熟悉并接受 ESP8266 和 ESP32 的開發(fā)差異上還是頗費了一番功夫。剛開始的時候,我僅測試一次 ESP32 就需要花 45 分鐘。然而,現(xiàn)在針對所有支持的 IDF 版本和不同的樂鑫芯片,并行測試僅需 30 分鐘左右。在 ESP-IDF 的每個版本中添加新的測試也容易了很多。
ESP-IDF 適宜地維護(hù)著每個穩(wěn)定版本的發(fā)布,顛覆性的變化并不會加入穩(wěn)定版本。穩(wěn)定版本一旦發(fā)布,后續(xù)就僅對其進(jìn)行 Bug 修復(fù),而不再有大的變化,支持的期限也很明確。據(jù)我猜想,ESP-IDF 應(yīng)該沿用了一個模型化的發(fā)布體系,所以我說過“很難想象它會在升級時崩掉”。我做過一件瘋狂的事情:用 Python 創(chuàng)建了一個虛擬機,結(jié)果把 Path 搞得一團(tuán)糟。當(dāng)時如果不是因為我這么做,ESP-IDF 也不會在一開始就崩潰了。
我不清楚 ESP8266 的 SDK 是否還在繼續(xù)維護(hù),總之用戶的代碼有時會在不明確的情況下寫出些問題。不過,ESP-IDF 維護(hù)得非常好,對于提出的問題也有很快的反饋。我曾經(jīng)評論過一個 Commit(不是 Issue 或者 PR),幾個小時后就得到了可能是開發(fā)負(fù)責(zé)人的反饋,我當(dāng)時就被這速度驚訝到了。
樂鑫會對開發(fā)者的問題做出認(rèn)真的回應(yīng),必要時也會向上一層報告并請求反饋(許多工具鏈?zhǔn)窃诓煌植嫔线M(jìn)行維護(hù)的)。例如,之前我針對 FreeBSD 做了補丁。盡管 ESP-IDF 不支持 FreeBSD,但樂鑫的工程師答復(fù)我會盡量把補丁合并進(jìn)去。他們表示,“我們的團(tuán)隊規(guī)模有限,暫對該問題難以作出有效的反饋,但我們會盡量向上層合并”。作為一個商業(yè)供應(yīng)商,樂鑫積極回應(yīng)問題的態(tài)度,讓我愿意選擇樂鑫。
我想,樂鑫之所以能建立起這樣的體系,是因為聘用了優(yōu)秀的工程師,并積極采用了公認(rèn)可行的開發(fā)流程。我認(rèn)為能做出這樣決策的管理團(tuán)隊真是太棒了。
初創(chuàng)公司或者小組織的發(fā)展都是從“沒有規(guī)矩”開始的,過程中必然會出現(xiàn)例外情況,但這只是例外而已。隨著環(huán)境變得更好,組織瞄準(zhǔn)的方向應(yīng)當(dāng)是明確的。有了不完美的先例,我們就知道該做什么了。盡管可能由于某些原因,導(dǎo)致有些事做不了,或者不容易做,但是我認(rèn)為樂鑫的成就仍然非常引人注目。
每次 ESP-IDF 發(fā)布新版本后,我都會“難受”一段時間。但事實證明它的每一次改變,都是“朝著好的方向變化”。我常告訴自己應(yīng)該克服一下,因為從某種意義上來說,ESP-IDF 其實和之前也沒有很大區(qū)別。
不要說“因為是個初創(chuàng)公司”或者“因為是個小組織”就不能取得一定的成就,良好的結(jié)果是靠能做到的事不斷積累出來的。這些成功不僅依賴于優(yōu)秀的工程師,還依賴于管理層的決策。
我尊敬樂鑫 Espressif,因為我知道公司做到這些并不容易,我會繼續(xù)支持樂鑫。

感謝開發(fā)者們一路來的支持,樂鑫持續(xù)傾聽來自開發(fā)者社群的聲音,并不斷自我進(jìn)化。大者未必會恒大,而能適應(yīng)變化的能夠長存。我們將堅持研發(fā)芯片、操作系統(tǒng)、軟件框架、應(yīng)用方案以及云服務(wù)產(chǎn)品,并向社會貢獻(xiàn)商業(yè)實踐、工具、文檔、寫作以及想法。

我們的海外經(jīng)營業(yè)績節(jié)節(jié)攀升,通過遍布世界各地的開發(fā)者聲音,我們進(jìn)入了全球各大商業(yè)公司的視野,成為物聯(lián)網(wǎng)世界里核心技術(shù)供應(yīng)商之一。我們還在不斷尋找答案,去解決人們目前生活中需要解決的問題。這是樂鑫的最高理想,也是我們的道德準(zhǔn)則。

后記
在與 Tomoyuki Sakurai 接觸后,我們發(fā)現(xiàn),他不僅是一位開發(fā)者,也是一名創(chuàng)業(yè)者。他在柬埔寨的暹粒市創(chuàng)立了當(dāng)?shù)氐氖讉€創(chuàng)客空間?(info.mkrsgh.org),為開發(fā)者提供珍貴的開發(fā)工具、專業(yè)場地以及學(xué)習(xí)資源。此外,Tomoyuki Sakurai 還發(fā)起了電子基礎(chǔ)公益課程,免費教授學(xué)生基礎(chǔ)的電子知識,為他們在將來成長為成熟的開發(fā)者助跑。在當(dāng)?shù)亻L達(dá)兩年的疫情封控背景下,Tomoyuki Sakurai 創(chuàng)辦的公益課程克服了許多挑戰(zhàn),他也將自己的心路歷程記錄在了相關(guān)博客中,這讓我們深受感動。我們真切地祝福 Tomoyuki Sakurai,希望本文能為他帶來更多有益的關(guān)注和幫助。
電子基礎(chǔ)公益課程:http://info.mkrsgh.org/makerspace/courses/electronics_basic/
博客:http://info.mkrsgh.org/blog/makerspace/2022/03/30/Introducing-Our-Electronics-Class/