| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- #ifndef __IAP_H__
- #define __IAP_H__
- #include "sys.h"
- //////////////////////////////////////////////////////////////////////////////////
- //本程序只供学习使用,未经作者许可,不得用于其它任何用途
- //ALIENTEK MiniSTM32开发板
- //IAP 代码
- //正点原子@ALIENTEK
- //技术论坛:www.openedv.com
- //修改日期:2014/1/8
- //版本:V1.0
- //版权所有,盗版必究。
- //Copyright(C) 广州市星翼电子科技有限公司 2009-2019
- //All rights reserved
- //////////////////////////////////////////////////////////////////////////////////
- typedef void (*iapfun)(void); //定义一个函数类型的参数.
- #define FLASH_APP1_ADDR 0x08020000 //app1程序起始地址(存放在FLASH)
- //保留0X08000000~0X0800FFFF的空间为Bootloader使用(64KB)
- #define FLASH_APP2_ADDR 0x08040000 //app2程序起始地址(存放在FLASH)
- //保留0X08010000~0X0801FFFF的空间为Bootloader使用(64KB)
- #define FLASH_APP3_ADDR 0x08060000 //app3程序起始地址(存放在FLASH)
- //保留0X08020000~0X0803FFFF的空间为Bootloader使用(64KB)
-
- #define FLASH_PT_ADDR 0x08008000 //产测固件
- #define FLASH_BOOT_ADDR 0x08000000 //boot地址
- void iap_load_app(u32 appxaddr); //跳转到APP程序执行
- void iap_write_appbin(u32 appxaddr,u8 *appbuf,u32 applen); //在指定地址开始,写入bin
- //运行app1
- uint32_t run_app1(void);
- //获取信息
- uint32_t get_info(void);
- //复位
- uint32_t reboot(void);
-
- #endif
|