STM32F103学习笔记(二)-常用的仿真器、调试器、库的简单介绍


一、仿真器

1、仿真器出现的原因

  1. 早期的单片机内部没有ROM, 比如8031、 8032, 这种单片机只能外部扩展紫外擦除的EPROM存储器, 就是芯片上带窗口的ROM。 紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多) 才能擦掉芯片中的内容以便写入新的程序;
  2. 有的单片机内部ROM是一次写入成型的, 比如8751, 程序写入单片机的ROM之后就不能被擦除。

2、仿真器的种类

  1. 软件仿真器:这种方法主要是使用计算机软件来模拟运行, 实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。 用户不需要搭建硬件电路就可以对程序进行验证, 特别适合于偏重算法的程序。 软件仿真的缺点是无法完全仿真与硬件相关的部分, 因此最终还要通过硬件仿真来完成最终的设计;
  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优点:

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

JTAG缺点:

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

SWD优点:

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

SWD缺点:

  • 只能用于ARM内核的单片机。

三、STM32常用调试器

  • JLINK
  • STLINK
  • 普中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下载

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用内容,STM32C8T6是一款通用增强型的48脚单片机,具有64K闪存和LQFP封装。它适用于工业级温度范围-40~85度。下面是一些关于STM32C8T6学习笔记: 1. 学习资料:可以从ST官方网站下载STM32C8T6的数据手册和参考手册,这些手册包含了该单片机的详细信息和使用方法。 2. 开发环境:为了开始学习STM32C8T6,你需要安装相应的开发环境。ST官方提供了一款免费的集成开发环境(IDE)——STM32CubeIDE,它可以帮助你进行代码编写、调试和下载。 3. 编程语言:STM32C8T6可以使用多种编程语言进行开发,包括C语言和汇编语言。C语言是最常用的编程语言,它可以通过STM32CubeIDE进行编写和调试。 4. 引脚配置:在使用STM32C8T6之前,你需要了解每个引脚的功能和配置。数据手册中有一张引脚功能表,可以帮助你了解每个引脚的用途和配置方法。 5. 时钟配置:STM32C8T6具有多个时钟源和时钟分频器,你需要根据自己的需求配置正确的时钟。时钟配置对于外设的正常工作非常重要。 6. 中断和定时器:STM32C8T6支持中断和定时器功能,这些功能可以帮助你实现各种任务和功能。你可以通过配置中断和定时器来实现外设的响应和定时操作。 7. 外设驱动:STM32C8T6具有丰富的外设,包括GPIO、UART、SPI、I2C等。你可以根据自己的需求选择合适的外设,并学习如何配置和驱动这些外设。 8. 调试和下载:在开发过程中,你可以使用STM32CubeIDE提供的调试功能来调试你的代码。一旦代码调试完成,你可以使用ST-Link或其他下载器将代码下载到STM32C8T6上运行。 希望以上笔记对你学习STM32C8T6有所帮助!如果你有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值