amoBBS 阿莫电子论坛

 找回密码
 注册
搜索
bottom↓
楼主: skype

他妈的ST32 IAP 功能, 要让所有的人都可以轻松搞定

  [复制链接]
发表于 2013-9-4 16:00:42 | 显示全部楼层
我的也刚做好,之前模拟U盘,加了文件系统,程序20多K。

FLASH_PAGE_SIZE 这个值可以通过读芯片的容量来判断。
 楼主| 发表于 2013-9-4 17:09:38 | 显示全部楼层
这个要看你怎么分配了, IAP你用多少pege, e2prom要用多少page,最后才是app page大小了!
发表于 2013-9-4 17:44:47 | 显示全部楼层
楼主的上位机软件怎么打不开,我的是win7系统,打开缺少MSVCRTD.DLL,还缺少个什么?为什么?
 楼主| 发表于 2013-9-4 17:46:56 | 显示全部楼层
那你下个VC6试试吧
发表于 2013-9-4 17:50:36 | 显示全部楼层
tianyuanqike 发表于 2013-9-4 17:44
楼主的上位机软件怎么打不开,我的是win7系统,打开缺少MSVCRTD.DLL,还缺少个什么?为什么? ...

已解决,下载提示的所有.DLL文件,感谢楼主,这么热心,连上位机也开源。
 楼主| 发表于 2013-9-4 17:59:12 | 显示全部楼层
上位机的精华都在 USART_DispatchMessage(); 这函数里,相信这个架构任何人都可以完成适合自己的IAP功能!
发表于 2013-9-4 18:57:49 | 显示全部楼层
MARK一下。
发表于 2013-9-4 19:36:40 来自手机 | 显示全部楼层
学习学习
发表于 2013-9-4 20:05:46 来自手机 | 显示全部楼层
标记一下
发表于 2013-9-7 15:49:32 | 显示全部楼层
没试成功,波特率这么高行吗?读器件也没成功。。。不知道是哪的问题。上位机没有提示错误,读器件也只是显示时间,没别的显示
 楼主| 发表于 2013-9-7 16:23:31 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2013-9-7 18:22:52 | 显示全部楼层
很强大的IAP,手上产品还不敢用啊,先记录。
发表于 2013-9-7 20:10:06 | 显示全部楼层
楼主大公无私,佩服佩服
发表于 2013-9-7 21:39:22 | 显示全部楼层
收藏了,谢谢分享
发表于 2013-9-8 05:55:12 来自手机 | 显示全部楼层
谢谢分享
发表于 2013-9-8 16:16:36 | 显示全部楼层
楼主好强
发表于 2013-9-8 21:50:58 | 显示全部楼层
谢谢分享了
发表于 2013-9-8 22:42:36 | 显示全部楼层
做个记号。
发表于 2013-9-8 22:54:19 | 显示全部楼层
IAP 支持~
发表于 2013-9-9 08:36:52 | 显示全部楼层
skype 发表于 2013-9-7 16:23

第二个断点收到的数据。好像全是“0”.波特率这么高没问题吧,以前没有试过这么高的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2013-9-9 08:49:46 | 显示全部楼层
1. 如果你担心,可以降波特率为115200
2. 请使用串口监控工具看看上位机到底发送了什么数据?


串口监控工具:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2013-9-9 10:51:03 | 显示全部楼层
STM32   IAP   
发表于 2013-9-9 11:30:57 | 显示全部楼层
越来越强大了。
发表于 2013-9-9 12:37:42 来自手机 | 显示全部楼层
mark...........mark

^0^
发表于 2013-9-10 01:02:30 | 显示全部楼层
skype 发表于 2013-9-1 21:12
来个IAP升级演示视频:

感谢lz共享!正在看这个。
请教下,不用PC和系统usart下载代码,直接用usb或SD卡(里面有新代码.bin)插上系统板的方式,是否可行?谢谢!
发表于 2013-9-10 02:32:23 | 显示全部楼层
mark,谢谢!
发表于 2013-9-10 07:33:51 | 显示全部楼层
MARK
 楼主| 发表于 2013-9-10 08:20:59 | 显示全部楼层
youpeng 发表于 2013-9-10 01:02
感谢lz共享!正在看这个。
请教下,不用PC和系统usart下载代码,直接用usb或SD卡(里面有新代码.bin)插 ...

可行,正在搞这个,用的是PC+SPI FLASH,我的方案是通过PC的USB把BIN文件拷贝到SPI flash中,开机后在IAP代码中检索升级文件(如:Updata.bin),如果找到此文件后就开始更新APP。

第一步是实际 usb功能:


第二步是在SPI FLASH中检索udpdat.bin


第三步是整合,目前还没有时间做.

但我想以上方案是可行的!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2013-9-10 08:26:16 | 显示全部楼层
谢谢分享,学习了
发表于 2013-9-10 08:27:55 | 显示全部楼层
skype 发表于 2013-8-28 15:44
上源码!

好东西,mark
 楼主| 发表于 2013-9-10 08:30:53 | 显示全部楼层
串口IAP已本帖已有源码,带文件系统的IAP还没有整合出来,有时间整合Ok了再与大家分享!
发表于 2013-9-10 11:36:26 | 显示全部楼层
支持~~~
发表于 2013-9-10 14:03:34 | 显示全部楼层
收藏了,谢谢分享!之前一直用STM32本身自带的Bootloader。
发表于 2013-9-10 16:16:12 | 显示全部楼层
之前在其它地方看了一些资料,没怎么明白
通过你这个,应该说是完全明白怎么弄了,谢谢!
发表于 2013-9-10 16:25:06 | 显示全部楼层
不错,备用,顺便赚莫元
发表于 2013-9-10 17:13:29 | 显示全部楼层
最近刚研究了ST官方的IAP. 看了LZ的资料,也学习一些小技巧。顶!
发表于 2013-9-11 09:27:42 | 显示全部楼层
学习学习
发表于 2013-9-11 10:49:12 | 显示全部楼层
前段时间做了个CAN远程升级的bootload
IAP本身很简单,更多的还是通信协议及更新细节方面的考虑
发表于 2013-9-13 10:29:03 | 显示全部楼层
MARK 谢谢!正要使用!~~~
发表于 2013-9-13 10:40:43 | 显示全部楼层
MARK 谢谢
发表于 2013-9-13 17:06:48 | 显示全部楼层
楼主你好,我现在用LPC1768做IAP,参照您的方法,在生成bin文件的时候遇到了问题,我修改APP程序的起始地址后,生成的不了bin文件,而是生成了一个.bin的文件夹。 如果不修改APP程序的起始地址,就能正常生成bin文件。您知道我这个问题是怎么回事吗?
发表于 2013-9-13 21:10:57 | 显示全部楼层
请问下 怎样建立一个工程,目录里包括IAP和APP 程序, 可以单独编译生成HEX文件,也可以一次生成2段程序的配置文件。 多谢。
 楼主| 发表于 2013-9-13 21:47:40 | 显示全部楼层
chaofan100 发表于 2013-9-13 21:10
请问下 怎样建立一个工程,目录里包括IAP和APP 程序, 可以单独编译生成HEX文件,也可以一次生成2段程序的 ...



是这样的吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2013-9-22 20:05:17 | 显示全部楼层
好东西啊,写得很简单易懂,学习了!
发表于 2013-9-22 21:58:36 | 显示全部楼层
win7  vs2010 上位机程序收发不正常
 楼主| 发表于 2013-9-22 22:01:07 | 显示全部楼层
whatcanitbe 发表于 2013-9-22 21:58
win7  vs2010 上位机程序收发不正常

这两个都没有用过
发表于 2013-9-23 00:08:13 | 显示全部楼层
查了一下,OnPcomm接收没有起作用,不知什么原因。

用win7+vs2010弄成功的小伙伴发个言。
发表于 2013-9-23 10:17:43 | 显示全部楼层
收藏学习,谢谢
发表于 2013-9-23 10:18:08 | 显示全部楼层
这个过段时间应该会用到,标记一下
发表于 2013-9-23 10:40:07 | 显示全部楼层
mark一下
发表于 2013-9-23 10:48:45 | 显示全部楼层
skype 发表于 2013-9-13 21:47
是这样的吗?

马克,一直没想到这样搞
发表于 2013-9-24 09:03:57 | 显示全部楼层
厉害~~~~~学习~~~~~~~~~~····
发表于 2013-9-24 13:11:47 | 显示全部楼层
这个可以有,要是有个USB口的模板,就更好了,另外有点不明白,那个通信协议的260字节,是自己定义的么??
发表于 2013-9-24 13:14:35 | 显示全部楼层
很厉害的样子
发表于 2013-9-24 14:00:18 | 显示全部楼层
好帖,向楼主学习
发表于 2013-9-24 20:40:05 | 显示全部楼层
啊原来IAP就是这么回事,楼主good job
 楼主| 发表于 2013-9-24 22:46:20 | 显示全部楼层
dudududu 发表于 2013-9-24 13:11
这个可以有,要是有个USB口的模板,就更好了,另外有点不明白,那个通信协议的260字节,是自己定义的么?? ...

协议自己定,数据长度256到1024都可以!无非是数据头+数据帧+校验+结束符之类!
发表于 2013-9-25 13:36:32 | 显示全部楼层
不错,学习了
发表于 2013-9-29 13:32:22 | 显示全部楼层
mark ing
发表于 2013-9-29 13:50:40 | 显示全部楼层
不错的帖子收藏了
发表于 2013-9-29 13:53:00 | 显示全部楼层
stm32 IAP mark一下
发表于 2013-9-29 18:16:56 | 显示全部楼层
skynet 发表于 2013-8-28 16:45
请问这个和官方的那个  串口下载程序有什么区别嘛??

是啊,官方不是有做好了的吗/
发表于 2013-9-29 18:19:17 | 显示全部楼层
有空看看楼主的,想楼主学习~
发表于 2013-9-30 09:31:08 | 显示全部楼层
不错很好!!!学习一下!!!
发表于 2013-9-30 09:37:06 | 显示全部楼层
不错很好!!!学习一下!!!
发表于 2013-9-30 11:33:08 | 显示全部楼层
不错   顶一下
发表于 2013-9-30 14:29:45 | 显示全部楼层
mark,正好要用到这方面知识,学习下
发表于 2013-10-7 01:08:28 | 显示全部楼层
不错,最近也在搞
发表于 2013-10-10 14:30:44 | 显示全部楼层
标记下,IAP
发表于 2013-10-15 15:58:09 | 显示全部楼层
计算芯片容量的那里计算出来时错的
 楼主| 发表于 2013-10-15 16:36:23 | 显示全部楼层
太阳花 发表于 2013-10-15 15:58
计算芯片容量的那里计算出来时错的

where?   
发表于 2013-10-15 20:40:15 | 显示全部楼层
skype 发表于 2013-10-15 16:36
where?

我用的stm32f103vb  128k的flash    用这个软件读取显示的是 0x80000000 -0x8000ffff      
发表于 2013-10-15 22:40:12 | 显示全部楼层
看起来是好简单啊。
 楼主| 发表于 2013-10-15 23:13:25 | 显示全部楼层
sokou 发表于 2013-10-15 22:40
看起来是好简单啊。

呵呵,本来就是很简单!
发表于 2013-10-16 08:56:05 | 显示全部楼层
过段时间会用到,MARK一下
发表于 2013-10-16 10:14:37 | 显示全部楼层
试下看看......
发表于 2013-10-16 13:13:15 | 显示全部楼层
想请问下楼主一个问题:
就是ApplicationAddress(0x08003000)的内容 与这个值按位相与0x2FFE0000  来作为是否下载程序的依据是什么  ,看了半天不是太明白?


谢谢!
发表于 2013-10-21 15:17:13 | 显示全部楼层
好东西,一目了然啊,支持
发表于 2013-10-30 17:22:38 | 显示全部楼层
Mark Mark Mark
发表于 2013-10-30 17:54:57 来自手机 | 显示全部楼层
这个写的好
发表于 2013-10-30 20:53:50 | 显示全部楼层
mark,路孤傲。。。
发表于 2013-10-30 21:27:53 | 显示全部楼层
标记。。好资料
发表于 2013-10-30 21:30:33 | 显示全部楼层
这个得支持下啥
发表于 2013-10-30 22:12:56 | 显示全部楼层
收下了,谢LZ.
发表于 2013-11-24 16:44:38 | 显示全部楼层
skype 发表于 2013-8-29 12:20
增加DOS控制台代码,可以把内存中的BIN文件打印出来,也可以打印数据流,方便连机调试:
...


谢谢楼主

我看楼主的编程方法跟http://www.amobbs.com/forum.php? ... 2&highlight=iap的好像不太一样额,还请楼主解释下

还有楼主第一步设置时钟,那个地方systeminit好像不用动啊
发表于 2013-11-24 17:11:44 | 显示全部楼层
路过,帮顶
发表于 2013-11-24 17:48:59 | 显示全部楼层
好东西,谢谢楼主分享
发表于 2013-11-24 21:24:18 | 显示全部楼层
MARK!!!!!!!!!!!!
发表于 2013-11-24 21:43:58 来自手机 | 显示全部楼层
学习学习.
发表于 2013-11-24 21:49:02 | 显示全部楼层
真好在学习
发表于 2013-11-24 23:19:29 | 显示全部楼层
感谢楼主分享  不错的帖子
发表于 2013-11-24 23:39:49 | 显示全部楼层
支持,有做USB接口的吗
发表于 2013-11-25 10:15:04 来自手机 | 显示全部楼层
不错,学习了
发表于 2013-11-25 10:30:24 | 显示全部楼层
很好值得去应用
发表于 2013-11-25 15:26:43 | 显示全部楼层
谢谢分享,留个记号!
发表于 2013-11-25 20:54:25 来自手机 | 显示全部楼层
mark,,,.........
发表于 2013-11-25 21:32:45 | 显示全部楼层
好东西,多谢楼主,原理懂了,以后可以搞一个自己的协议,再完善一下用用,产品升级就不需要再邮回来了了
 楼主| 发表于 2013-11-26 00:18:29 | 显示全部楼层
mahengyu 发表于 2013-11-24 16:44
谢谢楼主

我看楼主的编程方法跟http://www.amobbs.com/forum.php?mod=viewthread&tid=5514402&highlight ...

真的没有看懂那个贴子
发表于 2013-11-26 08:26:35 | 显示全部楼层
好,学以致用
发表于 2013-11-26 08:51:14 | 显示全部楼层
项目需要   
看资料 自己弄了也弄了一个
可以全部用串口工具(聂小猛那个sscom)(485通信的)  通过键盘先敲bin文件的校验码 和文件长度到bootloader   
接着直接发送文件
  bootloader开启了2个1KB的缓存做DMA乒乓存储
缓存A存满中断则切换到缓存B接收  同时擦除对应的Flash将缓存A中的数据写入到Flash  同时将每一个写入的16位数据做和累加(简单校验数据)
当B接收满的时候 开启A 存储B  ...........依此.........
根据下面给bootloader的长度配置文件  最后依此接收的长度也可以计算出来

写完之后再将flash中的数据  挨个读出来做和校验  一定3者匹配正确才跳转运行
现在经常发30~40K的app程序进去
在App程序里面    通过485有个命令 清除一个flash中的标志
  bootloader启动的时候 会检测  被清除了标志  则等待升级   否则跳转运行App


总的感觉  麻烦的地方在于  跳转之前关闭所有中断的问题   还有升级之前App中要保存一些运行数据  不能丢失
友情提示:标题不合格、重复发帖,将会被封锁ID。详情请参考:论坛通告:封锁ID、获得注册邀请码、恢复被封ID、投诉必读
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|阿莫电子论坛(原ourAVR/ourDEV) ( 公安备案:44190002001997(交互式论坛) 工信部备案:粤ICP备09047143号 )

GMT+8, 2019-10-23 09:31

阿莫电子论坛, 原"中国电子开发网"

© 2004-2018 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表