STM32 10个工程篇:1.IAP远程升级(三)

这篇具有很好参考价值的文章主要介绍了STM32 10个工程篇:1.IAP远程升级(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

       本想着周六去更新IAP远程升级(三),但是周三单位突然通知团建周六去爬水长城,晚上回来已经精疲力竭,打开电脑不由地点开网易云音乐听着听着感觉很乏,去床上躺了会可一觉醒来已经夜里三点,于是调整一下周日晚上开始撰写这篇博客,言简意赅不想赘述过多,不论写什么样的技术博客笔者还是追求能用最通俗易懂的话把复杂绕脑的概念和逻辑整理清楚还原给读者。

       IAP远程升级的前两篇博客详细介绍了IAP升级的背景知识和工作原理,那么这篇博客直接开门见山即如何去实现IAP升级了,在这篇博客笔者会带大家一步步地用ST推出的STM32CubeMX,通过图形化界面的方式配置下豌豆开发板的stm32f103rct6初始化设置,在这里我们只用到了单片机的一个串口,采用了DMA+空闲中断的方式接收来自PC端上位机发送的报文。

      如图1所示是stm32f103rct6的内部时钟树设置猛地看上去确实非常复杂,其实本质就是把外部的8Mhz时钟通过内部PLL锁相环倍频为72Mhz的系统时钟,当然这里存在一些概念如HSE(高速外部时钟)来源为外部晶振速度8MhzPLLCLK(锁相环时钟)来源为HSIHSE经过倍频所得HCLKAHB高速总线时钟):来源由系统时钟分频得到,速度最高为72MCFGR中的HPRE控制;PCLK1APB1低总线时钟):来源为HCLK分频得到,速度最高为36M APB1总线上的外设提供时钟由RCC_CFGR时钟配置寄存器的PPRE1位控制;PCLK2APB2高总线时钟):来源为HCLK分频得到,速度最高为72M,为APB2总线上的外设提供时钟由RCC_CFGR时钟配置寄存器的PPRE2位控制。

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件

1 stm32f103rct6的内部时钟树

      如图2所示是豌豆开发板stm32f103rct6的硬件原理图,如图3所示是STM32CubeMX下配置stm32f103rct6的晶振时钟和UART1引脚,这里我们做好硬件上的引脚匹配即可,当然STM32CubeMX也非常人性化地给出了选择,用户在图形化界面配置时也能看到每个引脚所支持的不同定义。

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件2 豌豆开发板stm32f103rct6的晶振时钟和串口1电路图

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件

3 STM32CubeMX配置stm32f103rct6的晶振时钟和UART1引脚

       如图4所示我们在STM32CubeMX下配置stm32f103rct6的调试方式是JTAG(5 pins),需要注意的是这里需要勾选否则生成的代码不支持JLINK或者STLINK下载器在线仿真调试。

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件

4 STM32CubeMX配置stm32f103rct6的调试方式

        如图5所示STM32CubeMX下对UART1的系统配置,这里主要配置了三个关键点即:1. 串口波特率和位宽大小;2. 串口DMA通道;3. 串口的引脚定义。

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件

5 STM32CubeMX配置stm32f103rct6UART1

      如图6所示是STM32CubeMX配置stm32f103rct6的初始化工程HAL库版本,在这里我们选择MDK-ARM V5版本即KEIL所支持的版本,选择最新的HAL库版本,直接单击GENERATE CODE即可生成初始化代码,如图7所示是STM32CubeMX下生成的stm32f103rct6初始化工程。

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件

6 STM32CubeMX配置stm32f103rct6的初始化工程HAL库版本

stm32远程升级,STM32 10个工程,stm32,单片机,嵌入式硬件7 STM32CubeMX下生成的stm32f103rct6初始化工程文章来源地址https://www.toymoban.com/news/detail-641771.html

到了这里,关于STM32 10个工程篇:1.IAP远程升级(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于STM32单片机BOOTLOADER通过串口升级程序IAP——APP方案

                            此方法前提是你得有一个EEPROM         我用的单片机是STM32F103ZET6 , 此单片机FLASH容量为512KB; 在此单片机里面FLASH的起始地址是0X8000000,BOOT作为引导加载程序一般都是从这个地址开始,单片机一上点默认会从这个地址开始运行,所以将自己

    2024年02月04日
    浏览(63)
  • STM32单片机IAP介绍

    1、什么是IAP? 首先区分下两个概念:ISP和IAP:         ISP:In System Programming (在系统中编程),通过芯片专用的串行编程接口对其内部的程序存储器进行擦写。         IAP:In Application Programming( 在应用中编程),通过调用特定的bootloader程序,对程序存储器的指定段

    2024年02月16日
    浏览(43)
  • STM32F407串口IAP远程升级程序

    相关代码和工程文件链接:https://pan.baidu.com/s/1wN4THWJwqzjjIe7e2TENBA?pwd=o86o 提取码:o86o         STM32代码烧录主要有三种:ICP、ISP、IAP。         ICP(In Circuit Programing),在电路编程,通过JTAG或者SWD接口进行程序的烧录,就是平时利用ST-Link或者J-Link烧录程序;       

    2024年02月10日
    浏览(117)
  • 2-远程升级篇(自建物联网平台)-STM32通过EC800使用http或https下载程序文件升级程序(APP通过MQTT控制单片机更新)

    1,用户在APP上点击 \\\"固件升级\\\" 按钮, APP使用MQTT发送:  {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\"} //询问设备固件信息 2,设备通过MQTT收到该消息以后,发送 {\\\"data\\\":\\\"updata\\\",\\\"cmd\\\":\\\"DeviceInfo\\\",\\\"DeviceModel\\\":\\\"STM32EC800BKAPP\\\",\\\"FirmwareVersion\\\":\\\"0.0.0\\\"} (STM32EC800BKAPP是设备的型号;  0.0.0是设备当前的固件版本) 3,APP收到

    2024年04月16日
    浏览(161)
  • stm32毕设分享 单片机远程wifi红外无接触体温测量系统 - 物联网 stm32

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(71)
  • 单片机毕设 stm32 wifi远程温控风扇系统

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(60)
  • stm32毕设分享 stm32单片机的远程WIFI密码锁 - 物联网 嵌入式

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月20日
    浏览(60)
  • STM32/GD32 BootLoader升级 IAP升级

    如果我们的App 程序起始地址在0x08006000 ,并且App 的中断向量表在起始地址,那么BootLoader 程序下载App 后,为了App 程序能正确运行,开始App 程序的运行后第一步,就要把中断向量表重定位到0x08006000 那里。 我们的BootLoader下载App程序后,App程序就需要做同样的事情。主要有三个

    2024年02月11日
    浏览(60)
  • 单片机项目分享 单片机(stm32)远程智能宠物喂养系统 - 物联网 esp8266

    🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕设题目缺少创新和亮点,往往达不到毕业答辩的要求,这两年不断有学弟学妹告诉学长自己做的项目系统达不到老师的要求。 为了大家能够顺利以及最少的精力通过毕设,学长分享优质毕业设计项目,今天

    2024年02月19日
    浏览(67)
  • STM32实战之IAP代码升级

    目录 1 IAP介绍   2 内存分区 3 整体设计流程图 4 Boot Loader的代码编写 5 APP1代码编写 6 APP2代码编写 stm32内部flash操作相关函数 IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通

    2024年02月01日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包