概述
1. 前言
嵌入式工程师的工作内容
- 阅读和编写工程代码
- 看硬件原理图,查阅芯片数据手册
第一部分
阅读和编写工程代码
就是说当我们的工程比较复杂时,将涉及到非常多的硬件和功能,作为软件工程师,首先要做的是看懂芯片商或第三方提供的工程代码,然后在此基础上移植或添加代码。
比如,蓝牙芯片厂商提供的蓝牙芯片,以恒玄科技的BES2300为例,厂商会提供相应的软件开发包,即SDK
SDK中提供了软件开发的基础,如硬件抽象层、操作系统和上层应用入口和API等
我们要熟悉其提供的API接口,并利用其开发新功能
再比如,工程中可能会用到一些智能硬件和算法,这部分算法可能是由第三方提供的,如音频处理算法
这部分内容我们也需要了解
第二部分
嵌入式开发人员的日常不仅仅是敲代码,还要看懂硬件原理图,了解芯片功能和IO引脚等
对于硬件原理图需要看什么,博主简单总结如下
- 芯片复位方式
- 硬件复位方式
- 软件复位方式
- 电源树
- 开发板的电源输入
- 电源供电器件
- 5V 电压供电器件
- 3.3V 电压供电器件
- MCU 引脚配置
- GPIO:搞清楚GPIO与器件连接情况、输入输出状态、是否产生中断等
- I2C
- UART
这里,对于电源树部分再啰嗦一下:
当系统中采用锂电池供电时,就会涉及到两部分内容
- 锂电池充放电与电量检测
- 充放电IC:如 MP2661、BQ25150 // 给锂电池充电,并提供系统所需的各种电压,如3.3V、5V等
- 电量检测IC:如 MAX17050
- 电源保护与电压转换
- OVP:过压保护
- OCP:过流保护
- LDO:低压差线性稳压器
- BOOST:升压电路
2. 软件烧录流程
这里说的是从工厂拿回来的裸板焊接调试的流程,跟我们平常使用的开发板烧录程序不太一样,因为开发板上已经引出程序下载接口和调试接口,但产品开发时有可能需要自己引线。
主要流程与细节如下:
- 测试点引线
- 电源:5v / 3.3v / GND
- 串口:TX / RX
- 烧录:SWDIO / SWCLK
- 引线导通测试
- 万用表二极管档测试
- 程序烧录
- J-Link:需安装驱动
- ST-Link:需安装驱动
- J-Flash
引线完成之后,不要急于上电,用万用表测试一下
- 引线导通情况
- 电源短接情况
- 接线是否错误
- 避免产生以下情况
- 5V 接到 3.3 V
- 5V/3.3V 与 GND 接反
JLINK V9 可支持JTAG和SWD两种调试模式,同时STM32也支持JTAG 和SWD。
所以,我们有2种方式可以用来调试,当用JTAG调试的时候,占用的IO线比较多,而SWD 调试的时候占用的IO 线只需要两根即可。
本博客是以Keil开发环境为例,程序下载方式有上述三种,使用不同的下载工具,需要在Keil中进行设置:
魔法棒 -》 Debug -》 SW 方式
若接线正常后,当上电和插上J-link后,在 Debug 窗口中应能识别到 J-link 和 芯片MCU,如下图:
左侧是 J-link设备
右侧是 芯片设备
3. 遇坑记录
3.1 Loading PDSC Debug Description Failed
打开工程时,报如图错误
解决方法
3.2 识别不到CPU
问题现象:在 Debug 窗口能够显示 J-link 设备,但不显示芯片
问题分析:
- 芯片未工作
- 接线问题、虚焊等
对于芯片未工作这种情况,排除方法:
- 测量 MCU 是否上电
- 测量晶振是否正常
最后
以上就是无心饼干为你收集整理的STM32烧录程序遇坑记录的全部内容,希望文章能够帮你解决STM32烧录程序遇坑记录所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复