STM32F103学习笔记(二)

您所在的位置:网站首页 程序调试作用 STM32F103学习笔记(二)

STM32F103学习笔记(二)

2024-07-14 15:57| 来源: 网络整理| 查看: 265

文章目录 一、仿真器1、仿真器出现的原因2、仿真器的种类3、单片机仿真器的作用 二、调试器1、JTAG2、SWD3、JTAG和SWD优缺点 三、STM32常用调试器四、库1、标准库2、HAL库

一、仿真器 1、仿真器出现的原因 早期的单片机内部没有ROM, 比如8031、 8032, 这种单片机只能外部扩展紫外擦除的EPROM存储器, 就是芯片上带窗口的ROM。 紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多) 才能擦掉芯片中的内容以便写入新的程序;有的单片机内部ROM是一次写入成型的, 比如8751, 程序写入单片机的ROM之后就不能被擦除。 2、仿真器的种类 软件仿真器:这种方法主要是使用计算机软件来模拟运行, 实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。 用户不需要搭建硬件电路就可以对程序进行验证, 特别适合于偏重算法的程序。 软件仿真的缺点是无法完全仿真与硬件相关的部分, 因此最终还要通过硬件仿真来完成最终的设计;硬件仿真器:使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部分的功能。 使用了附加硬件后用户就可以对程序的运行进行控制, 例如单步, 全速。 3、单片机仿真器的作用 单片机仿真器是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。它是一种在电子产品开发阶段代替单片机芯片进行软硬件调试的开发工具。 配合集成开发环境使用仿真器可以对单片机程序进行单步跟踪调试, 也可以使用断点、 全速等调试手段, 并可观察各种变量、 RAM及寄存器的实时数据, 跟踪程序的执行情况。同时还可以对硬件电路进行实时的调试。 利用单片机仿真器可以迅速找到并排除程序中的逻辑错误, 大大缩短单片机开发的周期。 在现场只利用烧录器反复烧写单片机, 通过肉眼观察结果进行开发的方法大大增加了调试的难度, 延长了整个开发周期,并且不容易发现程序中许多隐含的错误, 特别对于单片机开发经验不丰富的初学者来说更加困难, 由此可见, 单片机仿真器单片机系统开发中发挥着重要的作用。 二、调试器 1、JTAG

标准的JTAG接口是:TMS、 TCLK、TDI、TDO、RST ,分别为模式选择、时钟、数据输入和数据输出线、复位线。 相关JTAG引脚的定义为:

TMS(Test Mode Select):测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TCLK(Test Clock):测试时钟输入;TDI(Test Data In):测试数据输入,数据通过TDI引脚输入JTAG接口;TDO(Test Data Out):测试数据输出,数据通过TDO引 脚从JTAG接口输出;RST (Test Reset):复位引脚。 2、SWD

串行调试(Serial Wire Debug),是ARM设计的协议,主要针对他们内核的芯片进行程序调试和下载。相关SWD引脚的定义为:

SWDIO(Serial Wire Data Input Output):串行数据输入输出引脚SWCLK(Serial Wire Clock):串行线时钟引脚 3、JTAG和SWD优缺点

JTAG优点:

不限于ARM内核单片机,能支持更多单片机程序调试和下载;用途更广,用于编程,调试和生产测试。

JTAG缺点:

占用引脚数比较多,比较占用板子尺寸。

SWD优点:

引脚数更少,有利于节约电路板尺寸;SWD具有特殊功能,例如通过其I / O线打印调试信息。在高速大数据情况下,SWD整体性能比JTAG更好。

SWD缺点:

只能用于ARM内核的单片机。 三、STM32常用调试器 JLINKSTLINK普中ARM仿真器(由于本次学习是基于普中单片机) 四、库 1、标准库

标准库:(Standard Peripheral Library,标准外设库,又称为 SPL) ,标准库是ST较早推出的库,提供了访问 STM32 外设的底层驱动。它在设计上更接近寄存器操作,为开发者提供了更多的控制权,但是相对复杂一些。

标准库的特点:

针对特定平台:针对不同的 STM32 系列提供相应的库。底层驱动:为外设提供底层的驱动接口,更接近硬件操作。控制精细:提供了更多的硬件控制选项,但相应地要求开发者具备较高的硬件知识。学习曲线较陡:由于其底层性质,开发者需要花费更多的时间学习和理解。

获取方法:标准库下载地址

2、HAL库

HAL 库:(Hardware Abstraction Layer,硬件抽象层),HAL 库是ST提供的较新的库。它提供了一套统一的 API,用于访问 STM32 系列微控制器的外设。HAL 库的目的是简化固件开发,让开发者更加关注应用层逻辑,而无需深入了解底层硬件。

HAL 库的特点:

跨平台支持:支持 STM32 全系列微控制器。结构统一:为所有外设提供统一的 API 和驱动结构。易于使用:简化了许多硬件操作,使得开发者可以快速上手。与STM32CubeMX 工具集成:STM32CubeMX 可以自动生成 HAL 库的初始代码,方便开发者配置硬件。

获取方法:STM32CubeMX下载



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3