資源簡(jiǎn)介
文件是STM32微控制器的IAP升級(jí)詳細(xì)源程序,其中包含了boot引導(dǎo)文件、app應(yīng)用文件和串口IAP升級(jí)工具,絕對(duì)可用。

代碼片段和文件信息
#include?“iap.h“
#define?FLASH_IAP_ADDR 0x08000000?? //iap程序起始地址(存放在FLASH)
//保留0X08000000~0X0800FFFF的空間為IAP使用
typedef??void?(*iapfun)(void); //定義一個(gè)函數(shù)類(lèi)型的參數(shù).
iapfun?jump2iap;
//設(shè)置棧頂?shù)刂?br/>//addr:棧頂?shù)刂?br/>__asm?void?MSR_MSP(u32?addr)?
{
????MSR?MSP?r0? //set?Main?Stack?value
????BX?r14
}
void?iap_jump(u32?iapxaddr)
{
if(((*(vu32*)iapxaddr)&0x2FFE0000)==0x20000000) //檢查棧頂?shù)刂肥欠窈戏?0x20000000是sram的起始地址也是程序的棧頂?shù)刂?br/> {?
printf(“ok\r\n“);
Delay_Ms(10);
jump2iap=(iapfun)*(vu32*)(iapxaddr+4); //用戶(hù)代碼區(qū)第二個(gè)字為程序開(kāi)始地址(復(fù)位地址)
MSR_MSP(*(vu32*)iapxaddr); //初始化APP堆棧指針(用戶(hù)代碼區(qū)的第一個(gè)字用于存放棧頂?shù)刂罚?br/> jump2iap(); //跳轉(zhuǎn)到APP.
}
else
{
printf(“iap?program?lossplease?check\r\n“);
}
}
#define?APP_CONFIG_ADDR? 0X08001FFC //配置地址
#define?APP_CONFIG_SET_VALUE 0X5555 //設(shè)置值
#define?APP_CONFIG_CLEAR_VALUE 0XFFFF //清零值
void?iap_Func(void)
{
Test_Write(APP_CONFIG_ADDRAPP_CONFIG_CLEAR_VALUE);
iap_jump(FLASH_IAP_ADDR);//跳轉(zhuǎn)到iap的復(fù)位向量地址
}
?屬性????????????大小?????日期????時(shí)間???名稱(chēng)
-----------?---------??----------?-----??----
?????目錄???????????0??2015-03-13?10:40??在線(xiàn)升級(jí)IAP功能\
?????目錄???????????0??2015-03-10?11:46??在線(xiàn)升級(jí)IAP功能\IAP\
?????目錄???????????0??2015-03-13?10:18??在線(xiàn)升級(jí)IAP功能\IAP\app\
?????目錄???????????0??2015-03-13?10:06??在線(xiàn)升級(jí)IAP功能\IAP\app\command\
?????文件????????1608??2015-03-03?13:14??在線(xiàn)升級(jí)IAP功能\IAP\app\command\CommandCore.c
?????文件?????????248??2015-03-13?10:06??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandConfig.h
?????文件?????????239??2015-03-02?15:31??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandCore.h
?????文件?????????739??2015-03-02?15:29??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandFunc.c
?????文件?????????177??2015-03-02?15:31??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandFunc.h
?????文件?????????278??2015-03-10?15:30??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandInclude.h
?????文件?????????411??2015-03-13?09:59??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandList.c
?????文件?????????327??2015-03-02?15:31??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandList.h
?????文件???????11953??2015-03-02?15:13??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandUtil.c
?????文件????????1438??2015-03-02?15:19??在線(xiàn)升級(jí)IAP功能\IAP\app\command\commandUtil.h
?????文件?????????819??2015-03-02?15:44??在線(xiàn)升級(jí)IAP功能\IAP\app\command\使用說(shuō)明.txt
?????文件????????4311??2015-03-13?10:13??在線(xiàn)升級(jí)IAP功能\IAP\app\iap.c
?????文件?????????580??2015-03-13?10:18??在線(xiàn)升級(jí)IAP功能\IAP\app\iap.h
?????目錄???????????0??2015-03-10?11:45??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\
?????文件???????20421??2012-04-26?22:22??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\core_cm3.c
?????文件???????86316??2012-04-26?22:40??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\core_cm3.h
?????文件??????633963??2014-04-10?14:16??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\stm32f10x.h
?????文件???????36557??2014-04-10?14:16??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\system_stm32f10x.c
?????文件????????2085??2014-04-10?14:16??在線(xiàn)升級(jí)IAP功能\IAP\cmsis\system_stm32f10x.h
?????目錄???????????0??2015-03-11?16:56??在線(xiàn)升級(jí)IAP功能\IAP\driver\
?????文件????????4764??2015-03-11?16:51??在線(xiàn)升級(jí)IAP功能\IAP\driver\debugSerial.c
?????文件?????????690??2015-03-11?16:56??在線(xiàn)升級(jí)IAP功能\IAP\driver\debugSerial.h
?????文件????????1338??2015-02-27?15:04??在線(xiàn)升級(jí)IAP功能\IAP\driver\delay.c
?????文件?????????164??2015-02-27?15:04??在線(xiàn)升級(jí)IAP功能\IAP\driver\delay.h
?????文件????????3597??2015-02-27?17:07??在線(xiàn)升級(jí)IAP功能\IAP\driver\flash.c
?????文件????????1309??2015-02-27?17:07??在線(xiàn)升級(jí)IAP功能\IAP\driver\flash.h
?????文件?????????133??2015-02-27?11:43??在線(xiàn)升級(jí)IAP功能\IAP\driver\sys.c
............此處省略299個(gè)文件信息
評(píng)論
共有 條評(píng)論