系列文章目录
1.元件基础
2.电路设计
3.PCB设计
4.元件焊接
5.板子调试
6.程序设计
7.算法学习
8.编写exe
9.检测标准
10.项目举例
11.职业规划
亲身经历,特记录下来,分享经验
本人使用的是STM8S103F3主芯片。板子研发初期没发现问题,量产后,产线反应,有极个别板子会开不开机,就和没烧程序一样。
起初每当回事,以为是忘了烧程序(所有板子程序都是自己手动烧录的),重新烧录了程序就好了。可是一段时间过后,每批板子里都会有那么几块开不开机,甚至还找到了开不开机的规律:板子烧完程序后,放在仓库半个月,有1%的板子就开不开机了。这就引起了我的重视,决心搞一下。
拿了10块板子(都是产线退回来说开不开机的),烧完程序,每天抽空开关机一次,看看程序能不能正常启动。两周过去了,一切都是好的。
于是,这件事又搁置了。。。。。。。。。。。
一次偶然的机会,想到对板子开关机测试,开半秒,关半秒(供电电源和开关键一起狂点),没想到还真坏了;又对剩下9块板子进行开关机测试,300次内必坏。
能浮现问题了,超开心!!
接下来就是找问题源头。首先,1%的概率会出问题,那么硬件的可能性极大(工艺造成硬件的参差不齐)
找一块没坏过的板子和一块退回来的板子,烧一样的程序,一个点一个点的测量。结果还都一致,电压,电流都正常。
最离谱的是,坏的板子用STVP读内部数据,一切还都在,与好板子数据对比,也是一致。

于是,这件事又搁置了。。。。。。。。。。。
测量按坏的板子,看看为什么不能正常工作。
刚测第一个复位脚,我就蒙了,原来复位脚一直在复位,芯片才不工作啊

于是开始上网查为什么会复位

一个个查下来,都不应该会发生,都正常啊。
于是去查软件,先写一个简单的闪灯程序,测试开关300下。正常没问题。
然后,烧总程序,又浮现问题了。
所以大概率判断是程序问题。
一个模块,一个模块的打开。
测试300次开关机。
当打开FLASH模块的时候,板子开始有所异常,那大概率判断是FLASH模块的问题。
这段时间,产线又退板子来了,正想往里面烧程序的时候,发现我之前忽略了一点。
在用IAR烧程序的时候,信息栏提示选项字节读取异常。
我一想,我的选项字节配置是由软件编写配置的,并且还是在FLASH模块里配置的

把这几行代码屏蔽掉,一切都好了。
不过。。。。。
配置选项字节的方法就两种:

如果每烧录一块板子,就打开IAR操作一通

不仅效率低,自己也会搞晕了。
那咋弄。
上网查找,发现STVP也可以生成选项字节配置文件。
可是,问题又来了。。。。。。。。。。
我用到的是AFR0和AFR2…


可是STVP,AFR2是保留,啥也没有,没法选,那也不行啊。
我软件写,就不用麻烦手去来回操作了,可是会概率死机;
我下程序的时候,多操作两步,几块板子还好,批量的话,身体吃不消;
哎!!!!!!就没有省时又省力的法子吗?
鱼与熊掌,不可兼得啊。。。。。。。。。
此处不是做广告推销啊,这个是真的好用。


这个烧录器的上位机有选项字节选项,直接可以写入

再把准备好的烧录软件加进去

点击同步到下载器,然后再批量下载到板子。
问题完美解决!!!!