過去一年,我把AI深度嵌入到日常的嵌入式開發(fā)工作中——從STM32驅(qū)動代碼生成、硬件調(diào)試日志分析,到文檔整理和方案設(shè)計。走了不少彎路,也沉淀出一些真正能提效的經(jīng)驗。
今天就來個全景式復(fù)盤,希望能給大家一些啟發(fā),也歡迎各位一起探討!
AI搞電子,能打幾分?
先說大實話。整體評分的話,我給AI在電子開發(fā)中的表現(xiàn)打 B+ ——部分場景驚艷,但坑也不少。
我去年看了一篇EDN上的文章,作者用免費(fèi)AI(主要是Copilot和ChatGPT)測試了多個電子設(shè)計任務(wù),給出的評分非常真實:
我的核心感悟: AI在“確定性任務(wù)”上很靠譜(比如查表插值、轉(zhuǎn)換公式),但在“需要具體硬件上下文”的任務(wù)上容易翻車(比如ADC初始化、USB圖標(biāo))。
嵌入式AI開發(fā)工具怎么選?
過去一年,我把市面上的主流AI編程工具都試了一遍。這里分享一個真實的選型對比:
| Cursor | |||
| GitHub Copilot | |||
| 騰訊CodeBuddy | |||
| DeepSeek |
我的組合策略:Cursor寫主體邏輯 + Copilot日常補(bǔ)全 + DeepSeek/Claude做復(fù)雜推理和調(diào)試。
嵌入式開發(fā)的“AI困境”
硬件依賴性強(qiáng):AI生成的代碼看起來漂亮,但寄存器名、時鐘配置可能全是錯的
調(diào)試工具鏈割裂:AI沒法直接讀J-Link日志、沒法操作邏輯分析儀
實時性要求高:AI生成的代碼經(jīng)常忽略臨界區(qū)保護(hù)、Cache一致性這些嵌入式特有的細(xì)節(jié)
舉個例子,我讓DeepSeek分析一段HardFault_Handler的J-Link日志:
text
HardFault_Handler triggered, LR=0xFFFFFFFD, MSCR=0x40000
它直接解析出:總線訪問越界 → 野指針/數(shù)組越界/堆棧溢出 → 建議排查。這個能力確實厲害,但它沒法直接幫我定位到具體是哪一行代碼出了問題。
實戰(zhàn)案例
需要為STM32F4寫一個硬件I2C驅(qū)動,配置時鐘為100kHz,用標(biāo)準(zhǔn)外設(shè)庫。
Step 1:代碼生成
輸入提示詞:
生成STM32F4硬件I2C驅(qū)動代碼,使用標(biāo)準(zhǔn)外設(shè)庫,時鐘配置為100kHz,地址為0xA0。
DeepSeek直接生成了完整的初始化代碼,包含時鐘使能、GPIO配置、I2C參數(shù)設(shè)置:
void I2C1_Init(void){ GPIO_InitTypeDef GPIO_InitStruct; I2C_InitTypeDef I2C_InitStruct; // 時鐘使能 RCC_APB1PeriphClockCmd(RCC_APB1Periph_I2C1, ENABLE); RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOB, ENABLE); // GPIO配置... // I2C配置... }
Step 2:代碼審查
生成之后,我做了三件事:
核對寄存器名是否符合STM32F4標(biāo)準(zhǔn)庫
確認(rèn)GPIO復(fù)用映射正確(PB6→SCL,PB7→SDA)
補(bǔ)充錯誤處理邏輯
Step 3:調(diào)試輔助
調(diào)試時遇到I2C通信異常,我把邏輯分析儀抓到的波形截圖和代碼一起發(fā)給AI,它很快識別出:時鐘配置和實際輸出不一致,建議檢查RCC_PCLK1頻率是否正確。
經(jīng)驗總結(jié):
AI生成的骨架代碼能節(jié)省70%的初始工作量
但必須人工審核硬件相關(guān)的配置細(xì)節(jié)
調(diào)試時“截圖+代碼”一起喂給AI,效果比純文字描述好太多
PCB設(shè)計領(lǐng)域的最新趨勢
雖然我主做嵌入式軟件,但也在關(guān)注AI在PCB設(shè)計領(lǐng)域的最新進(jìn)展:
西門子Fuse EDA AI Agent:端到端的自動化設(shè)計,覆蓋從RTL編碼到物理驗證的全流程
AI驅(qū)動的PCB布局布線:有工具能把原本一個季度的設(shè)計周期壓縮到一周
生成式DRC:基于百萬級成功制造案例訓(xùn)練的ML模型,替代傳統(tǒng)規(guī)則檢查不過我目前還沒在實際項目中大規(guī)模用AI搞PCB——主要還是擔(dān)心AI在模擬電路、信號完整性這些“模糊地帶”的表現(xiàn)不夠可靠。
給電子開發(fā)者的AI使用建議
適合AI干的:
查表函數(shù)、數(shù)據(jù)轉(zhuǎn)換、算法實現(xiàn)
生成外設(shè)驅(qū)動代碼的骨架
寫單元測試用例
分析調(diào)試日志、定位錯誤類型
整理技術(shù)文檔、生成注釋
不適合AI干的:
復(fù)雜的模擬/混合信號電路設(shè)計(專用工具如TI Webench更靠譜)
需要精確時序的實時系統(tǒng)代碼
生成可直接3D打印的機(jī)械外殼(AI只會畫盒子)
完全自動化的PCB布局布線(仍需人工驗證)
用好AI的三個關(guān)鍵技巧:
明確硬件上下文:提示詞里指定MCU型號、庫版本、時鐘頻率
分段驗證:不要讓AI一次性生成幾百行代碼,分段生成、分段測試
保留最終審核權(quán):AI生成的代碼必須經(jīng)過人工審查才能燒錄
最后想說
AI不會取代電子工程師,但會用AI的工程師一定會取代不會用的。過去這一年,AI幫我省下的時間足夠我再做兩三個項目。雖然它還是會犯低級錯誤,但把這個“智能助手”用好了,效率提升是肉眼可見的。希望我的分享能給大家一些啟發(fā)。歡迎在點擊閱讀原文或在評論區(qū)聊聊你用的AI工具和踩過的坑!
精彩文章推薦
· END ·
請將我們設(shè)為“星標(biāo)”,這樣就會第一時間收到推送消息。
歡迎關(guān)注EEWorld旗下訂閱號:“機(jī)器人開發(fā)圈”