本文详细介绍了如何使用STM32F103C8T6单片机驱动步进电机的方法,并提供了完整的开源代码工程。作者分享了硬件准备、驱动模块接线图以及步进电机的详细操作说明。关键代码部分包括电机的初始化配置、引脚设置、定时器中断处理以及主函数逻辑。此外,文章还提供了完整的代码驱动工程获取方式,方便读者学习和实践。作者初衷是解决初学者在驱动步进电机时遇到的资源付费问题,希望通过开源工程帮助更多人快速上手。 STM32F103C8T6单片机是由ST公司生产的一款基于ARM Cortex-M3内核的高性能32位微控制器,广泛应用于嵌入式系统和各种智能控制领域。由于其性能稳定、处理速度快、资源丰富等特点,成为了工业控制、物联网、机器人等领域的热门选择。尤其是在驱动步进电机的应用中,它表现出了良好的性能。 步进电机是一种将电脉冲信号转换为角位移的执行元件,它在每个脉冲信号的作用下,会转动一个固定的角度,即所谓的步距角。这种电机无需反馈系统即可精确控制转动角度,因此在要求精确位置控制的应用中非常实用。但是,要使步进电机正常运转,必须配备合适的驱动器。STM32单片机因其强大的处理能力和灵活的I/O配置,可以作为步进电机的控制核心。 文章首先介绍了硬件准备,主要包括STM32F103C8T6开发板、步进电机以及相应的驱动模块等。在硬件接线方面,作者提供了一张详细的接线图,使得读者可以清晰地了解各个模块之间的连接关系。在硬件搭建完毕后,作者详细解释了如何通过编写代码来控制步进电机的启动、停止、速度调整以及方向控制等功能。 文章的关键部分是代码的详细解析。作者首先讲解了如何对电机进行初始化配置,包括时钟系统、GPIO引脚配置以及中断设置等。STM32单片机的定时器中断功能对于控制步进电机的转速非常关键,作者在文中也提供了定时器中断处理函数的编写方法。作者介绍了主函数的逻辑编写,包括步进电机的启动、停止和运动控制等部分。为了方便读者理解和实践,作者还提供了完整的代码驱动工程获取方式,使得读者可以通过实际操作加深对STM32控制步进电机的理解。 作者的目标是帮助初学者解决在驱动步进电机时遇到的难题,并通过开源项目的方式,让更多的学习者能够免费获取资源,快速上手。整个项目基于STM32嵌入式开发的理念,通过详细的步骤介绍和代码示例,为初学者提供了宝贵的学习资料。 此外,文章还涵盖了步进电机的工作原理和基本分类,介绍了全步进电机、半步进电机的区别以及它们的应用场景。为了让读者更全面地了解步进电机的应用,作者还涉及了如何计算步进电机的扭矩和转速,以及驱动电路的设计要点等专业内容。文章为读者提供了一个系统学习STM32控制步进电机的平台,从基础理论到实践应用,为初学者和有经验的工程师提供了一个不可多得的学习资源。
2025-11-16 13:50:07 542B STM32 嵌入式开发 步进电机驱动
1
FreeRTOS是一个轻量级、实时的操作系统内核,被广泛应用于微控制器(MCU)环境,如STM32系列。在嵌入式系统中,任务管理是核心功能之一,任务的创建和删除是FreeRTOS中非常重要的操作。在这个实验中,我们将深入理解如何使用FreeRTOS动态地创建和删除任务。 我们需要了解FreeRTOS的任务(Task)。任务是FreeRTOS中的基本执行单元,每个任务都是一个无限循环的函数,它们并发运行,并通过调度器决定哪个任务在任何特定时刻获得CPU的使用权。任务的状态包括就绪、挂起、阻塞和删除。 动态创建任务涉及`xTaskCreate()`函数。这个函数接受一系列参数,包括任务函数指针、任务名、优先级、堆栈大小、任务参数以及任务句柄的指针。例如,我们可能会有以下代码创建一个任务: ```c TaskHandle_t xHandle; xTaskCreate(vTaskFunction, "TaskName", configMINIMAL_STACK_SIZE * 2, NULL, tskIDLE_PRIORITY + 1, &xHandle); ``` 在这里,`vTaskFunction`是任务函数,`TaskName`是用于调试的任务名称,`configMINIMAL_STACK_SIZE * 2`表示分配的堆栈大小,`NULL`是传递给任务的参数,`tskIDLE_PRIORITY + 1`是任务优先级,`xHandle`用于存储任务句柄。 动态删除任务则使用`vTaskDelete()`函数,其接收一个任务句柄作为参数,删除对应的任务。例如: ```c vTaskDelete(xHandle); ``` 删除任务后,FreeRTOS会回收该任务的内存资源,但请注意,如果任务在删除时仍然持有某些资源(如互斥锁或信号量),那么这些资源可能不会被正确释放,可能导致内存泄漏。因此,在删除任务前,应确保所有资源已被释放。 在STM32中使用FreeRTOS,需要初始化FreeRTOS内核,并设置启动任务。这通常在`main()`函数中完成,如: ```c int main(void) { // 初始化硬件,如GPIO、定时器等 // ... // 初始化FreeRTOS内核 vTaskStartScheduler(); // 如果这里被到达,说明vTaskStartScheduler()未能返回,意味着可能存在错误 for(;;); } ``` 启动调度器后,FreeRTOS会接管控制,根据优先级自动调度任务。在这个实验中,你可能会创建一个或多个任务,观察它们如何根据优先级和调度策略交替运行。 此外,为了调试和理解任务的行为,FreeRTOS提供了各种任务管理API,如`vTaskList()`,它能打印出当前系统的任务状态和信息,这对于理解和优化系统性能非常有用。 这个实验将帮助你深入理解FreeRTOS的任务创建和删除机制,以及如何在STM32环境中使用FreeRTOS进行实时任务管理。通过实践,你可以更好地掌握FreeRTOS的核心特性,为后续的嵌入式系统开发打下坚实的基础。
2025-11-15 22:09:08 4.42MB STM32 FreeRTOS
1
在嵌入式系统开发领域,STM32系列微控制器以其高性能和丰富的功能受到广泛欢迎。特别是STM32G431系列微控制器,由于其优化的实时性能和灵活的电源管理,成为了工业控制和自动化系统中常用的解决方案。本文将详细探讨如何使用STM32G431微控制器通过模拟SPI通信驱动ADS1118高精度模拟数字转换器(ADC),实现多通道电压数据的采集。 ADS1118是一款精度高、功耗低的16位ADC,它支持多达4个差分输入通道或者8个伪差分输入通道,特别适合用于高性能便携式应用。其灵活的输入多路复用器使得ADS1118可以轻松配置为多个不同的测量类型。在本项目中,我们将其配置为四通道输入,以实现对四个不同电压源的测量。 接下来,我们要讨论的是STM32G431微控制器的模拟SPI接口。SPI,即串行外设接口,是一种常用的高速、全双工、同步的通信总线。它允许微控制器与各种外围设备进行数据交换。在某些STM32G431的变体中,并不直接支持SPI硬件接口,因此我们不得不使用软件模拟的方式来实现SPI通信。这种方法虽然牺牲了一些通信速度,但在一些对成本和空间要求较高的场合仍然是一个可行的解决方案。 在实现模拟SPI驱动之前,需要对STM32G431的GPIO(通用输入输出)端口进行适当的配置。通常,需要设置一个GPIO端口作为SCLK(时钟信号线)、一个GPIO端口作为MOSI(主设备数据输出,从设备数据输入线)、一个GPIO端口作为MISO(主设备数据输入,从设备数据输出线)以及一个GPIO端口作为片选(CS)信号线。通过编写相应的软件代码,利用GPIO端口来模拟SPI的时钟信号和数据信号,实现与ADS1118的数据通信。 在软件实现方面,首先需要初始化STM32G431的GPIO端口,然后编写函数来模拟SPI通信协议的时序。这些函数将负责产生正确的时钟信号和数据信号来控制ADS1118。例如,发送一个字节的函数应该确保数据在时钟信号的上升沿或下降沿被正确采样。 一旦SPI通信准备就绪,就可以开始配置ADS1118了。ADS1118可以通过其I2C或SPI接口进行配置,本项目中我们通过模拟SPI接口来配置。ADS1118的配置涉及到多个寄存器的设置,包括数据速率、输入通道选择、增益设置、模式选择等。通过精心配置这些寄存器,可以确保ADS1118以预定的方式工作,从而准确读取输入通道上的电压值。 在配置完成后,我们可以开始读取ADS1118中的电压数据。通常,数据读取会涉及到启动转换命令和读取转换结果的命令。软件需要处理好时序和数据的完整性,确保从ADS1118中读取到正确的数据。一旦数据被读取,就需要将其从原始的16位值转换为实际的电压值。这通常涉及到一些数学运算和对ADS1118参考电压的理解。 当实现整个系统时,还需要考虑错误处理和异常情况,比如通信错误、过压或欠压情况等。为了保证系统的稳定性和可靠性,这些异常情况都需要被软件妥善处理。 通过STM32G431微控制器的模拟SPI接口驱动ADS1118实现四通道电压采集,虽然在实现过程中面临一定的挑战,比如需要精确控制GPIO时序等,但一旦成功,就能在硬件成本和空间受限的条件下实现精确的多通道数据采集,为各种工业和消费电子应用提供了很好的解决方案。
2025-11-15 16:03:20 25.76MB STM32 ADC采集 SPI通信
1
STM32是一款基于ARM Cortex-M内核的微控制器,由意法半导体(STMicroelectronics)生产,广泛应用在各种嵌入式系统中,特别是在物联网(IoT)、医疗设备、智能家居等领域。"基于STM32的生理健康监测"项目旨在利用STM32芯片构建一个能够实时监控人体生理指标的系统。 在这样的系统中,STM32微控制器通常作为核心处理器,负责数据采集、处理、存储以及无线通信等功能。以下是一些关键的技术点: 1. 数据采集:生理健康监测可能涉及心率、血压、血氧饱和度、体温等多种指标。这需要连接各种传感器,如光电容积描记器(PPG)用于测量心率,压力传感器检测血压,红外传感器测量体温等。STM32通过其丰富的GPIO引脚和模拟输入通道(A/D转换器)与这些传感器接口。 2. 信号处理:传感器采集的数据往往需要预处理,包括滤波、放大、平均等操作,以消除噪声并提取有效信息。STM32的内置数字信号处理器(DSP)功能可以实现这些算法。 3. 实时计算:STM32内核速度快,内存资源丰富,能实时处理大量生理数据,计算出健康指数,如心率变异性(HRV)、平均心率等。 4. 存储管理:系统可能需要保存一段时间内的数据以便后续分析。STM32的闪存可以用来存储历史数据,或者通过外部存储扩展如SPI或I2C接口连接的SD卡。 5. 无线通信:通过蓝牙低功耗(BLE)、Wi-Fi或NB-IoT模块,STM32可将生理数据发送到手机、云端服务器或其它远程设备,实现远程监测和预警。STM32的嵌入式无线协议栈支持这些通信标准。 6. 电源管理:考虑到穿戴设备的续航需求,STM32的低功耗模式和电源管理单元(PMU)至关重要。通过合理配置,可以在保证系统正常运行的同时,最大程度地降低能耗。 7. 用户界面:虽然STM32本身没有显示和触摸功能,但它可以驱动LCD或OLED屏幕,通过I2C、SPI或GPIO接口控制显示模块,显示实时生理数据和状态信息。 8. 安全性:系统可能需要处理敏感的健康数据,因此安全机制如加密算法、安全启动等也是设计的一部分。STM32提供硬件加密加速器,支持AES、RSA等算法,确保数据传输和存储的安全。 9. 软件开发:开发基于STM32的生理健康监测系统,通常会使用STM32CubeMX进行配置和初始化,HAL/Low-Layer库进行驱动编程,以及FreeRTOS等实时操作系统进行任务调度。 10. 硬件设计:除了STM32外,还需要考虑电路设计,如电源电路、传感器接口、无线模块连接、电池管理等。PCB布局和电磁兼容性(EMC)也需考虑,以确保设备稳定可靠。 以上技术点构成了"基于STM32的生理健康监测"系统的主体架构,开发者需要具备嵌入式系统、传感器技术、通信协议、软件编程等多个领域的知识。通过不断的优化和迭代,这样的系统可以为人们的健康管理提供有力的支持。
2025-11-15 14:34:43 4.62MB stm32
1
STM32微控制器在嵌入式系统领域被广泛应用,其性能稳定且资源丰富。为了实现数据的高效通信,JSON(JavaScript Object Notation)格式因其轻量级、易于阅读和编写的特点,成为了常用的数据交换格式之一。在STM32平台上实现JSON数据的解析和生成,CJSON库提供了一个可行的方案。CJSON是一个轻量级的JSON解析和生成库,能够以较小的内存占用完成JSON数据的处理,非常适合用于资源受限的嵌入式系统。 本文选取了STM32F103ZET6微控制器作为实验平台,通过集成CJSON库,实现了JSON数据的生产和解析。整个过程分为两个主要部分:首先是JSON数据的生成,其次是JSON数据的解析。在生成JSON数据时,开发者需要根据业务逻辑,构建相应的数据结构,然后利用CJSON库中的接口函数将数据结构转化为JSON格式的字符串。这一过程需要开发者对数据结构和CJSON库提供的API有充分的了解。 对于JSON数据的解析,CJSON库同样提供了丰富的接口。通过这些接口,STM32可以将接收到的JSON格式字符串转换成内部数据结构,便于后续的处理和使用。解析过程中,需要注意错误处理机制,确保输入的JSON字符串格式正确,避免因格式错误导致的程序崩溃或数据错误。 在完成JSON数据的生成和解析后,将数据通过串口通信发送至PC端的串口助手软件,可以直观地展示解析和生成的结果。串口通信作为嵌入式系统中常用的通信方式,具有成本低廉、实现简单的特点。STM32的串口接口功能强大,支持多样的通信协议和参数配置,适合用于调试和数据传输。 为了方便其他开发者学习和参考,本文附上了完整的代码示例。代码中不仅包括了如何集成和使用CJSON库,还包括了如何通过STM32的HAL库函数配置和使用串口通信。通过阅读和分析这些代码,开发者可以快速掌握在STM32平台上处理JSON数据的基本方法,以及如何将数据通过串口发送。 除了代码,本文还涉及到如何使用STM32开发环境,例如Keil MDK-ARM、STM32CubeIDE等,来编写和调试程序。在实际开发过程中,正确配置开发环境和理解开发工具的使用是不可或缺的一环。开发环境不仅提供代码编辑器,还包含了编译器、调试器以及各种辅助工具,能够提高开发效率,降低开发难度。 总体而言,本文通过介绍STM32使用CJSON库进行JSON数据的解析和生成,展现了嵌入式系统中数据处理的一种有效方法。通过理论与实践的结合,为嵌入式开发者提供了一套完整的解决方案,使得在资源受限的微控制器上也能实现复杂的数据处理任务。
2025-11-14 14:40:36 4.11MB STM32应用
1
标题 "stm32cubeclt" 指代的是 STMicroelectronics(意法半导体)公司为STM32微控制器系列提供的一个软件配置工具,名为STM32CubeCLI。STM32是该公司广泛使用的32位ARM Cortex-M微控制器产品线。这个工具有助于用户通过命令行界面快速配置和生成初始化代码,适用于需要批量或自动化处理项目设置的场景。 描述中重复提供的 "stm32cubeclt" 并未提供更多详细信息,但可以推断这是对软件名称的强调。 标签 "stm32" 表明这款软件是专门针对STM32系列微控制器设计的,这一系列微控制器广泛应用于嵌入式系统和物联网设备中。其标签不仅限于一个软件,更是指代了整个STM32产品线。 从压缩包子文件的文件名称 "st-stm32cubeclt_1.17.0_23554_20241124_1810_x86_64.exe" 中,我们可以获得一些关键信息。该文件名称包含了版本号(1.17.0),意味着我们了解到了软件的版本;版本号后跟随的数字序列可能代表了特定的版本信息或者是软件构建号;再次,日期部分(20241124_1810)表明了这个软件构建的具体日期和时间,这对于跟踪软件更新和确定软件的新旧程度非常重要;"x86_64" 表明这是针对64位x86架构的个人计算机而设计的可执行文件,适合现代的主流电脑系统使用。 STM32CubeCLI工具在嵌入式开发领域非常有用,它能够通过命令行自动化地进行项目配置,从而为工程师节省大量的时间。开发者可以通过简单的命令行参数来设定硬件配置,生成初始化代码,甚至实现项目快速构建和下载。这种命令行操作的自动化程度比传统的图形用户界面(GUI)方式要高,特别是在需要对多个项目进行相同配置更改时,使用命令行工具可以大幅提升效率。 该工具是STM32Cube生态系统的一部分,STM32Cube是一个包含硬件抽象层(HAL)和中间件的完整软件平台,它允许开发者轻松地为STM32微控制器开发程序。STM32Cube生态系统还包括STM32CubeMX,这是一个图形化配置工具,用户可以通过它可视化地配置微控制器的硬件特性,并生成相应的初始化代码。 STM32CubeCLI作为一个强大的命令行工具,为STM32微控制器的开发带来了极大的便利,尤其是在批量处理和自动化配置方面,极大提高了开发者的生产效率。对于那些熟悉命令行操作的工程师来说,这款工具无疑能够成为他们手中的利器。
2025-11-13 23:47:41 492.3MB stm32
1
STM32CubeCLT(STM32Cube Command Line Tool)是ST公司(STMicroelectronics)为第三方集成开发环境(IDE)提供商设计的一套命令行工具集。它允许开发者在自己的IDE框架中使用STMicroelectronics的专有工具,从而增强开发环境的灵活性和功能,开发者可以在不使用STM32CubeIDE或其他图形界面IDE的情况下,完成项目的开发和调试工作.STM32CubeCLT适用于各种需要高效开发流程和灵活开发环境的场景。例如,对于嵌入式系统开发者来说,他们可能需要在多种操作系统上工作,并希望使用自己熟悉的IDE进行开发。STM32CubeCLT为他们提供了这样的可能性,使得他们可以在不使用STM32CubeIDE的情况下,完成项目的开发和调试工作。
2025-11-13 23:46:24 478.84MB stm32
1
内容概要:本文档详细介绍了使用STM32F103C8T6与HAL库实现LED呼吸灯的过程。首先阐述了PWM(脉宽调制)和定时器的工作原理,其中PWM通过调节高电平占空比改变LED的平均电压实现亮度渐变,定时器用于生成PWM信号。硬件连接方面,开发板PC13引脚连接LED阳极并串联220Ω电阻,GND连接LED阴极。开发步骤包括使用STM32CubeMX进行工程创建、时钟配置(HSE设为8MHz,系统时钟设为72MHz)、定时器PWM输出配置(如TIM3通道1)。代码实现基于HAL库,主要涉及PWM初始化和主函数逻辑,通过改变CCR值来调整占空比,从而实现渐亮渐暗的效果,并引入了指数增长/衰减函数使亮度变化更自然。最后提供了调试技巧,如使用逻辑分析仪验证输出波形、监控变量变化以及频率/占空比的计算方法。; 适合人群:对嵌入式开发有一定了解,尤其是对STM32有兴趣的学习者或工程师。; 使用场景及目标:①学习STM32的基本开发流程,从硬件连接到软件编程;②掌握PWM和定时器的基本原理及其在STM32中的应用;③理解如何通过编程实现LED呼吸灯效果,包括渐亮渐暗的自然过渡;④提高调试技能,确保项目顺利进行。; 阅读建议:本教程不仅关注代码实现,还强调了理论知识的理解和实际操作的结合。读者应跟随文档逐步完成每个步骤,并利用提供的调试技巧确保项目的正确性和稳定性。同时,建议读者尝试修改参数(如频率、占空比等),以深入理解各参数对最终效果的影响。
2025-11-13 19:54:29 198KB STM32 HAL库 LED呼吸灯
1
STM32F103xB系列微控制器是意法半导体(STMicroelectronics)推出的一款基于ARM Cortex-M3内核的高性能、低功耗微处理器。该系列芯片广泛应用于嵌入式系统设计,如物联网设备、智能家居、工业控制、消费电子等领域。《STM32F103xB-User-Manual.chm》是该系列产品的用户手册,提供了详细的硬件和软件参考信息,帮助开发者更好地理解和使用STM32F103xB。 1. **概述**:手册通常包含产品概述,介绍STM32F103xB的主要特性,如处理能力、内存配置、外设接口和功耗管理等。它还可能包含产品封装和引脚定义的说明。 2. **硬件描述**:这部分会详细介绍STM32F103xB的内部结构,包括CPU、内存、时钟系统、电源管理、中断和事件控制系统。此外,还会涵盖各种内置外设,如GPIO(通用输入/输出)、ADC(模拟数字转换器)、DAC(数字模拟转换器)、SPI、I2C、USART、CAN和USB接口。 3. **软件支持**:STM32F103xB支持HAL(Hardware Abstraction Layer)和LL(Low-Layer)库,这两个库提供了API(应用程序编程接口),使得开发者能够方便地访问和控制微控制器的硬件资源。HAL库提供了一种与具体硬件无关的编程方式,而LL库则更接近底层,提供了更高的性能和更低的内存占用。 4. **开发环境**:手册会介绍如何设置IDE(集成开发环境),如Keil uVision、IAR Embedded Workbench或STM32CubeIDE,以及如何配置编译器、链接器选项和调试器设置。 5. **应用示例**:手册通常包含多个示例代码,展示了如何初始化系统、使用特定外设和功能。这些示例对于初学者来说非常有用,能快速上手。 6. **调试和测试**:介绍如何使用JTAG和SWD(SWD是JTAG的更高效版本)接口进行调试,以及如何利用STM32的内置调试工具,如Trace功能,用于实时性能分析。 7. **系统级功能**:手册可能会涵盖系统级功能,如看门狗定时器、RTC(实时时钟)、TIM(定时器)模块和NVIC(Nested Vectored Interrupt Controller)中断管理系统。 8. **功耗管理**:详细解释了如何通过各种低功耗模式(如STOP和STANDBY)来优化功耗,这对于电池供电或能量采集应用至关重要。 9. **安全和保护**:STM32F103xB可能包含了多种安全特性,如闪存保护、安全Boot、密码保护等,这些在手册中会有详细阐述。 10. **认证和合规性**:手册可能还会包含关于产品符合的行业标准和法规,如EMC(电磁兼容性)和LVD(低电压指令)。 《STM32F103xB-User-Manual.chm》是开发基于STM32F103xB的项目不可或缺的参考资料,它为开发者提供了全面的技术指导,确保他们能有效地利用这款微控制器的所有功能。通过深入阅读和实践手册中的内容,开发者可以掌握STM32F103xB的使用方法,从而设计出高效、可靠的嵌入式系统。
2025-11-13 11:41:52 8.35MB stm32
1
J-Link V8固件修复 J-Link V8固件修复是为了解决J-Link V8固件损坏或损坏引起的USB不可识别和LED不亮的问题。以下是J-Link V8固件修复的详细过程: 一、擦除芯片并进入编程模式 1. 使用USB线连接JLINK与PC机,以提供JLINK工作电源 2. 短接图中ERASE(A)的两个过孔约5秒 3. 断开ERASE(A)位置的两个过孔的短接 4. 拔掉JLINK与PC间的USB线 二、更新固件 1. 安装AT91-ISP v1.13.exe软件 2. 双击Install AT91-ISP v1.13.exe运行,选择默认设置,安装好以后,桌面上生成两个图标 3. 双击桌面上的SAM-PROG v2.4图标,运行SAM-PROG v2.4烧录软件 4. 将JLINK V8通过USB线与PC机连接 5. 点击Write Flash按钮,烧录固件,待烧录完成后,Active Connection:将变为13 6. 拔掉JLINK与PC机之间的USB线 三、解决固件更新后不能用的问题 1. 重新烧写固件到Jlink,将原来V8.bin固件用Winhex打开,并找到偏移地址为0xff00为首地址4bytes修改为其他值 2. 将0xff30后面的GDBFull对应改成GDBFULL,对应ASCII码为47 44 42 46 55 4C 4C 3. 保存修改好的固件文件 4. 打开Commander,不理会更新,在Jlink命令后面输入exec setsn = xxxxxxxx 四、其他解决方法 1. 将0xff00为起始地址的4Bytes修改为0xffffffff,同时将0xff30后面的GDBFull对应改成GDBFULL 2. 安装Segger4.65d的版本,打开JLink Commander,按要求提示更新 五、注意事项 1. CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用 2. 使用STLink的STVP来对Option Byte进行擦除,对RDP进行擦除 3. 更新固件之后,实测发现更容易掉固件 六、结论 J-Link V8固件修复可以解决J-Link V8固件损坏或损坏引起的USB不可识别和LED不亮的问题。通过擦除芯片、更新固件和解决固件更新后不能用的问题,可以恢复J-Link V8的正常功能。但是,需要注意CM0加入读保护后,Segger的Unsecured Chip功能不能正常使用,并且更新固件之后,实测发现更容易掉固件。
2025-11-13 10:51:13 61KB J-Link 固件修复 STM32
1