stm32 在线升级程序 bost IAP程序 + app程序

这篇具有很好参考价值的文章主要介绍了stm32 在线升级程序 bost IAP程序 + app程序。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

stm32 在线升级程序 bost IAP程序 + app程序

stm32程序在线升级

机器内 bootloader程序 启动默认程序 默认程序有 串口判断 是否收到 升级命令 收到升级命令后 接受串口发送过来的 更新程序 接受完成后 跳转到新程序位置开始执行

如何实现stm32运行sd卡里的程序?

https://www.zhihu.com/people/lian-zhu-50

首先arm单片机控制程序运行是通过PC指针完成的,PC指到哪里,程序就运行到哪里,当然,这里的“哪里”要求是在内存映射(详见STM32数据手册,内存映射部分)中的,不幸的是,SD的存储区域不在内存映射中。

所以你想从SD中读取程序,并运行,只能先把SD卡中的数据读到内存映射中包含的存储器中,比如ram,flash,fsmc控制的外部存储器等,然后再把PC指针指到程序对应的内存地址中。

具体选择哪种存储器,需要根据你的实际需求决定。可能你也需要使用一个文件系统来整理你的程序文件,这样即使你改变了SD卡中的文件,
你也能让你的单片机程序正确的找到SD卡中的程序文件,而没有文件系统的话,你的程序文件的绝对地址可能会发生改变,这样你的单片机程序就读不到程序文件了。

到此,你可能还不满足,如果你在SD卡中添加一个新的程序文件,可能你的单片机程序并不知道要不要运行这个文件(想想,要在windows中运行一个文件,你要双击它),
所以你需要告诉你的单片机,要运行哪个文件,这需要你有一个输入设备,最简单的就是串口,把你要运行的文件的文件名通过串口发送给单片机,

然后单片机从SD卡中找这个文件,如果找到了,就把它读到内部存储器中,然后运行它,当然,如果找不到,那就是你的问题了。

就是每次更改程序,不用jlink烧写进去,而是使用SD卡存放。

首先呢,SD里面的程序不能直接运行;所以需要STM32里面有一个加载程序,一般称之为loader;

loader检测到SD里面有程序或者程序更新了,就需要把SD里面的程序复制到STM32内部的,RAM或者flash里面;

RAM的话,每次上电都需要复制,flash的话,只有更新了STM32里面的程序才需要复制;复制完成后,从loader跳转到你的主程序(即你SD里面复制过来的程序);

这里面,还有很多细节问题需要注意,主要是链接地址和分配,跳转前后的准备和检查

简单方式:写个bootload上电读取sd卡放到ram或flash中,跳转执行。

复杂方式:自己做个任务调度系统,访问sd卡中任务文件,进行任务执行。

复杂方式包括单片机系统,编译器。用这个学习,我觉得是个好想法。

实际做项目有点不实用,因为单片机项目主要是每个项目的硬件不同,而不是只要修改软件应用就行的。文章来源地址https://www.toymoban.com/news/detail-684298.html

到了这里,关于stm32 在线升级程序 bost IAP程序 + app程序的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 【STM32】IAP升级01 bootloader实现以及APP配置(主要)

    通过之前的了解 之前的了解,我们知道实现IAP升级需要两个条件: 1.APP程序必须在 IAP 程序之后的某个偏移量为 x 的地址开始; 2.APP程序的中断向量表相应的移动,移动的偏移量为 x; 默认条件下的起始地址 默认的条件下,图中 IROM1 的起始地址(Start)一般为 0x08000000,大小

    2024年02月03日
    浏览(46)
  • STM32 IAP应用开发--bootloader升级程序

    原文链接:https://blog.csdn.net/ShenZhen_zixian/article/details/129424077 什么是IAP? IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。在应用编程(IAP)是用户的应用代码对片内Flash存储器进行擦除/编程的方法。这种方式的典型应用就

    2024年01月17日
    浏览(81)
  • 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)
  • 使用STM32F103的串口实现IAP程序升级功能

    🎬IAP程序烧录全过程演示: ✨这几天折腾IAP升级功能,狂补了很多相关BootLoader相关的知识。本来最想实现IAP升级程序的方式是,基于SPI通讯的SD卡,借助挂载的FatFS文件系统,来实现对目标stm32芯片的自身程序的升级,奈何没有实现,只能求其次,先来通过官方现有的串口实

    2024年02月10日
    浏览(60)
  • 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/GD32 BootLoader升级 IAP升级

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

    2024年02月11日
    浏览(60)
  • 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)
  • STM32F0实现IAP升级固件

    好几年前写过一篇关于 STM32 bootloader 升级固件的博客,但是使用的芯片是 STM32 F4 系列,升级固件的方式是在外部 flash 的 fat32 文件系统中存入固件文件,reset 后通过特定按键进入 IAP 程序。 最近需要在 STM32 上实现同样的 IAP 功能,但是方式不太一样,也发现一些芯片的差别,

    2024年02月14日
    浏览(45)
  • 在线升级:OTA升级的原理和实现方式

    目录 1、OTA 在线升级 2、实现方式 3、操作方式 3.1、后台式升级 3.2、非后台式式更新 4、STM32 的在线升级 4.1、划分 Flash 区域 4.2、实操1 - Flash空间地址的划分 4.3、实操2 - 设置工程 4.4、实操3 - 接收固件更新包 4.5、实操4 - 拷贝程序至Flash 4.6、实操5 - 跳转至 App 应用程序 4.7、特

    2024年02月01日
    浏览(49)
  • STM32 10个工程篇:1.IAP远程升级(四)

          在前三篇博客中主要介绍了 IAP 远程升级的应用背景、下位机的实现原理、以及基于 STM32CubeMX 对 STM32F103 串口 DMA 的基本配置,第四篇博客主要想介绍 Labview 端上位机和下位机端的报文定义和通信等。        当笔者工作上刚接触到 STM32 IAP 升级的时候,实事求是地说存

    2024年02月06日
    浏览(37)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包