原创
现场升级方案:采用U盘方式进行IAP功能的实现(二)
接
现场升级方案:采用U盘方式进行IAP功能的实现(一)
下面分别概括一下实现IAP命令的函数,IAP功能命令有准备编程扇区,复制RAM到FLASH,擦除扇区,扇区查空,读器件ID,读BOOT代码版本,比较等指令。程序要进行IAP升级,必须要先选择扇区擦除扇区之后才能写进Flash。先需要定义系统时钟,参数和一些变量。
#define IAP_FCCLK 48000
uint32_t paramin[8];
uint32_t paramout[8];
unsigned long command[5];
unsigned long result[5];
typedef void (*IAP) (unsigned int [ ] , unsigned int [ ]);
写数据之前,必须要选择需要写入的扇区,选择扇区部分代码:
uint32_t SelSector(uint8_t sec1,uint8_t sec2)
{
paramin[0] = IAP_SELECTOR;
paramin[1] = sec1;
paramin[2] = sec2;
(*(void(*)())IAP_LOCATION)(paramin,paramout);
return(paramout[0]);
作者: 阳光守望者, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-1758179.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
文章评论(0条评论)
登录后参与讨论