历史上的今天

今天是:2024年08月22日(星期四)

正在发生

2018年08月22日 | STM32 ISP烧录过程

发布者:angelbaby 来源: eefocus关键字:STM32  ISP  烧录过程 手机看文章 扫描二维码
随时随地手机看文章



STM32在芯片生产过程中内嵌了一段引导程序,其作用就是通过串口将程序下载到Flash中,为以后的软件更新提供了极大的便利,用户不需要利用仿真口进行下载程序,从而极大的提高了工作效率。

STM32复位之后,如果检测到Boot1引脚为低电平,boot0引脚为高电平,芯片就执行内部固话的ISP引导程序,接收来自上位机的命令和数据。整个烧录过程如下图所示:

 

ISP的过程:

1.芯片复位

在给STM32复位之前,首先要确定BOOT0,BOOT1引脚的状态.通过各种方式,先让BOOT0处于高电平状态,BOOT1处于低电平状态,然后在RST脚上产生一个负脉冲,STM32就能进入ISP状态.注意,复位之后,一定要延时一定的时间,让ISP程序稳定,才能发送指令和数据.

2.芯片连接

 复位后,ISP程序已经处于接受连接的状态,电脑软件串口设置成1200~115200波特率,偶校验,8位数据位,1位停止位,然后发送一个0x7f,等待STM32回复。STM32的ISP程序利用这个0x7f来测试波特率,如果收到了0X79,表示连接成功了,可以进入下一步操作;否则,必须检测BOOT0,BOOT1引脚,并重新复位STM32.

dbyte(0) = &H7F
    Call SendBinData(dbyte, 1, 1)        '等待接收79
    Lab.Caption = "连接芯片成功........" + vbCrLf

 ReDim dbyte(1)
    dbyte(0) = &H0
    dbyte(1) = &HFF
    Call SendBinData(dbyte, 2, 15)       '等待接收79
    For i = 0 To 14
        str = str & Right("00" & Hex(Recvbuff(i)), 2) & " "
    Next
    Textmsg1.Text = str
    Lab.Caption = Lab.Caption + "读取芯片版本成功........" + vbCrLf + "当前版本号为:" + Mid(str, 7, 2) + vbCrLf

 3.读取ID版本号

发送0x020xFD.命令发送之后,需要等待STM32 ISP程序回复,如果接收到0x79,读取成功。

dbyte(0) = &H2
    dbyte(1) = &HFD
    Call SendBinData(dbyte, 2, 5)       '等待接收79
    For i = 0 To 4
        str = str & Right("00" & Hex(Recvbuff(i)), 2) & " "
    Next
    Textmsg2.Text = str
    Lab.Caption = Lab.Caption + "读取寄存器成功........" + vbCrLf + "当前寄存器版本号为:" + Mid(str, 7, 5) + vbCrLf
  

 4.擦除芯片

 发送一个双字节命令0x44+0xBB,让芯片执行擦除动作,等待回复0x79,然后再发送0xFFFF+0x00命令,让芯片招待全片擦除.如果接收到0x79,表明全片擦成功了!


 5.烧录程序

 全片擦除之后,就可以开始烧录程序了.首先发送双字节指令0x31+0xCE回复0x79,则继续用多字节命令(5个字节)发送一个32位的地址,此地址就是等待写入数据的地址,注意4个字节对齐.收到回复0x79之后,就可以发送N个字节数据了(注意N最大为256).重复以下过程,直到把所有代码发送出去

 6.读锁定

 烧录完毕之后,为了防止程序被读出,可以设置读保护.发送双字节命令0x82,~0x82,先行回复0x79,再等待一次0x79,回复成功之后,表明芯片已经被读保护了.


关键字:STM32  ISP  烧录过程 引用地址:STM32 ISP烧录过程

上一篇:51单片机复位电路详解
下一篇:STM32 内核复位 与 系统复位 区别及程序实现

推荐阅读

集微网消息,近日VLSI Research的报告显示,真空泵、压力表和真空阀一起,构成了半导体OEM厂商(即晶圆代工厂)物料清单的最大支出部分。2017年,全球半导体行业总计消耗了价值近25亿美元的真空配件系统,其中一半以上由欧洲供应商提供。据统计,真空配件的销售额占半导体制造设备(光学配件除外)中所有关键配件的三分之一。半导体行业中真空工艺强度的...
日前,保护壳网站销售网站Mobile Fu今上架了一款来自Olixar的iPhone 11保护壳,从保护壳上可以发现有专门为Apple Pencil设计的口袋。这表面苹果可能会为 iPhone 11带来Apple Pencil,而尺寸更小。目前还没有任何证据显示,苹果会为2019款iPhone带来Apple Pencil,只是传言称 Apple Pencil将支持iPhone,但一直没有可靠的消息来源确认。之前天风国...
01 时代的呼唤新基建让工业互联网、大数据中心、人工智能等近几年耳熟能详的概念再次火热起来。这些名词也意味着中国工业有着新的需求,渴望新变革。回想一下,机器的出现,简单来说是想要解放生产力:不少东西,采用人手工制作太慢了,况且,人需要休息,而机器可以24小时不停歇。那么,问题来了,机器怎样可以在可控范围内自动运转?这个问题有两个关键...
谷歌于 8 月 17 日在海外发布了 Pixel 5a 5G 手机。这款产品定位入门级别,搭载高通骁龙 765G 处理器,配备 6.34 英寸 FHD+ OLED 屏幕,售价 449 美元(约 2909.52 元人民币)。  根据外媒 GSMArena 消息,谷歌随着这款手机的发布,还推出了使用自家 Google Fi 移动网络的合约计划。用户只需要每月付费 9 美元起,持续...

史海拾趣

问答坊 | AI 解惑

一位用激情经营人生的本土IC创业者(上)

微软前中国总裁唐骏曾经说过:“人的职业生涯是需要经营的,它和经营一个企业并无二致。”。这话用在天津英诺华微电子技术有限公司总经理褚以人身上再贴切不过。从一名核物理专业的大学生,到如今投身半导体产业的IC设计师,他在不断地经营中把自己 ...…

查看全部问答∨

谁用过LCD近进来帮我一下吧!

我现在需要做个电话机!可以显示大头贴的!需要用块彩色的LCD,不知道市场上卖的带驱动的那种LCD是不是可以直接接到ARM处理器的IO口上?一般黑白的LCD也是可以的吧!主要的部分是在软件的编程吧!…

查看全部问答∨

精巧实用的震感报警器

精巧实用的震感报警器…

查看全部问答∨

usbavrjtag cp210x_driver

本帖最后由 paulhyde 于 2014-9-15 08:57 编辑 usbavrjtag cp210x_driver  …

查看全部问答∨

2009年全国大学生电子设计竞赛G题低频功率放大器题解分享

本帖最后由 paulhyde 于 2014-9-15 04:15 编辑 2009年全国大学生电子设计竞赛G题是一个设计功率放大器的题,主要考核学生模拟电子技术的基础技能,要求是一定要用场效应晶体管做末级放大,且电路增益要求很大,如5mV的输入要达到5W(8欧负载)的输 ...…

查看全部问答∨

微波简史

  微波的发展是与无线通信的发展是分不开的。1901年马克尼使用800KHz中波信号进行了从英国到北美纽芬兰的世界上第一次横跨大西洋的无线电波的通信试验,开创了人类无线通信的新纪元。无线通信初期,人们使用长波及中波来通信。20世纪20年代初人们 ...…

查看全部问答∨

请教大家电路板电源模块旁并联的电容问题

有个问题一直比较疑惑,就是看到很多电路板上的电源模块的电源输入端和输出端都会分别并联一个电解电容外,有的还并联一个或几个没极性的的电容,如独石电容,我想问一下大家,一般这个电解电容的耐压值和大小根据什么选的,或者说,和模块的输入输 ...…

查看全部问答∨

WINCE 能实现每秒5000次中断吗?有没有高手做过,请赐教。

Wince5.0 硬件每秒钟5000个脉冲触发X86CUP的7号中断,Wince能完全捕获到每一个中断吗,保证不丢,请做过的兄弟姐妹帮帮忙,提提思路,或者给 一段代码,不胜感激…

查看全部问答∨

求助:usrRoot已经执行完,看不到蓝屏的boot界面?

跟踪代码发现usrRoot已经执行完,却始终没有跳转到boot的蓝屏界面,谁能指点一下为什么?谢谢! 我是在workbench下,VxWorks6.6…

查看全部问答∨

内存泄露!!

各位大侠,这是我写的打开位图程序,现在发现有严重的内存泄露问题,拜托大家帮忙找找原因?? 是不是应该自己先建块内存,最后再把这块内存删掉??可是具体怎么实现呢?? switch(flag0) { case 1: { pathsave1=app->dao1+_T(".bmp ...…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved