烧录教程
刻录也叫烧录,就是把数据通过刻录机等工具刻制到光盘,烧录卡(GBA)等介质中,即大家说的下载。目前大家手中没有J-link和ST-link等其他仿真器,只能用串口烧录的仿真软件FlyMcu。
提前在A盘(资料盘)解压后,找到它
因为他是利用串口烧录的,就要下载串口的驱动。
1.串口驱动安装
驱动同样在A盘(资料盘),路径如下:
点击setup。
接着我们在STM32上USB_TTL处插入USB线,并连接上电脑,如果之前没有安装过CH340的驱动(如果安装过,则应该在设备管理器看到USB串口,
如果不能则先卸载之前的驱动,卸载完后重启电脑,再重新安装),则电脑会提示找到新硬件。
不用理会这个提示,直接点击A盘文件夹下的CH340驱动,并安装(此时要保持USB一直连接),
在驱动安装提示完成时,拔掉USB线,重新插入电脑,此时电脑就会自动给其安装驱动,在安装完成后,可以在电脑的设备管理器找到USB串口(找不到的话就电脑重启一下)
2.Flymcu
直接打开即可,配置如下
说明:①编程后执行,在下载完程序之后自动运行代码,无须再按下复位键;
②编程前重装文件,当选中该项后,flymcu会在每次编程之前将Hex文件重新装载一遍,这对于代码调试的时候比较有用。
③选择DTR的低电平复位,RST高电平进Bootloader,这样就可以通过DTR和RST信号来控制一键下载功能电路,以实现一键下载功能。
(BOOT0接GND的条件下)
在装载了hex文件之后,我们要下载代码还需要选择串口,这里flymcu有串口搜索功能,每次打开flymcu软件,软件会自动去搜索当前电脑上可用的串口,然后选中一个作为默认的串口,也可以搜索串口。串口波特率在bps设置,对于STM32常见的波特率是115200和9600.
程序hex文件(hex文件格式是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式有很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex)首先在Keil里进行编译,之后在我们用CUBEMX生成的工程文件里找到,如我这里的路径可以找到
点击hex文件后开始编程。
最后再提到工程文件里边的东西:
后面会专门说明,上图已经很详细了。
除此之外,J-link和ST-link是我们常用的仿真器,后面我会写有关教程,实现在线调试,很方便。
关键字:STM32 Flymcu 烧录
引用地址:
STM32利用Flymcu进行烧录
推荐阅读最新更新时间:2024-11-06 10:49
stm32——串口配置一般步骤
1、串口时钟使能,GPIO时钟使能: RCC_APB2PeriphClockCmd() 2、串口复位 USART_DeInit(); ——非必需 3、GPIO端口模式设置 GPIO_Init(); ——模式设置为GPIO_Mode_AF_PP 4、串口参数初始化 USART_Init(); 5、开启中断并初始化NVIC(当开启中断的时候才需要这个步骤) NVIC_Init(); USART_ITConfig(); 6、使能串口 USART_Cmd(); 7、编写中断处理函数 USARTx_IRQHandler(); 8、串口数据收发 void USART_SendDa
[单片机]
STM32-(20):I2C通信(实验:读写EEPROM)
硬件电路连接 底板上的 I2C 接口 A0、A1是用来确定器件的地址的。 排针上的引脚图: 核心板上的引脚图: 通过I2C总线实现对EEPROM的读写操作的准备工作: 1、掌握芯片(目标对象)特性,才能对其正确的读和写。 2、掌握 I2C 通信,读写过程需要用到。 3、Cortex的一些操作,编程方法。 实验内容:通过I2C总线实现对EEPROM的读写操作 main.c #include stm32f10x_lib.h #include IIC.h /*------------函数的声明---------------*/ void Delay_MS(u16 dly); void RCC_Configurati
[单片机]
STM32 FSMC 总结
背景 做DP开发过程中,需要将DP芯片和ARM芯片进行通信,一般有两种方式: 1)IO端口(总线)方式来进行通信; 2)FSMC-存储器映射方式来进行通信; 之前的开发是采用第一种方式在F103芯片上开发,现在换F4平台,采用第二种方式来进行交互数据。 FSMC的基础 FSMC功能是类似 51 单片机的存储器映射功能,能管理多个外部不同种类的存储设备,具有方便,简单,快捷的优点。 目前支持的类型有: SRAM 、 ROM 、 PSRAM 、 NOR Flash 和NANDFlash 存储器 。 更多的关于FSMC的资料需要阅读STM32 手册对于FSMC的详细介绍。 VPC3+C + ARM +
[单片机]
stm32电机控制之控制两路直流电机
小车使用的电机是12v供电的直流电机,带编码器反馈,这样就可以采用闭环速度控制,这里电机使用PWM驱动,速度控制框图如下: 由以上框图可知,STM32通过定时器模块输出PWM波来控制两个直流电机的转动,通过改变PWM占空比的大小可以改变电机的转速,由于我们的控制目标是实现电机运行在速度范围内任意给定的速度,这里就需要采用闭环控制的思想,通过编码器获取电机的实时转速,通过与给定速度做差,将偏差作为PID控制器的输入,通过PID控制改变PWM占空比的大小,从而使电机的速度运行在给定的速度上。 这里使用的电机驱动芯片为TB6612,该芯片可以十分方便的驱动两个直流电机的运行,其驱动逻辑表如下: AIN1,A
[单片机]
STM32单片机,禁止系统启动时的变量初始化
使用这个功能是在IAP在线升级时需要用的。 最初使用在EEPROM或者FLASH存储一个标志位。程序跳转到BootLoader,BootLoader来判断是否需要升级。这样是可以用的,但是这样有个弊端:如果升级中出现问题,或者其他原因,导致主程序无法正常运行,看门狗咬死程序,程序复位。这样子的话,程序会一直在 引导--引导程序检测到不需要IAP--跳转到应用程序--看门狗咬死--复位--引导,进入死循环,程序判断不了应用程序已经坏掉。只能去现场来进行调试设备。 使用,禁止系统启动时的变量初始化。在BootLoader与应用程序,都在同一个地址定义相同的变量,在非断电初始化的时候,此变量是不会复位的。在BootLoade
[单片机]
STM32之旅3——时钟树
STM32F1是M3内核,它的时钟数很庞大,让一个初学者去看,估计会很吃力,和我们入门的8051单片机的时钟不同,这里又倍频、又分频,而且还分成好多个时钟,不同的外设时钟不一样。 总感觉不都明了,后来在STM32CubeMX中看到了时钟配置,这个看起来就明了多了
[单片机]
STM32 HAL库学习系列第7篇---定时器TIM 输入捕获功能
基本方法 1.设置TIM2 CH1为输入捕获功能; 2.设置上升沿捕获; 3.使能TIM2 CH1捕获功能; 4.捕获到上升沿后,存入capture_buf ,改为捕获下降沿; 5.捕获到下降沿后,存入capture_buf ,改为捕获上升沿; 6.捕获到上升沿后,存入capture_buf ,关闭TIM2 CH1捕获功能; 7.计算:capture_buf - capture_buf 就是周期,capture_buf - capture_buf 就是高电平所占时间。 时钟配置: 引脚看是否需要上拉 做项目中的一个例子: /** * 函数功能: TIM_IC配置 * 输入参数:
[单片机]
STM32低功耗Demo
本例展示了如何使用NVIC固件函数库来来展示Cortex-M3低功耗性能(WFE和WFI)。 本例使用了3条外部中断线路,线路3--KEY2,线路4--KEY3和线路13--JOY,在每一个信号下降研做为中断发生源或者事件源(event),其中外部中断线路3和13被设置为中断而线路4被设置成事件。用户需要在main程序开头的5个定义(define)语句中选择定义一个来决定进入那种低功耗模式。 这些选择为: - Wait For Interrupt (WFI) Sleep On Exit:先按JOY,再加任一中断,即可进入SLEEP =》无法唤醒 只有key2可进入中断 选择“#define
[单片机]