现象:提示family: Unknown device
Read out protection is activated.
Could not disable Read Out Protection!
分析:由于STM内部提供了数据保护,有读出保护和写保护。禁止读出保护起作用,那么下载器就读不出内容了。是为了防止盗版的功能。做产品应该使用。
解决办法:只能把写保护、读保护取消,并擦出整个芯片。
首先,连接板子与PC,进入Dos命令行,进入C:\Program Files\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility目录下,执行ST-Link_CLI.exe -c SWD UR -OB RDP=0
这样就可以把读保护去掉了。 这一步或许不用也可以,因为已经好了,我没办法再次测试,所以不能确定这一步的必要性(王工备注)。
然后,再次启动STM32 ST-LINK Utility,先不要点“Connect”,直接进入Target > Option Bytes菜单 将BOR选为0 将Write proctection 都清空,如下图所示:
点击“Apply”。
然后,Connect和Full Chip Erase。就OK了。
下面的图 是 自己试的
关键字:STM32 ST-LINK Utility
引用地址:
STM32 ST-LINK Utility无法下载的处理方法
推荐阅读最新更新时间:2024-03-16 16:20
STM32中定时器级联使用方法
TIM6&TIM7是基本定时器,而TIM10&TIM11&TIM13&TIM14不能工作在从模式下,因此没有以下表格 TIM1&TIM8工作在从模式时内部触发时钟可选项 TIM2&TIM3&TIM4&TIM5工作在从模式时内部触发时钟可选项 TIM9&TIM12工作在从模式时内部触发时钟可选项 ITRx由TS位确定,TIM1&TIM8工作在从模式下内部触发时钟的可选项,如果所选器件对应的定时器不存在则该选项也不存在,如TIM1可选择TIM5_TRGO/TIM2_TRGO/TIM3_TRGO/TIM4_TRGO。
[单片机]
STM32—串口通信
1.串口的基本概念 在STM32的参考手册中,串口被描述成通用同步异步收发器(USART),它提供了一种灵活的方法与使用工业标准NRZ异步串行数据格式的外部设备之间进行全双工数据交换。USART利用分数波特率发生器提供宽范围的波特率选择。它支持同步单向通信和半双工单线通信,也支持LIN(局部互联网),智能卡协议和IrDA(红外数据组织)SIR ENDEC规范,以及调制解调器(CTS/RTS)操作。它还允许多处理器通信。还可以使用DMA方式,实现高速数据通信。 USART通过3个引脚与其他设备连接在一起,任何USART双向通信至少需要2个引脚:接受数据输入(RX)和发送数据输出(TX)。 RX: 接受数据串行输入。通过过采样技术来区
[单片机]
STM32 printf问题
STM32 printf问题 怎么老是出现idenfier FILE is Undefined ,问题出在哪啊?望指教,谢谢! 我程序代码配置如下: #include stm32f10x.h #include stm32_eval.h #include stdio.h #ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker- Libraries- Small printf set to 'Yes') calls __io_putchar() */ #define PUTCHAR_PROTOTYPE int __io
[单片机]
stm32标准库dma初始化详解
STM32的DMA有三种类型的传输 1.M-M(内存到内存) 2.M-P(内存到外设) 3.P-M(外设到内存) STM32的标准库函数提供了一个STM32的初始化结构体如下; typedef struct { uint32_t DMA_PeripheralBaseAddr;//外设地址 uint32_t DMA_MemoryBaseAddr; //内存地址 uint32_t DMA_DIR; //传输方向 uint32_t DMA_BufferSize; //传输的数据多少 uint32_t DMA_PeripheralInc; //外设地址是否递增 uint32_t DMA
[单片机]
STM32的按键部分
什么是上拉电阻?按键的上拉电阻为什么是10k欧姆? 答:上拉电阻就是将一个不确定的信号,通过一个电阻和电源VCC相连,固定在高电平。 作用: 1)增加输出引脚的驱动能力(其实就是增加当前导线的电流); 2)防止引脚悬空,否则会产生积累电荷(静电),影响电路稳定性; 3)特别是按键的时候,引脚电平不定的时候,给它一个确定的电平。 至于为什么是10k?因为电阻越小,功耗越大,电阻越大,芯片引脚识别不了,10k的话是大多数智能设备芯片所能识别到的,这是个折中的方案。 二、库函数 st公司为了编程方便,为coder们,封装了一套库函数,并给出了官方模板。自行百度,网上有很多这种资源,stm32f4xx_ds
[单片机]
stm32学习笔记——独立看门狗
独立看门狗知识点: 关键字寄存器IWDG_KR: a、写入0xCCCC,开始启用独立看门狗;此时计数器开始从其复位值0xFFF递减计数。当计数器计数到末尾0x000时,会产生一个复位信号(IWDG_RESET); b、写入0xAAAA(无论何时), IWDG_RLR中的值就会被重新加载到计数器中从而避免产生看门狗复位; c、写入0x5555,取消寄存器IWDG_PR和IWDG_RLR的保护功能
[单片机]
STM32固件解密步骤
方法1:代码解密 FLASH_OBProgramInitTypeDef OBInit; __HAL_FLASH_PREFETCH_BUFFER_DISABLE(); HAL_FLASHEx_OBGetConfig(&OBInit); if(OBInit.RDPLevel != OB_RDP_LEVEL_0) { OBInit.OptionType = OPTIONBYTE_RDP; OBInit.RDPLevel = OB_RDP_LEVEL_0; (void)HAL_FLASH_Unlock(); (void)HAL_FLASH_OB_Unlock(); (void)HAL_FLASHEx_OBProgram(&OBInit
[单片机]
STM32 串口DMA发送
一般情况下串口发送数据的完全不需要用到DMA,只有在处理器非常繁忙的时候,使用的DMA帮忙发送的就可以减轻处理器的负担。 下面就讲讲怎么使用DMA发送串口数据。还是基于我自己的标准工程。 1、工程的修改 1)这里要用到DMA,必须使用到库文件stm32f10x_dma.c,所以将是stm32f10x_dma.c文件添加到STM32F10x_StdPeriod_Driver工程组中。 2)打开stm32f10x_conf.h文件,将原先屏蔽的: #include stm32f10x_dma.h 语句的屏蔽去掉。 3)新建DMATx.c与DMATx.h两个文件分别保存到BSP文件夹下的src与inc两个文件中。并将DMATx.
[单片机]