/*********************************************************************************
* STM32 IAP docs
* 说明:
* STM32在线写入程序,目前没有去实践。
*
* 2017-12-29 深圳 南山平山村 曾剑锋
********************************************************************************/ 一、参考文档:
. STM32Cube in-application programming using the USART embedded software (AN4657)
http://www.st.com/zh/embedded-software/x-cube-iap-usart.html
. STM32 in-application programming (IAP) using the USART
www.st.com/resource/en/application_note/dm00161366.pdf
. STM32F10x in-application programming using the USART
www.st.com/resource/en/application_note/cd00161640.pdf
4. STM32 MCU IAP 例程跳转到 APP 代码简要分 析
http://stm32.eefocus.com/data/st/96/06/5f/1401869649649310.pdf 二、从Linux系统理解IAP:
. JTAG、JLink、ST-Link下载可以认为是使用内部ROM程序直接写入正片Flash程序;
. IAP写入程序,相当于多了一个U-Boot程序(BootLoader),负责对真正程序的写入;
. IAP本身具有一定功能,所以写入程序可以是I2C、UART、网络等等,只要能够完成数据通信,就能将程序写入,和U-Boot属于类似功能,不过受限于Flash的大小,IAP的程序空间不一定足够大,另外就是一般在嵌入式开发中只需要一种写入应用程序的方式就可以了,所以IAP不一定需要支持所有的接口方式写入;
. U-Boot主要功能是加载内核(也包括直接写入程序),IAP的主要功能是重新写入应用程序;
. IAP功能其实也论证了《STM32 Flash 永久用户数据空间》中的应用示例:
http://www.cnblogs.com/zengjfgit/p/8143762.html

STM32 IAP docs的更多相关文章

  1. stm32 IAP + APP ==>双剑合一

    (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级程序做了详细的分析http://blog.csdn.net/yx_l128125/article/details/12 ...

  2. STM32 IAP 固件升级设计/U盘升级固件

    源:STM32 IAP 固件升级设计/U盘升级固件 固件升级的基本思路是: 将stm32 的flash划分为两个区域: 1.Bootloader区:存放bootloader的代码,bootloader ...

  3. stm32 IAP + APP ==>双剑合一(转)

    源:http://blog.csdn.net/yx_l128125/article/details/13591743 (扩展-IAP主要用于产品出厂后应用程序的更新作用,上一篇博文详细的对IAP 升级 ...

  4. STM32 IAP 在线升级详解(转)

    源:http://blog.csdn.net/yx_l128125/article/details/12992773 (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP   ...

  5. 关于STM32 IAP

    转眼间天亮了...... 然后就想起了一个朋友QQ的个性签名:年轻人总是要为一些自己认为有意义的事情而废寝忘食,通宵达旦,直至白发方休........ 对了这篇文章一定会介绍的很详细,请细嚼慢咽... ...

  6. STM32 IAP升级

    STM32 IAP在线升级,用Jlink设置读保护后前5K字节是默认加了写保护的,导致IAP升级时擦除和写入FLASH不成功,可以做两个boot,前5k为第一个boot程序,上电时负责跳转到APP还是 ...

  7. STM32+IAP方案 实现网络升级应用固件

    关注了这个概念有些日子了,这段时间总算有机会实战==网络升级应用固件,这里记录下遇到的问题,及解决方案. 原理与网上流传的串口作为传输手段 一致:不同之处,无非我这里使用了网络设备传输.==(lwip ...

  8. STM32 IAP程序 源码 和测试代码 有详细的中文注释

    http://bbs.21ic.com/forum.php?mod=viewthread&tid=588265&reltid=624002&pre_pos=2&ext= ...

  9. 【转载】STM32 IAP 在线升级详解

      (扩展-IAP主要用于产品出厂后应用程序的更新作用,考虑到出厂时要先烧写IAP  再烧写APP应用程序要烧写2次增加工人劳动力基础上写了“STM32 IAP+APP ==>双剑合一”链接稍后 ...

随机推荐

  1. shell 算术运算符

    算术运算符 下表列出了常用的算术运算符,假定变量 a 为 10,变量 b 为 20: 运算符 说明 举例 + 加法 `expr $a + $b` 结果为 30. - 减法 `expr $a - $b` ...

  2. testNG 学习笔记 Day 3 常用的断言

    TestNG中最常用的一个断言类是Assert.java,里面有多个静态方法,这个类我们习惯叫硬断言.对应的还有一个软断言的类,叫SoftAssert.java,这个类是需要创建实例对象,才能调用相关 ...

  3. Python day17 模块介绍1(time,random)

    module模块和包的介绍(略掉了) 常用模块 # time模块 import time print(time.time())#时间戳,在1970年开始到现在一共多少秒 print(time.gmti ...

  4. Spring boot实现监听Redis key失效事件实现和其它方式

    需求: 处理订单过期自动取消,比如下单30分钟未支付自动更改订单状态 用户绑定隐私号码当订单结束取消绑定等 解决方案1: 可以利用redis自带的key自动过期机制,下单时将订单id写入redis,过 ...

  5. rabbitmq 消息的状态转换

    tutorial:http://www.rabbitmq.com/tutorials/tutorial-two-java.html 这里解释接收消息端关于 acknowledge和prefetch的设 ...

  6. JavaScript--Array; Array.prototype

    Array: Javascritp中Array的方法: findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引.否则返回-1. find() 方法返回数组中满足提供的测试函数的第一个 ...

  7. python-day18--匿名函数

    一.lambda表达式 1.匿名函数的核心:一些简单的需要用函数去解决的问题,匿名函数的函数体只有一行 2.参数可以有多个,用逗号隔开 3.返回值和正常的函数一样可以是任意的数据类型 4.练习: 请把 ...

  8. pageContext对象

    pageContext对象是JSP中很重要的一个内置对象; 1.pageContext对象存取其他隐含对象属性的方法,此时需要指定范围的参数. getAttribute(String name):取得 ...

  9. 43. Multiply Strings 字符串表示的大数乘法

    Given two numbers represented as strings, return multiplication of the numbers as a string. Note: Th ...

  10. quartz---properties

    quartz---properties quartz.properties: 如果没有properties默认读取quartz-2.3.0.jar下的org.quartz下的quartz.proper ...