// 指定在参考页
Ccp_ControlStatus.page = CCP_PAGE_RP;
Ccp_ControlStatus.TxFailedLastOneFlag = FALSE;
Ccp_ControlStatus.TxFailedContinueFlag = FALSE;
/* copy data from reference page to working page /
/ 将数据从参考页复制到工作页*/
//Mem_Copy(CCP_WORKING_PAGE_ADDR,CCP_REFERENCE_PAGE_ADDR,CCP_PAGE_SIZE>>1);
//memcpy(CCP_WORKING_PAGE_ADDR,CCP_REFERENCE_PAGE_ADDR,CCP_PAGE_SIZE>>1);
//by Adams 20190331
//for DBG
// DataRecord_Read(CCP_REFERENCE_PAGE_ADDR, (uint32_t *)CCP_WORKING_PAGE, 512);
DataRecord_ReadS((uint8_t *)CCP_REFERENCE_PAGE_ADDR, (uint8_t )CCP_WORKING_PAGE_ADDR, 51220);
//EFLASH_ReadS(CCP_REFERENCE_PAGE_ADDR, (uint32_t )CCP_WORKING_PAGE_ADDR, 5124); // 读取FLASH 的诗句
// DataRecord_Read(CCP_REFERENCE_PAGE_ADDR, (uint32_t *)SPK_ADV_adjust, 512);
// 选择工作页或者参考页
// 11 命令
/* 0x11 /
static void Ccp_SelectCalPage(uint8 index)
{
uint32 addr;
addr = (uint32)(Ccp_ControlStatus.mta0);
if((addr >= CCP_PAGE_LOGIC_ADDR)&&
(addr < CCP_LOGIC_PAGE_END))
{
/ reference page*/
/* 参考页*/
Ccp_PageRP();
Ccp_ControlStatus.page = CCP_PAGE_RP;
}
else
{
/* working page /
/ 工作页*/
Ccp_PageWP();
Ccp_ControlStatus.page = CCP_PAGE_WP;
}
}
Std_ReturnType Mem_Copy(uint32 to,uint32 from,uint32 len)
{
uint32 cnt;
Std_ReturnType status;
int * __far pto = (int * __far) (int * __rptr) (to); // 2个指针 指向某个地址 将from的地址搬到to
int * __far pfrom = (int * __far) (int * __rptr) (from);
for(cnt = 0;cnt<len;cnt++)
{
*pto++ = *pfrom++;
}
status = E_OK;
return(status);
}