工作总结
发表时间:2026-04-042026年按照助教工作总结。
接手《嵌入式系统设计与调试》实验课的助教工作,满打满算跟了两个本科班。说实话,这活儿跟想象的不太一样——原以为就是帮学生看看代码、答疑解惑,结果大半时间都在跟板子和仪器较劲。下面把这一年的实打实干的事情理一理。
一、板子的问题比学生的问题还多
学期初清点实验室那批STM32开发板,32套里头,真正能直接用的不到20套。7套JTAG接口虚焊——表现是时连时断,烧写成功率大概六成出头。我用“连续烧录10次成功6次”这个口径算的,不是瞎编。还有3套电源芯片LD1117烧了,输出只剩0.8V,板子点不亮。另外5套按键矩阵失灵,按下去没反应。
虚焊的我用热风枪350度配合助焊剂重新拖焊一遍,焊完再测,连续烧录10次成功9次以上。那3套电源芯片换新的,顺带把旁边的10uF滤波电容也换成钽电容——原来用的铝电解用久了容易干。按键失灵的我一开始以为是微动开关坏了,拆下来测才发现是焊盘氧化发黑,用酒精棉反复擦洗,再补一点锡,全部恢复。
我做了个Excel表,列了板卡编号、故障现象、排查步骤、处理结果、验收日期。每次实验前后更新。学期末系里检查实验室,这表被拿去当了模板,现在贴在设备柜门上。 [笔稿范文网 m.Gx86.COM]
二、课堂上的那些“灵异事件”
最典型的是实时操作系统任务调度实验。学生代码写好了,三个任务轮流打印信息,结果优先级高的任务反而被低的抢了。他调了两个小时,改优先级、改时间片、改堆栈大小,都不行。
我过去看了一眼示波器上GPIO翻转的波形——他在任务切换时拉高一个引脚。发现周期不是1ms,而是1.3ms左右。问题出在SysTick中断周期上。查代码,他用了网上的例程,例程假设外部晶振8MHz,我们板子焊的是16MHz。PLL倍频系数没改,系统主频从168M掉到84M,SysTick计数值自然错了。
我让他打开RCC_CFGR寄存器,读出来看系统时钟源和分频比,再算HSE_VALUE宏定义。改完重新编译,波形周期立刻准了。他问我:“你怎么一眼看出是时钟问题?”我说不是一眼,是先用示波器看到周期不对,再倒推时钟树。
后来每次实验前,我在黑板上画时钟树图,把关键寄存器地址和配置值标上去。这法子笨,但管用。有个学生期末反馈说:“终于明白为什么改那个数字了。”
三、实验报告的验收:不卡人,但得卡住问题
上学期批了210份实验报告。初期很多问题:波形截图没有光标标尺,不知道频率多少;寄存器值只贴一个十六进制数,不加解释;故障分析写“重启就好了”。我重新列了一份验收清单,一共12条。除了波形标尺、寄存器解释、故障分析三步之外,还包括:代码必须有注释说明关键配置、硬件连接必须附实物照片、串口打印数据必须和波形时间戳对齐等等。
有个学生做DMA传输实验,报告里写“数据没传完,不知道为什么”。我叫他到实验室复现。用逻辑分析仪抓SPI总线,发现DMA传了512个字节就停了,而他要传1024个字节。查DMA_NDTR寄存器,初始值设对了,但传输完成中断提前触发。最后定位到他配置了半传输完成中断,没配置完全传输完成中断。这案例后来写进实验指导书的“常见陷阱”章节。
按新清单执行后,报告一次通过率从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纸,贴在实验台挡板上,学生自己先查一遍再叫我。
- 期末考试前,把这一学期踩过的坑按“现象-快速定位-根本原因-预防”的格式整理了两页纸,发到群里。有学生说“比课本管用”。
这一年的助教干下来,最大的体会是:实验课的质量不取决于讲得多好,而取决于设备能不能跑、故障能不能快速定位、学生卡住的时候能不能给一个具体的抓手。下学期准备把那两块查不出原因的板子彻底拆了,逐级测信号,非把根找到不可。不然总觉得欠着点什么。
- 更多精彩工作总结内容,请访问我们为您准备的专题:工作总结
