基本信息
源码名称:LPC824 IAP示例
源码大小:0.16M
文件格式:.rar
开发语言:C/C++
更新时间:2020-09-20
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
#define CMD_SUCCESS 0 /* 成功执行命令 */
#define INVALID_COMMAND 1 /* 无效命令 */
#define SRC_ADDR_ERROR 2 /* 源地址不是以字为边界 */
#define DST_ADDR_ERROR 3 /* 目标地址错误 */
#define SRC_ADDR_NOT_MAPPED 4 /* 源地址不在存储器映射中 */
#define DST_ADDR_NOT_MAPPED 5 /* 目标地址不在存储器映射中 */
#define COUNT_ERROR 6 /* 字节计数器不是4的倍数或者非法*/
#define INVALID_SECTOR 7 /* 扇区号无效 */
#define SECTOR_NOT_BLANK 8 /* 扇区非空 */
#define SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9 /* 为写操作准备扇区未执行 */
#define COMPARE_ERROR 10 /* 源和目标数据不相同 */
#define BUSY 11 /* Flash编程硬件接口忙 */
/*********************************************************************************************************
** Function name: sectorPrepare
** Descriptions: IAP操作扇区选择,命令代码50
** input parameters: IAP_Prepare: 选择扇区命令字
** sec1: 起始扇区
** sec2: 终止扇区
** output parameters: paramout[0]: IAP操作状态码,IAP返回值
** Returned value: paramout[0]: IAP操作状态码,IAP返回值
*********************************************************************************************************/
extern uint32_t sectorPrepare (uint8_t sec1, uint8_t sec2);
/*********************************************************************************************************
** Function name: ramCopy
** Descriptions: 复制RAM的数据到FLASH,命令代码51
** input parameters: IAP_RAMTOFLASH: 复制RAM内容到Flash命令字
** dst: 目标地址,即FLASH起始地址。以512字节为分界
** src: 源地址,即RAM地址。地址必须字对齐
** no: 复制字节个数,为512/1024/4096/8192
** IAP_FCCLK: 系统时钟频率
** output parameters: paramout[0]: IAP操作状态码,IAP返回值
** Returned value: paramout[0]: IAP操作状态码,IAP返回值
*********************************************************************************************************/
extern uint32_t ramCopy (uint32_t dst, uint32_t src, uint32_t no);
#define CMD_SUCCESS 0 /* 成功执行命令 */
#define INVALID_COMMAND 1 /* 无效命令 */
#define SRC_ADDR_ERROR 2 /* 源地址不是以字为边界 */
#define DST_ADDR_ERROR 3 /* 目标地址错误 */
#define SRC_ADDR_NOT_MAPPED 4 /* 源地址不在存储器映射中 */
#define DST_ADDR_NOT_MAPPED 5 /* 目标地址不在存储器映射中 */
#define COUNT_ERROR 6 /* 字节计数器不是4的倍数或者非法*/
#define INVALID_SECTOR 7 /* 扇区号无效 */
#define SECTOR_NOT_BLANK 8 /* 扇区非空 */
#define SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION 9 /* 为写操作准备扇区未执行 */
#define COMPARE_ERROR 10 /* 源和目标数据不相同 */
#define BUSY 11 /* Flash编程硬件接口忙 */
/*********************************************************************************************************
** Function name: sectorPrepare
** Descriptions: IAP操作扇区选择,命令代码50
** input parameters: IAP_Prepare: 选择扇区命令字
** sec1: 起始扇区
** sec2: 终止扇区
** output parameters: paramout[0]: IAP操作状态码,IAP返回值
** Returned value: paramout[0]: IAP操作状态码,IAP返回值
*********************************************************************************************************/
extern uint32_t sectorPrepare (uint8_t sec1, uint8_t sec2);
/*********************************************************************************************************
** Function name: ramCopy
** Descriptions: 复制RAM的数据到FLASH,命令代码51
** input parameters: IAP_RAMTOFLASH: 复制RAM内容到Flash命令字
** dst: 目标地址,即FLASH起始地址。以512字节为分界
** src: 源地址,即RAM地址。地址必须字对齐
** no: 复制字节个数,为512/1024/4096/8192
** IAP_FCCLK: 系统时钟频率
** output parameters: paramout[0]: IAP操作状态码,IAP返回值
** Returned value: paramout[0]: IAP操作状态码,IAP返回值
*********************************************************************************************************/
extern uint32_t ramCopy (uint32_t dst, uint32_t src, uint32_t no);