2019-07-18 17:28发布
wang222221 发表于 2019-5-23 09:09 如果不介意的话,去淘宝买一个 J-Link v10 或 v9,这样更靠谱。
092937222 发表于 2019-5-23 09:29 关键是年前快递停了啊…
最多设置5个标签!
关键是年前快递停了啊…
这个就没办法了。理论上可以用 v8 低速硬烧,尝试一下?
用ISP烧写。http://www.stmicroelectronics.co ... /flasher-stm32.html
方法还是比较多的,百度搜索关键字“STM32 ISP”
先给你一篇看看
http://blog.csdn.net/Android_Linux_Unix/article/details/72953279
多参加ST社区和ST中文网的活动,换一块Nucleo或Nucleo-144的板都有ST-Link,对外的JTAG口都单排针引出来了。(Nucleo-64除外,这个受体积限制没有引出)ST的东西用ST-Link最合适。
当然有钱可以买正版Jlink,山寨的各种Link对于新手出点问题,你搞不定。
用户闪存: BOOT1=x BOOT0=0 芯片内置的Flash,即主存储器Flash
SRAM: BOOT1=1 BOOT0=1 芯片内置的SRAM 区,就是内存啦。
系统存储器:BOOT1=0 BOOT0=1 芯片内部一块特定的区域,叫做系统存储器。芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM 区。
在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表:
BOOT1=x BOOT0=0 从用户闪存启动,这是正常的工作模式。
BOOT1=0 BOOT0=1 从系统存储器启动,这种模式启动的程序功能由厂家设置。
BOOT1=1 BOOT0=1 从内置SRAM 启动,这种模式可以用于调试。
要注意的是,一般不使用内置SRAM 启动(BOOT1=1 BOOT0=1),因为SRAM 掉电后数据就丢失。多数情况下SRAM 只是在调试时使用,也可以做其他一些用途。如做故障的局部诊断,写一段小程序加载到SRAM 中诊断板上的其他电路,或用此方法读写板上的Flash 或EEPROM 等。还可以通过这种方法解除内部Flash 的读写保护,当然解除读写保护的同时Flash 的内容也被自动清除,以防止恶意的软件拷贝。
一般BOOT0 和BOOT1 跳线都跳到0(GND),即正常的从片内Flash运行,只是在ISP下载的情况下,需要设置BOOT0=1,BOOT1=0 ,下载完成后,把BOOT0 的跳线接回0,这样系统可以正常运行了。
对于一般的应用来说,直接把BOOT0 和BOOT1 引脚接地即可,不用设置跳线,使用IAR 调试程序时可以选择RAM 调试还是Flash 调试,与BOOT0 和BOOT1 的配置无关。
下载工具可以试用STM32CubeProg,下载地址:
http://www.st.com/content/st_com ... /stm32cubeprog.html
一周热门 更多>