STM32 烧录方式 -- 第三方小工具 CoFlash

CoFlash 是一款针对 Cortex-M 系列微控制器的 Flash 烧录工具。

  • 免费:该软件无需付费即可使用。
  • 支持芯片:支持大多数常见的 Cortex-M 系列微处理器,如ST、NXP、TI 等等。
  • 支持格式:支持.bin 和 .elf 文件烧录。
  • 保存配置:自动保存用户的最后一次配置,下次使用时无需重新设置。
  • 多种功能:具备编程、擦除、校验及检查选定扇区是否为空等功能。
  • 支持调试器:支持ST-Link、CMSIS-DAP、 Nu-Link 等仿真器;暂不支持J-Link。

使用场景:

  • 工程文件交付客户:只需交付编译后的 bin、elf 文件,不用交付源代码工程。
  • CubeIDE、VSCode等软件编译后,使用CoFlash进行烧录,又快又稳。

与串口烧录的区别:

  • CoFlash烧录:使用ST-Link、DAP等仿真器;SWD接线法:3.3V、GND、SWDIO、SWCLK;
  • 串口烧录:使用USB转TTL,UART1接线:PA9、PA10; BOOT0接3.3V,BOOT1接GND。

   

一、软件下载 CoFlash

        

        下面所附版本,由热心用户推荐。如有侵权,请通知删除。

        CSDN下载链接 :CoFlash (不需要积分)


   

二、生成elf、bin文件

        

        CubeIDE 点击编译按钮,编译后 0 Errors,  将自动生成 elf 格式的烧录文件。

        如果想使用bin文件格式,需要在CubeIDE配置中打勾才会生成,过程不述,自行百度。

        如果是VSCode等软件,建议生成bin文件。


三、接线方法

1、使用STLink等仿真器时,如下接线:

2、使用板载的CMSIS DAP烧录器,插上USB线到板上的CMSIS DAP接口即可, 如下图: 


   

四、CoFlash 设置

  

1、Config 页面配置

  • 打开ST选项组,找到对应的芯片型号,点击选择即可。
  • 注意:是在ST这组里选芯片型号。不是在上面ARM那组里选M3、M4,经常有人选错。

Adapter仿真器,CMSIS-DAP (用什么仿真器,就选对应的)
Max Clock烧录速度; 越大越快,1MHz最适中;
Port接口模式:SWD
Reset复位方式,SYSRESETREQ,  即软件复位;

      

2、 Command 页面配置

  • 选择要烧录的: elf 文件、bin文件; 
  • 点击 Program,即开始烧录,状态栏有烧录的进度条;
  • 注意:如果选择了 Auto Erase选项,在点击后,要稍等几秒等待擦除完成 ;
  • 如果上一步的Reset方式选择:软复位,那么在烧录后就会自动复位运行!             


STM32三种启动模式对应的存储介质均是芯片内置的,它们是: 1)用户闪存 = 芯片内置的Flash。 2)系统存储器 = 芯片内部一块特定的区域,芯片出厂时在这个区域预置了一段Bootloader,就是通常说的ISP程序。这个区 域的内容在芯片出厂后没有人能够修改或擦除,即它是一个ROM区。 3)SRAM = 芯片内置的RAM区,就是内存啦。            在每个STM32的芯片上都有两个管脚BOOT0和BOOT1,这两个管脚在芯片复位时的电平状态决定了芯片复位后从哪个区域开始执行程序,见下表: BOOT1=x   BOOT0=0   从用户闪存启动,这是正常的工作模式。 BOOT1=0   BOOT0=1   从系统存储器启动,这种模式启动的程序功能由厂家设置。 BOOT1=1   BOOT0=1   从内置SRAM启动,这种模式可以用于调试。         在系统复位后, SYSCLK的第4个上升沿, BOOT引脚的值将被锁存。用户可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。         在从待机模式退出时, BOOT引脚的值将被被重新锁存;因此,在待机模式下BOOT引脚应保持为需要的启动配置。在启动延迟之后, CPU从地址0x0000 0000获取堆栈顶的地址,并从启动存储器的0x0000 0004指示的地址开始执行代码。        因为固定的存储器映像,代码区始终从地址0x0000 0000开始(通过ICode和DCode总线访问),而数据区(SRAM)始终从地址0x2000 0000开始(通过系统总线访问)。 Cortex-M3的CPU始终从ICode总线获取复位向量,即启动仅适合于从代码区开始(典型地从Flash启动)。 STM32F10xxx微控制器实现了一个特殊的机制,系统可以不仅仅从Flash存储器或系统存储器启动,还可以从内置SRAM启动。         根据选定的启动模式,主闪存存储器、系统存储器或SRAM可以按照以下方式访问: ● 从主闪存存储器启动:主闪存存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(0x0800 0000)访问它,即闪存存储器的内容可以在两个地址区域访问, 0x0000 0000 或 0x0800 0000。 ● 从系统存储器启动:系统存储器被映射到启动空间(0x0000 0000),但仍然能够在它原有的地址(互联型产品原有地址为0x1FFF B000,其它产品原有地址为0x1FFF F000)访问它。(可用于串口下载) ● 从内置SRAM启动:只能在0x2000 0000开始的地址区访问SRAM。 注意: 当从内置SRAM启动,在应用程序的初始化代码中,必须使用NVIC的异常表和偏移寄存器,从新映射向量表之SRAM中。 ————————————————
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值