alienguy

alienguy

0个粉丝

10

问答

0

专栏

13

资料

alienguy  发布于  2013-12-01 23:07:18
采纳率 0%
10个问答
2922

如何实现在不打开机箱的情况下ISP下载STM32的程序?

 
        我们都知道只STM32设置好BOOT0和BOOT1就可以从不通的地址启动,其中BOOT1=0,BOOT0=1的时候从系统存储区启动,进入ISP。
        但是这个一定要打开机箱,插拔BOOT0和BOOT1上的条线帽才能实现。
        有没有办法不用插拔条线帽实现这个功能呢?
我来回答
回答1个
时间排序
认可量排序

tick_tock

0个粉丝

8

问答

0

专栏

19

资料

tick_tock 2013-12-01 23:09:06
认可0

STM32芯片自带固化的ISP程序,在芯片上电的时候会检查BOOT0 BOOT1电平状态,如果
BOOT0=1
BOOT1=0
则会进入自带的ISP程序,基本可以满足程序升级需要。
但是如何进入这个模式,是一个问题,网上有人使用串口的握手信号来控制,但是这样会超过3条线(RX TX GND)。
昨天测试了一个方法,上位机发出一个指令,STM32用户自己的程序解析后,利用自己的IO口,控制一个简单的延时电路来拉高BOOT0,然后芯片重新启动,则进入ISP。刷新完成后,跳入用户程序运行,控制权交回用户程序。
程序中设置PB8为 ISP_DRV ,推挽输出;输出一定时间后,充满电容后,可以使用NVIC_SystemReset() 重新启动(3.12库)。即可进入ISP模式。
另外,需要在程序中设置如下向量表地址,才可以在勾选ISP程序的 jump to user application after flash后,进入用户程序。
/* Set the Vector Table base location at 0x08000000 */
  NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x0);

或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区