一个STM32的IAP程序,测试可以用

注意使用的是keil5.11a

自己根据开发指南写的一个IAP程序。在mini板上成功跑一个app。因为RB是128K的flash,所以将rom分割为 27K 1K 100K。其中27K 用来存储IAP。1K 用来存储一些信息,目前暂未使用到。100K就是app用的啦。
    IAP程序的大致流程是这样的,上电后,在5s内(实际测试发现大于5s,暂时不管这个误差),轮询串口是否发送:updata;(update这个可以随意,保证:;中间有6个字母就好)。如果超时没有收到:update;那么程序跳转到app,如果没有app,或者app出错,红灯常亮。如果收到:update;那么进入烧写程序。这时候,串口转为中断方式接收数据。
    
    烧录形式是这样的。按照1K,1K大小烧录,需要对bin文件进行分割。开辟了一个串口缓存,大小为1K+8。发送格式是这样子的,

data_len_L  data_len_H  data(no more than 1K)   index_L index_H CRC

index_L index_H CRC(4B)这六位暂时没用到,填充00,data_len为要写入数据长度,最大不会超过1K。

目前IAP编译后才7K,还可以加入更多功能,预计加入STM32的CRC。app的bin文件需要自己分割,可以使用winHex,然后使用XCOM V2.0来发送,,我准备写个上位机用来传输bin,这样就不用自己分割bin了。

另外,app的做法,请参考开发指南。

  没发现博客园可以上传附件,源码可以到开源电子网下载http://www.openedv.com/posts/list/38799.htm

时间: 2024-10-26 02:57:12

一个STM32的IAP程序,测试可以用的相关文章

Selenium也是一个用于Web应用程序测试的工具

Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla Suite等.这个工具的主要功能包括:测试与浏览器的兼容性--测试你的应用程序看是否能够很好得工作在不同浏览器和操作系统之上.测试系统功能--创建衰退测试检验软件功能和用户需求.支持自动录制动作和自动生成.Net.Java.Perl等不同语言的测试脚本.Selenium 是ThoughtWorks专门为Web

【Asp.net入门14】第一个ASP.NET 应用程序-测试动态代码

要测试Summary.aspx文件,启动应用程序并使用Default.aspx页面向存储库中添加数据.记住,在本示例中,应用程序不会永久存储数据,因此,每次启动应用程序时都需要重新输入数据.提交几次窗体后,导航到/Summary.aspx URL,你将看到如图1-12所示的输出.

自己动手搭建 Redis 环境,并建立一个 .NET HelloWorld 程序测试(转)

关于 Redis ,下面来自百度百科: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorted set --有序集合)和hashs(哈希类型).这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的.在此基础上,redis支持各种不同方式的排序.与memcached一样,为了保证效率,数据都是缓存在内存

关于STM32的IAP与APP互相跳转

关于STM32的IAP与APP互相跳转 之前做了一个不带系统的IAP与APP互相跳转,在网上找了资料后,很顺畅就完成了,后来在IAR集成开发环境下,IAP无系统,APP用UCOS系统做互相跳转出现了很多问题.现将IAP学习过程和实际遇到问题总结一下. 首先说一下什么是IAP.IAP(In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更

IAP 程序内购

最近用到IAP内置购买,阅读官方文档,在网上找了些资料,在这里作下整理,以便日后查找和修改,主要流程方向确定,文档和相关转载内容截图不一一指出,google一堆. 1.查找官方文档,两张目录截图,对主要流程大致了解:                               官方文档: https://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introd

STM32串口IAP分享

什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 在重新编程过程中可以使用任意类型的通信协议,如UART.I2S.SPI等.这篇笔记分享的是使用UART方式IAP. 串口IAP实验 先理一理流程(本实验是以STM32F103ZET6为例): 1.实验说明 做这个实验需要准备两个keil工程,一个工程用

如何成为一个牛逼的程序猿

这个题目的噱头太大,要真的写起来, 足够写一本书了. 本人是过来人, 结合自身的体会和大家交流一下,希望新人能少走弯路. 每个人的情况不一样,我下面的描述可能并不适合每一个看到这篇文章的人. 一.C/C++语言 如果你的基础很差, 建议不要一开始就学C++语言,从C开始学起,对程序有个初步的认识,循序渐进.C语言的书嘛,先买一本 300 页以内的,把书中的每一个例子都通过键盘敲打进去到 Visual studio里面去,然后单步执行,逐行调试去看各个变量的值.或者自行添加一些printf语句去输

Mahout学习之Mahout简介、安装、配置、入门程序测试

一.Mahout简介 查了Mahout的中文意思--驭象的人,再看看Mahout的logo,好吧,想和小黄象happy地玩耍,得顺便陪陪这位驭象人耍耍了... 附logo: (就是他,骑在象头上的那个Mahout) 步入正文啦: Mahout 是一个很强大的数据挖掘工具,是一个分布式机器学习算法的集合,包括:被称为Taste的分布式协同过滤的实现.分类.聚类等.Mahout最大的优点就是基于hadoop实现,把很多以前运行于单机上的算法,转化为了MapReduce模式,这样大大提升了算法可处理的

十大免费移动程序测试框架(Android/iOS)

十大免费移动程序测试框架(Android/iOS) 概述:本文将介绍10款免费移动程序测试框架,帮助开发人员简化测试流程,一起来看看吧. Bug是移动开发者最头痛的一大问题.不同于Web应用程序开发,你可以时刻发现并修复Bug,而移动应用程序中的Bug隐藏得很深,直到用户使用时才发现问题.这样一来,不仅有损产品在市场上的名声,而且还会影响销售.所以在产品发布以前,开发人员需要严格测试程序.本文将介绍10款免费移动程序测试框架,帮助开发人员简化测试流程,一起来看看吧. Appium for iOS