1)   首先是IAP BootLoader程序设置:根据common.h里面的宏定义,设置BootLoader所占用的Flash空间。

2)   设置IAP UserApp程序设置:该型号Flash总大小为0x80000(512K字节),从上面得知UserApp的起始地址为0x8003000,即偏移量为0X3000(12K字节),所以, UserAPP可用FLASH空间(Size) =  0X80000 - 0X3000=0X7D000(500K字节)大小了。设置好Start和Szie,就完成UserAPP程序的起始地址设置。

3)   中断向量表的偏移量设置

在系统启动时,首先调用SystemInit()初始化系统时钟,同时SystemInit()还完成了中断向量表的设置。所以UserApp程序开头要加上一句:

NVIC_SetVectorTable(NVIC_VectTab_FLASH, 0x3000);

 

4)   *bin文件生成

在MDK点击Options for TargetUser选项卡,在Run User Programs After Build/Rebuild 栏,勾选Run#1,并写入:D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe  --bin -o  .\ Objects\IAP.bin .\ Objects\IAP.axf,如图所示:

根据当前工程的IAP.axf(名称根据工程名自行修改,这个文件生成在Objects目录里,名为xxx.axf),生成一个IAP.bin的文件。并存放在axf文件相同的目录下,即工程的Objects文件夹里面。在得到.bin文件之后,我们只需要将这个bin文件传送给单片机,即可执行IAP升级。

IAP笔记的更多相关文章

  1. STM32串口IAP实验笔记

    STM32的IAP功能确实方便,以前对此如何实现有所了解,但是一直没去测试,这两天来练了下,可谓困难重重,搞了两天问题也一一解决,下面做些简要的笔记 IAP就是在线应用编程,方便程序升级,可以不用打开 ...

  2. linux内核编程笔记【原创】

    以下为本人学习笔记,如有转载请注明出处,谢谢 DEFINE_MUTEX(buzzer_mutex); mutex_lock(&buzzer_mutex); mutex_unlock(& ...

  3. In-App-Purcharse 官方原文摘要笔记

    这并不是一篇关于 In-App-Purcharse 的专业深入分析文章,只是在初次浏览有关IAP官方文档后记录的一些需要注意的地方,就像是课堂笔记. 因为这是原版.并且涉及到支付的内容,所以就不翻译, ...

  4. ST官方翻译的中文应用笔记汇总

    ST官方翻译的中文应用笔记汇总 http://www.51hei.com/stm32/3382.html 官方中文AN:AN3116:STM32? 的 ADC 模式及其应用AN1015:用于提高微控制 ...

  5. STM32串口IAP分享

    什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通 ...

  6. 什么是IAP?如何实现IAP?

    发布时间:2008-09-01 来源:computer00   分享到:   IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User F ...

  7. NXP LPC系列学习笔记汇总(持续更新中)

    1. LPC11E68循环冗余校验CRC学习笔记 文章主要介绍了如何使用LPC11E68的CRC外设功能,并介绍了与CRC引擎相关的寄存器,然后以生成CRC-CCITT多项式校验为例进行了介绍. 2. ...

  8. 【转】关于IAP与APP互相跳转的实现

    关于IAP与APP互相跳转的实现 首先,在您动手做这个实验之前,先要弄清除咱俩的软硬件有什么不同: 1. 我的CPU是STM32F103ZET6,里面有512K的FLASH,您的CPU如果是其它类型, ...

  9. IAP技术原理

    目录 IAP技术原理 更新记录 IAP与ISP的概念及原理 ISP简介 ISP原理 IAP简介 IAP原理 IAP优势 IAP的设计 1.程序启动流程 2.中断向量表的重定位 3.IAP跳转APP函数 ...

随机推荐

  1. Suse LAMP setup

    This page will describe the steps you have to take to install LAMP, which stands for Linux Apache Ma ...

  2. IIS 7 启用 gzip 静态压缩 压缩js和css文件

    搞了很久,不如nginx好弄,不知道怎么修改压缩比,也不知道怎么压缩的规则是啥(管理器上没有写),不过反正出来了,一个js文件900多K变成了100多K 1.在web.config文件里面加上: &l ...

  3. js笔记 标签: javascript 2016-08-01 13:30 75人阅读 评论(0) 收藏

    typeof可以用来检测给定变量的数据类型,typeof是一个操作符而不是函数,所以圆括号可以省略. Undefined类型只有一个值,即特殊的undefined.在使用var声明变量但未对其加以初始 ...

  4. Android Studio使用GIt提交代码到本地仓库后没有Push,如何回退保存

    当在AS中使用Git来提交代码时,有时候我们不注意的情况下会把不想提交的文件或文件夹(比如\build下的)提交到本地仓库,如果此时并没有Push到远程仓库的话.如果让本地仓库的提交回退并且保存之前的 ...

  5. 【转载】CodeIgniter与PHP5.6的兼容问题

    错误提示: A PHP Error was encountered Severity: Notice Message: Only variable references should be retur ...

  6. sort给文件按照大小排序

    ls -l|sort -n -k5 -n 表示以数值排序-k5 表示以第几列排序还可以用 -t参数指定行内容的分隔符 参考链接:http://www.cnblogs.com/myd620/p/6002 ...

  7. 通俗易懂的来讲讲DOM——科普性质的DOM入门教程

    DOM这个东西很重要,不过初学的时候很容易蒙,什么Document.Element.Node用官方语言来解释根本就不是人话,只能在实践中硬着头皮一点一点尝试.今天要推荐的是一篇关于DOM的博客.说是教 ...

  8. Yii中的relations方法

    以Blog示例: 重点看注释 User类中的relations方法如下 <span style="font-size:18px;background-color: rgb(255, 2 ...

  9. UVa 11582 - Colossal Fibonacci Numbers!(数论)

    链接: https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  10. 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)

    1.外部配置加载顺序 SpringBoot也可以从以下位置加载配置: 优先级从高到低 高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置  1.命令行参数 所有的配置都可以在命令行上进行指定 ...