原创 现场升级方案:采用U盘方式进行IAP功能的实现(二)

2015-2-22 22:38 1883 17 17 分类: MCU/ 嵌入式

现场升级方案:采用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

版权声明:本文为博主原创,未经本人允许,禁止转载!

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
17
关闭 站长推荐上一条 /3 下一条