首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
stm32怎么用swd刷写bootloader
2024-11-05
stm32最简单的实现BootLoader
BootLoader大家应该都知道是干什么的,简单的来说就是程序开始运行前的一段程序. 在成熟的产品中,通常都是采用BootLoader方式来升级产品的程序.也就是IAP升级.在了解完基本的实现原理后,可以做到用上位机升级(一般的产品大多采用这种方式,显得非常专业有专用的升级软件,其实背后原理就是BootLoader升级方式).当然还有一些联网在线升级也是如此. 网上有非常多的文件有介绍过stm32 BootLoader的实现.但是讲的可能比较深入难以理解,实现更是无从下手.今天这里注意介绍最简
【转】keil+stm32+jlink利用swd方式进行printf输出
出处:http://www.douban.com/note/248637026/ ----------------------------------------------------------------------------------------------- 作者:prife感谢:hexlog@gmail.com--------------------------------------------------------------------------------------
STM32 ~ JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这里只是总结记录一下,如果是STM32F4系列就不用: 1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) 2:GPIO_PinRemap
偶遇STM32 JTAG和SWD口(调试)被禁用无法下载,已经粗暴解决!
处女座,为了板子走线美观,拉线方便,在项目量产前,还更改了原来外设的IO口,埋头苦干一天,移植ok,发现PB3一直不听使唤,好,加班检查代码,检查初始化,时钟,IO对应,然后试PCB板,是否短路,断路等等等,试遍了,纹丝不动,拉不高也拉不低...这是为什么呢,百度一下,才发现,PB3是JTAG口之一,需要把IO重映射为普通IO口使用,于是看着大大神们的帖子,回答,代码中,加入了以下两句话: RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
STM32 JTAG接口SWD下载接线图
STM32三种BOOT模式介绍
一.三种BOOT模式介绍 所谓启动,一般来说就是指我们下好程序后,重启芯片时,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存.用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式. 如图所示,一般情况下如果我们想用用串口下载代码,则必须配置BOOT0为 1, BOOT1为 0,而如果想让 STM32 一按复位键就开始跑代码,则需要配置 BOOT0 为 0,BOOT1 随便设. 1,第一种启动方式是最常用的用户FLASH启动.默认启动方式. 2, 第二种启动方式是STM
使用st link v2向stm32下载和调试程序
st官网 正版ST-link/V2引脚定义和注意事项 分为ST-LINK/V2和ST-LINK/V2-ISOL两种型号 是STM8和STM32微控制器(MCU)系列的在线调试器和编程器(还是下载器.仿真器??). 使用 keil ST-LINK_V2使用说明 sw4stm32 sw4stm32开发stm32 STVP少些软件 如何用ST-LINK V2给stm32下载程序 连接 一头是usb与电脑上的开发软件连接? 一头是一些特殊引脚(定义好的,有几根线/引脚必须接),与开发板上的STM32通过
STM32启动BOOT0 BOOT1设置方法
原理图 启动方式 第一种启动方式是最常用的用户FLASH启动.默认启动方式 第二种启动方式是STM32内嵌的SRAM启动.该模式用于调试 第三种启动方式是系统存储器启动方式,不建议使用这种,速度比较慢.STM32中自带的BootLoader就是在这种启动方式中,如果出现程序硬件错误的话可以切换BOOT0/1到该模式下重新烧写Flash即可恢复正常
ch340是什么芯片
CH340 是一个USB 总线的转接芯片,实现USB 转串口.USB 转IrDA 红外或者USB 转打印口. 在串口方式下,CH340 提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB 总线.有关USB 转打印口的说明请参考手册(二)CH340DS2. 在红外方式下,CH340 外加红外收发器即可构成USB 红外线适配器,实现SIR 红外线通讯.特点: ● 全速USB 设备接口,兼容USB V2.0,外围元器件只需要晶体和电容.●
利用jink调试程序,时间不准的解决办法
前几天,做工程,遇到了利用jlink的SWD的模式调试程序,定时器延时不准的问题,上网搜了好多,终于找到了问题所在,感谢万能的网友.时间不对是因为Keil的设置问题. 以下是转自网友: 一.先说说仿真方式SWD与JTAG区别 (1) SWD 模式比 JTAG 在高速模式下面更加可靠. 在大数据量的情况下面 JTAG 下载程序会失败, 但是 SWD 发生的几率会小很多.基本使用 JTAG 仿真模式的情况下是可以直接使用 SWD 模式的, 只要你的仿真器支持. 所以推荐大家使用这个模式.
Keil和IAR——使用笔记
1. 几个宏的定义 Keil和IAR均用到以下三种宏定义,分别是:USE_STDPERIPH_DRIVER——表示使用ST提供的标准外设固件库:STM32F40_41xxx——作为芯片的判断:VECT_TAB_SRAM——中断向量表定位在CPU内部RAM: 2.批处理文件*.bat的使用CopyHex_Flash.bat内容为:copy Flash\Obj\output.hex ..\out(mdk).hex工程文件project.uvproj或者project.eww所在的路径是批处理文件中路
zubax_gnss移植到STM32F407
源码下载:https://github.com/Zubax/zubax_gnss.git 源码默认支持STM32F107芯片 STM32 HAL库测试:zubax_gnss\bootloader\zubax_chibios\chibios\testhal\STM32 STM32 ChibiOS/RT系统测试:zubax_gnss\bootloader\zubax_chibios\chibios\demos\STM32 拷贝STM32F407默认配置文件 这三个文件是ChibiOS/RT系统主要的
手把手教你把5V的Arduino改造成3.3V版本
Arduino Pro Mini是基于ATmega328的微控制板,支持5V/3.3V电压.但是我们比较容易买到的是5V供电的版本,有的时候需要用到3.3V版本(比如我们的软控DAC).怎样才能让这款板板支持3.3V电压呢. 思路 把5V的Arduino改造成3.3V版本,实际上就是提出了一个问题:5V的Arduino和3.3V版本有什么不同? 实际上AtMega328P可以支持很宽的电压范围.但是在不同工作电压下,可以跑到的最大主频是不同的. 在5V下可以跑到16MHz,而在3.3V下只能跑到
STM32 Bootloader基于ymodem传输协议串口IAP升级详解
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 2.3 Keil工程IAP的相关设置 2.3.1 修改Flash地址 2.3.2 使用自己的链接脚本 2.3.3 下载固件 3 Application 3.1 启动流程 3.2 IAP中的引导部分 3.3 关于 VTOR 3.4 Keil工程设置 3.4.1 Flash地址设置 3.4.2 hex2
STM32的JTAG、SWD和串口下载的问题
最近有一个项目用到STM32,为了使PCB布线方便一些所以改了一些引脚,占用了JTAG接口的PA15和PB3,所以要禁用一下JTAG,下载采用SWD模式.这样在实际操作中做出一些总结(方法网上都有.这里只是总结记录一下): 1:GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE); 改变指定管脚的映射 GPIO_Remap_SWJ_Disable SWJ 完全禁用(JTAG+SW-DP) 2:GPIO_PinRemapConfig(GPIO_Rem
Stm32 SWD 下载 调试配置
找到一篇比较好的 关于stm32 SWD模式 下载 调试 配置文章 整理如下: 我们比较常用的是Jlink下载器 ,这种下载器有一个缺点就是使用的Jtag 20PIN接口,太多的PIN会导致一些小型的PCB板很拥挤,也会增加布线的难度. 而使用SWD接口下载调试,只需要要使用4个PIN: GND, RST, SWDIO, SWDCLK ,而且下载速度可以达到10M/s,优势显而易见. 以下转自:http://www.openedv.com/posts/list/187
Stm32 Bootloader整理
Stm32 Bootloader整理 一. 基本概念 1.IAP IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB.USART)接
stm32 Bootloader设计(YModem协议) (转)
源:stm32 Bootloader设计(YModem协议) 相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootload设计.所以就仔细的去了研究了一翻.以前都是用的stm32官方的,没有去深入了解.这次做完了过后,发现官方的版本存在一些问题.比如说YModem传送过程中,完全没有对数据区进行效验,只是核对了下编号,就进行烧写.整个程序完全为阻塞式,浪费了大量的cpu做无用功.当然这在升级程序方面也用不了多少时间
STM32的SWD调试进不了main函数
玩了那么久STM32,还没有用SWD调试过程序(一直都是用printf调试程序),觉得有些落后了,于是开始搞起了SWD调试. 很快通过查阅资料,知道了keil里面的配置和ST-Link与STM32的连接方式,但是在调试时就是进不了main函数,具体的现象就是能够下载程序,但是进入调试后,进入的是如下页面: 一开始就是全速运行,而没有现象,而且是在某个地方死循环,就是进不了自己写的程序里. 查了好几个小时,一直都认为keil配置有问题. 最终,不晓得哪里来的灵感,将boot0和boot1都改成0,
stm32的swd接口的烧写协议是否公开的呢?
stm32的swd接口的烧写协议是否公开的呢? 需要用一台好的示波器来抓才能有足够的存储深度,保证你能够过滤掉那个该死的50clock. 按照Arm的手册,每次转换发送方都需要一个TNR---但是我观察JLINK的波形却没有那个该死的TNR. 手册中说异步SWD需要,同步不需要----或者相反,但是我没有找到关于同步异步的描述. 姑且不管他,反正目前忽略掉TNR就能够读到该死IDR. 另外JLINK的复位时序很奇怪,大致是 70clk High,0xe79e(注意,SWD是LSB First),
热门专题
ios 相同版本号 可以重新发布吗
sqlserver子查询all
navicat一直显示连接中
用foreach 把数组里的内容赋值给textbox
获取application.yml 参数的方法
centos添加分区Value out of range.
shell for 列表
香橙派vnc不是镜像
c# 线程跟线程池的区别
oracle 数据泵导出时如何除掉lob
python 方差膨胀因子 VIF
数据结构散列表算asl的题
server2016创建辅域
el-tree 只对父节点进行过滤
win 安装acme.sh
python解压带密码的zip文件
spring 集成 servlet
windows切换python版本
u盘文件被病毒隐藏怎么恢复正常
PL SQL Developer免安装