打印
[应用相关]

请问香水城,STM32是否支持通过USB口IAP?

[复制链接]
2973|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
myfaith|  楼主 | 2009-5-29 16:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
如题.
来自 2楼
香水城| | 2009-5-30 11:38 | 只看该作者

什么是IAP?如何实现IAP?

这个问题请看我的博客:
相关链接:http://blog.**/STM32/141390/message.aspx

使用特权

评论回复
板凳
香水城| | 2009-5-29 16:59 | 只看该作者

可以

使用特权

评论回复
地板
myfaith|  楼主 | 2009-5-29 17:21 | 只看该作者

谢谢,回答得真及时

myfaith 发表于 2009-5-29 16:57

香水城 发表于 2009-5-29 16:59 

使用特权

评论回复
5
highend| | 2009-5-30 03:42 | 只看该作者

楼主,显然不了解IAP=====意思是,只要程序A合适,就能P.


A虽然有些例子,仍在进一步处理.....

使用特权

评论回复
6
starm| | 2009-5-30 09:10 | 只看该作者

通过usb进行isp更好

使用特权

评论回复
7
myfaith|  楼主 | 2009-5-30 09:29 | 只看该作者

我不了解IAP?

highend 发表于 2009-5-30 03:42 ST MCU ←返回版面    

4楼: 等 

楼主,显然不了解IAP=====意思是,只要程序A合适,就能P.


A虽然有些例子,仍在进一步处理..... 
 
---------------------------------------------------------
LS的你似乎很高手,就你知道IAP
本人欲在需要的时候使用bootloader通过USB接口升级程序,如果我
称之为IAP叫错了,请你纠正该叫什么P?

使用特权

评论回复
8
highend| | 2009-5-31 12:39 | 只看该作者

延时还是IO ?

IAP需要判断USB(或串口)通讯,进入IAP模式,还是运行IAP之后的应用程序。


USB在首次插入新电脑时,时间较长。


还有IAP之后的应用程序,工程的起始地址要设置........

虽然有例子,真正做到合适,顺手,让自己喜欢,还有些工作。





使用特权

评论回复
9
winloop| | 2009-5-31 13:30 | 只看该作者

简单讲

复位-》MCU首先执行IAP空间代码-》检查有无新程序代码需要对用户区编程-》没有,跳转到用户程序区,用户程序正常运行-》通过任何接口接收新程序的二进制代码数据保存到FLASH特定位置-》置位有新程序标记-》给自己复位-》进入到本文最开始的部分,首先执行IAP空间代码-》检查有无新程序代码需要对用户区编程-》有,从FLASH特定位置读出新程序代码,写到用户FLASH区-》写成功,擦除新程序标记-》复位

刚开始可能看不懂,感觉有点儿乱,动手实施其中的每一步之后,就一点儿点儿知道写一步怎么做了,简单讲就是上面说的那些步骤

使用特权

评论回复
10
McuPlayer| | 2009-5-31 15:26 | 只看该作者

IAP和ISP的区别

ISP和IAP都是需要loader的,所以很多人这个概念是模糊的

ISP是在系统编程,一般用某条件(比如某IO口的高低电平),让程序决定是跑AP还是跑ISP的loader

IAP是在应用编程,loader是AP的一部分,一般是通过软件命令让AP调用loader去完成程序的更新。
此时,甚至系统的功能仍在执行也是可以的,当然要有完善的系统设计才可以。
比如升级的时候,可以响应按键,显示“正在升级,请稍候”,并把按键消息压入Message Queue等升级完成后执行。

也可以把IAP理解为自行定制的专用ISP

使用特权

评论回复
11
john_light| | 2009-5-31 18:27 | 只看该作者

楼主可以参考J-Link的方法

具体就不好多说了

使用特权

评论回复
12
highend| | 2009-6-1 04:14 | 只看该作者

winloop 自动忽略重要问题

延时还是IO ?

使用特权

评论回复
13
winloop| | 2009-6-2 09:05 | 只看该作者

楼上说的什么意思?

使用特权

评论回复
14
highend| | 2009-6-3 04:01 | 只看该作者

IAP一般有三种进入方式

1,延时
2,特定IO
3,A后面的A具备特定标记


利用延时,上电后,等待一段时间,检测IAP通讯接口的指令。例如STC51
利用特定IO,很常见,其实,STM32内部的Loader利用了Boot(0,1)两个IO,当然,我们的A还需要另一个IO,STM的B,用了B9;STM的E用了G8;有些乱。
利用A后的A,一般需要电容,或者片内FLASH(EE)作为标记,复位后检测并恢复。3以及其他方式不常用,关键需要A后的A配合。

使用特权

评论回复
15
stm32_beginner| | 2009-6-3 14:30 | 只看该作者

本人已经实现,请看我的帖子 3in1的 usbiap 已经有人转载过来

使用特权

评论回复
16
McuIsp| | 2009-6-3 15:25 | 只看该作者

欢迎访问本站(www.mcuisp.com)。

还开辟了论坛,专门讨论ISP/IAP。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

68

主题

468

帖子

0

粉丝