1、准备好USB传串口连接线(有能力的可以用PL2303芯片自己做); 2、准备好程序,编程软件编译后会生成1个后缀为HEX的文件,找到这个文件; 3、更改STM32的BOOT,开发板上配有短接帽,按照STM32的用户手册进行短接; 4、连接好串口传输线,默认用STM32的串口1,开发板上会引出接线脚的(没有的话查用户手册自己接出来),打开串口调试助手,注意com口和波特率和电脑接口一致,找到第二步的hex文件,直接下载即可; 5、下载完后记得改回BOOT,否则程序无法正常运行!
使用stm32写IAP的bootloader和APP Bootloader里面主要是 1、设置bootloader和app的空间 2、接收编译好的app的bin文件,写入flash 3、实现跳转 App里面主要修改的地方是 1、 ROM起始地址和分配的空间大小 2、 重定向中断向量 3、 生成bin文件
一、焊接好下载好后
二、连接ST-LINK V2
ST-LINK V2 STM32
33V 3V3
SWDIO SWIO
SWCLK SWCLK
GND GND
三、下载好keil5 MDK 版
计算机的,下载的软件应该很简单吧
四、安装驱动
先下载驱动
插上你的调试器,下载好打开下图这个,一直next就好,然后打开设备管理器
五、打开一个现成的工程
出现什么乱七八糟的先不要理他,后面我们慢慢调
六、配置
点击小魔术棒,找到debug,先找flash downlode
也可以去官网下载。
下载好后
file------------>import-------------------->找到刚刚下载的东西
一直next就好,前提你得安装好MDK版的keil5
Flash文件夹下就会多了很多东西
重新打开keil5,小魔术棒找到debug,进入setting,再选择debug,跟着选择这几个,点确定和OK,之后,如果出现,这是因为目标板的芯片处于休眠的状态,按复位键(板子上的小红色按键),再重新编译和下载就好,这样就是成功了的,现在可以看到板子一闪一闪的了。
STM32Cube 是一个全面的软件平台,包括了ST产品的每个系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS, USB, FatFs, TCP/IP, Graphics, 等等)
直观的STM32微控制器的选择和时钟树配置
微控制器图形化配置外围设备和中间件的功能模式和初始化参数
C代码生成项目覆盖STM32微控制器的初始化符合IAR™,Keil的™和GCC编译器。
对于新的产品设计,我们强烈推荐使用STM32Cube来加速你的开发过程,并为以后的产品平台移植打下良好的基础。
1新建工程
打开STM32cubeMX软件,点击New Project。选择对应开板MCU(STM32F103ZET6)。
选择工程后进入工程界面,如下图所示。
2 配置外设。
RCC设置,选择HSE(外部高速时钟)为Crystal/Ceramic Resonator(晶振/陶瓷谐振器)
GPIO口功能选择,PF6,PF7,PF8,PF9为LED1-LED4找到对应管脚设置为GPIO_Output模式。(**引脚为该功能的GPIO已被用作其他功能,可以忽略。绿色表示管脚已使用)
3 时钟配置
时钟配置采用图形配置,直观简单。各个外设时钟一目了然。STM32最高时钟为72M,此处只有在HCLK处输入72,软件即可自动配置。(RCC选择外部高速时钟)。
4功能外设配置
在配置框我们可以看到有几个区域,分别对应的功能设置如下
Multimedia(多媒体):音频视频、LCD
Control(控制):定时器
Analog(模拟):DAC、ADC
Connectivity(通讯连接):串口、SPI 、I2C、USB、ETH
SYStem(系统):DMA(直接存储器存取)、GPIO、NVIC、RCC、看门狗
middlewares(中间件): FreeRTOS、FATFS、LwIP、USB
此工程中DMA没用的不用配置,NVIC(嵌套中断向量控制器(Nested Vectored Interrupt Controller))配置中断优先级。RCC不用配置。
GPIO Pin Level (管脚状态):低电平
GPIO mode (管脚模式 ):推挽输出
Maximum output speed (最大输出速度):低速
User Label (用户标签):LED1
更改用户标签,管脚配置图会显示管脚的标签。
4 功耗计算
这个根据配置的外设计算功耗,不用理会。
5 生成工程报告
点击Project –>Generate Reports或者点击快捷图标生成报告。系统会提示先创建一个工程项目。点击Yes设置工程。
输入工程名,选择工程路径(注意不要出现中文,否则可能出错)。工具链/IDE选择MDK-ARM V5。最后面可以设置堆栈大小,此处默认不作修改。
在Code Generator中找到Generated files框,勾选Generated periphera initialization as a pair of 'c/h' files per IP。外设初始化为独立的C文件和头文件。
点击生成报告,工程目录下会生成txt文件和pdf文件,里面记录了我们刚才的设置。
6 生成工程代码
点击Project –>Generate Code或者点击快捷图标生成工程代码。
点击Open Project打开工程。到此就配置好工程外设初始化。
点击Build按钮,Build Optput信息框会输出没有错误没有警告。
6 添加应用程序
在gpioc文件中可以看到LED管脚的初始化函数。
在stm32f1xx_hal_gpioh头文件中可以看到GPIO的 *** 作函数。
在main函数中的while循环中添加LED流水灯效果的应用程序。
重新编译程序,点击下载到Open103Z-C开发板。如果提示错误,可以点击图标对Option for Target 的Dubug选项进行修改。(图上选的是ST-LINK)
点击Settings->Flash Download勾选 Reset and Run选项。这样程序下载后自动启动运行,不用再按一下复位或者重新上电才能运行。
程序下载到Open103Z-C开发板。可以看到LED1~LED4依次被点亮,实现流水灯的效果。
总结:STM32Cube提供了固件库,用户可直接调用固件库函数来开发,并且可以很好的实现STM32-MCU全系列的代码一致性。同时STM32CubeMX工具提供的可视化引脚、外设、时钟等配置功能,可以帮助快速完成工程的建立、初始化。大大降低了开发者的工作量。
何使用JLINK向stm32烧写程序
1、 安装JLINK驱动程序 SEGGERV40版本,下载直接下载安装就可以了
2、 安装好以后打开如下:
3、点击进入,则出现如下:
4、此时,需要进行设置芯片的型号,如下所示: 点击OPTIONS,则在下图中点击:
5、然后进入界面,
6、点击CPU,则会出现:此时,我们在device里面选择好我们目标板上的芯片就可以了,然后点击确认。
7、我们现在将JLINK和目标板进行连接
8、此时我们就看到了MCU的型号已经是我们设置的了,表示目标板和仿真器已经连接好。
网上有JLINK向stm32烧写的程序,直接下载一个就行了。 关键看你的IDE是不是支持STM32,如果不支持,可以安装最新的IAR EWARM442。或者请安装了442的朋友把那几个补丁copy给你,放在IAR对应的目录下即可支持STM32。
以上就是关于如何通过串口烧写STM32程序全部的内容,包括:如何通过串口烧写STM32程序、如何使用STM32F4的BootLoader和APP程序、STM32F103C8T6核心板 如何上载程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)