AI8051U制作OTA升级的问题
已经阅读论坛已有的帖子,还是有一些地方没有弄清楚。官方对这方面的支持力度不大啊。资料少的可怜!问题:
1.MCU断电重启后,执行的流程是什么?系统ISP->用户ISP->用户APP?必须得是这个流程,不然会出问题的!
至于程序运行过程中的跳转,可以使用IAP寄存器。上电后的执行流程,手册中没有给出,只是提到复位入口在0xFF0000地址,没有其他资料了。
2.关于STC-ISP下载软件中设置EEPROM大小,这里设置的容量和IAP操作关系大不大?假如设置的是4K,IAP操作的地址就是从0x00-0x1000。
但是IAP操作本身是支持绝对地址操作的?比如说擦除地址是0xFF0000,这种是允许的吗?如果允许的话,那EEPROM容量设置基本没有意义,
因为完全可以在程序中人工指定EEPROM的首地址和容量。同时针对其他型号的单片机做OTA升级时,设置EEPROM空间大小为128K或者64K也就没有了意义!
因为设置1K和设置128K都可以通过IAP方法使用绝对地址来完整擦、写、读的操作,那为什么官方教程中还需要设置EEPROM容量呢?
这真的匪夷所思。如果IAP操作的范围必须和EEPROM容量一致,那AI8051U的官方OTA示例中并没有要求设置64K的EEPROM大小。
3.AI8051U的OTA和APP程序中,使用相同的硬件中断函数,现在是相互独立了吗?不需要中断转发了?数据手册中也没有给出知识点。
{:wunai:}
能回答 问题2,IAP操作 擦除写入只能是使用IAP地址。读取可以使用IAP 也可以直接读取物理地址。 关于问题3,,无论是IAP 还是 APP 都可以看作是独立的程序。所以对中断的操作,单独的程序改怎么操作就怎么操作。(至少在友商的单片机上是这么理解的。)
页:
[1]