#1楼主:再问STM32 谢谢
文章发表于:2008-08-28 09:43
首先谢谢您的回复,我现在基本已经了解了,只是还是有点小问题!
您的文章:
通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、USART)接收程序或数据,执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码都同时烧录在User Flash中,当芯片上电后,首先是第一个项目代码开始运行,它作如下操作:
1)检查是否需要对第二部分代码进行更新
2)如果不需要更新则转到4)
3)执行更新操作
4)跳转到第二部分代码执行
现在我对您说的:被IAP占用的串口在最终应用程序还是可以用的,是不是说IAO吃程序在执行之初首先会配置串口或者其他的什么口,然后应用程序要使用的话有会根据自己需要另外配置?这样当要更新程序时,先复位系统,串口又会被IAP配置为自己所用?如果是这样的话,那您这句话我就明白了,只是更新标志是怎么获得的?当复位系统后,如果需要更新的话,IAP是怎么知道的?是不是需要一个IO管脚通过上啦还是下拉状态,通过MCU存在什么地方,然后等复位后首先执行的IAP程序读取出来然后判断呢?希望您的答复!