如何调用LBDP-bootloader中的库函数
Posted shlb
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何调用LBDP-bootloader中的库函数相关的知识,希望对你有一定的参考价值。
LBDP-bootloader主要功能如下:
1.代码下载及校验功能。
2.库函数功能(含flash擦除和烧写功能)。
库函数说明在lbdp.h中
#define LBDP_FUNC_ENTRY 0x8002B80
typedef void (*p_lbdp_remap)(void);
typedef void (*p_lbdp_writeFlash)(uint16_t addr,uint16_t writeFlashData);
typedef void (*p_lbdp_eraseFlash)(uint8_t page);
应用程序需要在main.c中声明如下:
#include "lbdp.h"
p_lbdp_eraseFlash ex_lbdp_eraseFlash;
p_lbdp_writeFlash ex_lbdp_writeFlash;
//p_lbdp_remap ex_lbdp_remap;
ex_lbdp_eraseFlash = (p_lbdp_eraseFlash)lbdp_map(2);
ex_lbdp_writeFlash = (p_lbdp_writeFlash)lbdp_map(3);
lbdp_map(int index)实现很简单:
uint32_t lbdp_map(int index)
{
return *(uint32_t*)(LBDP_FUNC_ENTRY +index*4); //本例中,库函数入口在LBDP_FUNC_ENTRY定义的flash中。
}
以上是关于如何调用LBDP-bootloader中的库函数的主要内容,如果未能解决你的问题,请参考以下文章
如何从账户 A 中的 Lambda(VPC 中的 Lambda)调用账户 B 中的 AWS Lambda 函数(VPC 中的这个 Lambda)