STM32F103T8U6,焊接时误将复位电容的上拉电阻焊成10欧,出现症状有:
烧写一次程序后,程序无法运行,无法第二次烧写程序。烧写到最后,会报错:Error: Flash Download failed - "cortex-M3"
但是此时jtag仍然能够连上芯片。
将烧写设置改为erase full chip,烧写到错后,报错显示:
Contents mismatch at: 08000000H (Flash=FFH Required=00H) !
Contents mismatch at: 08000001H (Flash=FFH Required=04H) !
Contents mismatch at: 08000002H (Flash=FFH Required=00H) !
Contents mismatch at: 08000003H (Flash=FFH Required=20H) !
Contents mismatch at: 08000004H (Flash=FFH Required=43H) !
Contents mismatch at: 08000005H (Flash=FFH Required=55H) !
Contents mismatch at: 08000006H (Flash=FFH Required=00H) !
Contents mismatch at: 08000007H (Flash=FFH Required=08H) !
Contents mismatch at: 08000008H (Flash=FFH Required=BDH) !
Contents mismatch at: 08000009H (Flash=FFH Required=14H) !
使用jlink自带的jFlash烧写,会出现报错:
Programming failed @ address 0x08000000 (program error)
将电阻更正后,报错消失。
关键字:stm32 复位电阻 设置过小
引用地址:
stm32复位电阻设置过小导致的各类症状
推荐阅读最新更新时间:2024-11-07 09:01
STM32编码器接口 以及应用编程
Ⅰ 关于编码器 编码器的种类有很多,什么增量式编码器、绝对值编码器,有轴或者无轴编码器,电压输出、推拉输出、集电极开路输出等等。但不管什么类型的编码器,其目的都类似,得到转动的角度,角速度、位移等。 本文讲述常见的增量式编码器,增量式编码器也可以叫正交编码器,也就是说可以通过其A、B的相位知道编码器是正转,还是反转,还可以根据编码器参数得出旋转了多少角度等。 常见的增量式编码器A、B、Z三根线代表什么意思呢?使用过编码器的人不难理解,这里简单给初学者讲述一下: A、B两线提供相位相差90度的脉冲信号,用其来计算旋转的角度;Z线为过零点线,也就是说每转一转,经过某一点都会输出一个脉冲信号,主要用于“过零校正”,三线的信号大致
[单片机]
readelf 命令读取 STM32 编译生成的 ELF 和 AXF 文件
1、概述 readelf 命令,一般用于查看 ELF 格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。 可以在 windows 命令行或 Git bash 上查看。 2、readelf 常用命令 语法:readelf (选项)(参数:文件),除了-v和-H之外,其它的选项必须有一个被指定参数。 Usage: readelf Display information about the contents of ELF format files Options are: -a --all Equivalent to: -h -
[单片机]
如何采用STM32单片机来产生PWM输出
1. TIMER输出PWM基本概念 脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单一点,就是对脉冲宽度的控制。一般用来控制步进电机的速度等等。 STM32的定时器除了基本定时器TIM6和TIM7之外,其他的定时器都可以用来产生PWM输出,其中高级定时器TIM1和TIM8可以同时产生7路的PWM输出,而通用定时器也能同时产生4路的PWM输出。 1.1 PWM输出模式 STM32的PWM输出有两种模式,模式1和模式2,由TIMx_CCMRx寄存器中的OCxM位确定的(“110”为模式1,“111”为模式2
[单片机]
STM32启动流程
1、stm32初始化流程 void RCC_Configuration(void) { /* RCC system reset(for debug purpose) */ RCC_DeInit(); //时钟控制寄存器全部恢复默认值 /* Enable HSE */ RCC_HSEConfig(RCC_HSE_ON); //外部高速时钟源开启(8M晶振) /* Wait till HSE is ready */ HSEStartUpStatus = RCC_WaitForHSEStartUp(); //等待外部时钟HSE就绪 if(HSEStartUpStatus == SUCCESS) //如果时钟启动成功 {
[单片机]
STM32 基础系列教程 26 - USB_MSC
前言 学习stm32 USB接口使用,学会用CUBE工具快速创建USB设备工程及调试,关于usb的相关知道请读者提前准备并学习,当然如果不想深究其中原理的话,跟着本文来操作就可以实现基于USB的设备开发了。需要提示的是,stm32在使用usb接口功能是一般需要在DP引脚上上拉一个1.5K电阻到3.3V(部分MCU内部会上拉)。 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。 本示例所用的最小系统板原理图: 从本节开始,关于CUBEMX工具及KEIL工具的操作将不再细讲,如
[单片机]
STM32的UART读写及printf打印
0.摘要 本文以STM32F1x系列单片机为例,主要介绍了串口的初始化、串口中断、接收/发送、串口调试等内容,也顺带讲到中断分组、半主机模式以及微库MicroLIB。 1.串口初始化 串口初始化主要包括对IO、USART和中断的初始化。根据STM32F1x手册RM0008的P166,USART在全双工模式下,发送口TX要配置成复用推挽输出,接收口RX要配置成浮空输入或上拉输入。此外,本文不使用USART的硬件流控制,所谓硬件流控制就是通过加入额外的引脚(RTS和CTS)来控制数据的收发过程,在数据传输之前确认收发双方均准备好才进行通信,用于防止接收缓冲区满而导致的数据丢失问题。 /********************
[单片机]
stm32中断服务函数名称表速查
*参考启动文件 startup_stm32f10x_xl.s
[单片机]
STM32 ADC的采样周期确定
一 STM32 ADC 采样 频率的确定 先看一些资料,确定一下STM32 ADC 的时钟: (1),由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。 (2)一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同 RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); (3)在时钟配置寄存器(RCC_CFGR) 中 有 为ADC 时钟提供一个专用的可编程预分器
[模拟电子]