工作總結
發表時間:2026-04-042026年按照助教工作總結。
接手《嵌入式系統設計與調試》實驗課的助教工作,滿打滿算跟了兩個本科班。說實話,這活兒跟想象的不太一樣——原以為就是幫學生看看代碼、答疑解惑,結果大半時間都在跟板子和儀器較勁。下面把這一年的實打實干的事情理一理。
一、板子的問題比學生的問題還多
學期初清點實驗室那批STM32開發板,32套里頭,真正能直接用的不到20套。7套JTAG接口虛焊——表現是時連時斷,燒寫成功率大概六成出頭。我用“連續燒錄10次成功6次”這個口徑算的,不是瞎編。還有3套電源芯片LD1117燒了,輸出只剩0.8V,板子點不亮。另外5套按鍵矩陣失靈,按下去沒反應。
虛焊的我用熱風槍350度配合助焊劑重新拖焊一遍,焊完再測,連續燒錄10次成功9次以上。那3套電源芯片換新的,順帶把旁邊的10uF濾波電容也換成鉭電容——原來用的鋁電解用久了容易干。按鍵失靈的我一開始以為是微動開關壞了,拆下來測才發現是焊盤氧化發黑,用酒精棉反復擦洗,再補一點錫,全部恢復。
我做了個Excel表,列了板卡編號、故障現象、排查步驟、處理結果、驗收日期。每次實驗前后更新。學期末系里檢查實驗室,這表被拿去當了模板,現在貼在設備柜門上。
二、課堂上的那些“靈異事件”
最典型的是實時操作系統任務調度實驗。學生代碼寫好了,三個任務輪流打印信息,結果優先級高的任務反而被低的搶了。他調了兩個小時,改優先級、改時間片、改堆棧大小,都不行。
我過去看了一眼示波器上GPIO翻轉的波形——他在任務切換時拉高一個引腳。發現周期不是1ms,而是1.3ms左右。問題出在SysTick中斷周期上。查代碼,他用了網上的例程,例程假設外部晶振8MHz,我們板子焊的是16MHz。PLL倍頻系數沒改,系統主頻從168M掉到84M,SysTick計數值自然錯了。
我讓他打開RCC_CFGR寄存器,讀出來看系統時鐘源和分頻比,再算HSE_VALUE宏定義。改完重新編譯,波形周期立刻準了。他問我:“你怎么一眼看出是時鐘問題?”我說不是一眼,是先用示波器看到周期不對,再倒推時鐘樹。
后來每次實驗前,我在黑板上畫時鐘樹圖,把關鍵寄存器地址和配置值標上去。這法子笨,但管用。有個學生期末反饋說:“終于明白為什么改那個數字了。”
三、實驗報告的驗收:不卡人,但得卡住問題
上學期批了210份實驗報告。初期很多問題:波形截圖沒有光標標尺,不知道頻率多少;寄存器值只貼一個十六進制數,不加解釋;故障分析寫“重啟就好了”。我重新列了一份驗收清單,一共12條。除了波形標尺、寄存器解釋、故障分析三步之外,還包括:代碼必須有注釋說明關鍵配置、硬件連接必須附實物照片、串口打印數據必須和波形時間戳對齊等等。
有個學生做DMA傳輸實驗,報告里寫“數據沒傳完,不知道為什么”。我叫他到實驗室復現。用邏輯分析儀抓SPI總線,發現DMA傳了512個字節就停了,而他要傳1024個字節。查DMA_NDTR寄存器,初始值設對了,但傳輸完成中斷提前觸發。最后定位到他配置了半傳輸完成中斷,沒配置完全傳輸完成中斷。這案例后來寫進實驗指導書的“常見陷阱”章節。 (GX86.cOM 筆稿范文網)
按新清單執行后,報告一次通過率從57%升到83%。說句難聽的,我不是想為難誰,而是不想讓學生帶著錯誤的理解去下一個實驗。
四、工具鏈的兩次崩潰
Keil MDK的License服務器學期中間崩了兩次。第一次崩的時候,全班30號人干等了一節課,我急得滿頭汗。第二次崩之前我就做了準備:在自己機器上搭了個備用環境,用arm-none-eabi-gcc配合Makefile編譯,用OpenOCD通過ST-Link燒寫。服務器第二次崩的時候,我直接把Makefile模板和工具鏈壓縮包發到群里,學生十分鐘內恢復實驗。
順便說一句,示波器探頭壞了三根。原廠買一根要三百多,我花了幾十塊錢買了BNC接頭和RG174同軸線,自己做。做的時候要注意:焊完必須用示波器自帶的1kHz方波校準補償電容,調探頭上的可調電容,直到波形邊沿垂直、無過沖。我調了半個小時才弄好三根,實測能到100MHz,夠用。
五、一個讓我印象深刻的場景
期末綜合實驗,有個學生做溫濕度傳感器采集,串口一直打印0xFF。他用萬用表測了傳感器供電3.3V,正常。換了兩個新傳感器,還是0xFF。他急得臉都紅了,說“是不是傳感器全壞了”。
我讓他把傳感器拆下來,飛線接到旁邊一塊確認正常的板子上——讀數正常。那問題就在他自己板子的I2C總線上。用示波器看SCL和SDA波形,發現SDA的低電平是0.8V,SCL的低電平是0V。I2C的低電平應該接近0V,0.8V太高了,從機不認。
查線路,發現他板子上SDA的4.7k上拉電阻一端虛焊,相當于電阻開路,總線靠芯片內部弱上拉,拉不到低電平。補焊之后,波形低電平降到0.1V,數據立刻出來了。他長出一口氣,說“原來波形比代碼更誠實”。
這個案例我后來反復講:調試第一步永遠是看物理波形,別一上來就改代碼。
六、說點沒干好的
也有搞不定的時候。有兩塊板子,燒寫偶爾失敗,但重新上電又好了。我查了供電紋波、晶振波形、復位電路,都沒發現問題。到現在也沒找到根因,只能每次實驗前先燒一遍bootloader熱熱身。這事兒一直讓我挺不舒服的。
另外,第一次做探頭線的時候,沒校準就用了,結果測一個10MHz方波變成了正弦波,我還以為學生代碼寫錯了,查了半天。后來才發現是探頭的問題,自己臉上掛不住。
七、幾個笨辦法
- 每節課提前二十分鐘到實驗室,把所有板子上電燒一遍測試程序,確認沒問題再給學生。
- 把常見的故障現象和排查步驟打印成A4紙,貼在實驗臺擋板上,學生自己先查一遍再叫我。
- 期末考試前,把這一學期踩過的坑按“現象-快速定位-根本原因-預防”的格式整理了兩頁紙,發到群里。有學生說“比課本管用”。
這一年的助教干下來,最大的體會是:實驗課的質量不取決于講得多好,而取決于設備能不能跑、故障能不能快速定位、學生卡住的時候能不能給一個具體的抓手。下學期準備把那兩塊查不出原因的板子徹底拆了,逐級測信號,非把根找到不可。不然總覺得欠著點什么。
-
更多精彩工作總結內容,請訪問我們為您準備的專題:工作總結
