Обновление платы на V2
This commit is contained in:
parent
2a765a4056
commit
3a79605d23
|
|
@ -10,7 +10,9 @@
|
||||||
#include "stddef.h"
|
#include "stddef.h"
|
||||||
|
|
||||||
bool D_bInternalFlashPage_Clear(
|
bool D_bInternalFlashPage_Clear(
|
||||||
uint32_t pageAddress
|
uint32_t pageAddress,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
);
|
);
|
||||||
|
|
||||||
size_t D_sInternalFlashPage_Write(
|
size_t D_sInternalFlashPage_Write(
|
||||||
|
|
@ -35,7 +37,9 @@ size_t D_sInternalFlashPage_Read(
|
||||||
|
|
||||||
bool D_bInternalFlashPage_ClearRange(
|
bool D_bInternalFlashPage_ClearRange(
|
||||||
uint32_t firstPageAddr,
|
uint32_t firstPageAddr,
|
||||||
uint32_t totalSize
|
uint32_t totalSize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
);
|
);
|
||||||
|
|
||||||
bool D_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAddr, uint32_t size);
|
bool D_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAddr, uint32_t size);
|
||||||
|
|
@ -43,7 +47,9 @@ bool D_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAd
|
||||||
bool D_bInternalFlashPage_CopyRange(
|
bool D_bInternalFlashPage_CopyRange(
|
||||||
uint32_t targetPageAddr,
|
uint32_t targetPageAddr,
|
||||||
uint32_t sourcePageAddr,
|
uint32_t sourcePageAddr,
|
||||||
uint32_t totalCopySize
|
uint32_t totalCopySize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
);
|
);
|
||||||
|
|
||||||
uint32_t D_iInternalFlashPage_ReadWord(uint32_t addressOnFlash);
|
uint32_t D_iInternalFlashPage_ReadWord(uint32_t addressOnFlash);
|
||||||
|
|
@ -86,7 +92,9 @@ size_t P_sInternalFlashPage_Read(
|
||||||
|
|
||||||
bool P_bInternalFlashPage_ClearRange(
|
bool P_bInternalFlashPage_ClearRange(
|
||||||
uint32_t firstPageAddr,
|
uint32_t firstPageAddr,
|
||||||
uint32_t totalSize
|
uint32_t totalSize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
);
|
);
|
||||||
|
|
||||||
bool P_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAddr, uint32_t size);
|
bool P_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAddr, uint32_t size);
|
||||||
|
|
@ -94,7 +102,9 @@ bool P_bInternalFlashPage_WriteFromRam(uint32_t beginPageAddr, void *sourceRamAd
|
||||||
bool P_bInternalFlashPage_CopyRange(
|
bool P_bInternalFlashPage_CopyRange(
|
||||||
uint32_t targetPageAddr,
|
uint32_t targetPageAddr,
|
||||||
uint32_t sourcePageAddr,
|
uint32_t sourcePageAddr,
|
||||||
uint32_t totalCopySize
|
uint32_t totalCopySize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
);
|
);
|
||||||
|
|
||||||
uint32_t P_iInternalFlashPage_ReadWord(uint32_t addressOnFlash);
|
uint32_t P_iInternalFlashPage_ReadWord(uint32_t addressOnFlash);
|
||||||
|
|
|
||||||
|
|
@ -42,12 +42,14 @@ size_t D_sInternalFlashPage_Read(
|
||||||
}
|
}
|
||||||
|
|
||||||
bool D_bInternalFlashPage_Clear(
|
bool D_bInternalFlashPage_Clear(
|
||||||
uint32_t pageAddress
|
uint32_t pageAddress,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
) {
|
) {
|
||||||
FLASHDRIVER_Init();
|
FLASHDRIVER_Init();
|
||||||
|
|
||||||
FLASH_DRIVER_ParamType tFlashParam = {.pData = NULL,
|
FLASH_DRIVER_ParamType tFlashParam = {.pData = wdTriggerFct,
|
||||||
.wdTriggerFct = (void *) 0
|
.wdTriggerFct = wdTriggerFct_env
|
||||||
};
|
};
|
||||||
|
|
||||||
tFlashParam.u32Address = pageAddress;
|
tFlashParam.u32Address = pageAddress;
|
||||||
|
|
@ -75,7 +77,9 @@ bool D_bInternalFlashPage_Clear(
|
||||||
|
|
||||||
bool D_bInternalFlashPage_ClearRange(
|
bool D_bInternalFlashPage_ClearRange(
|
||||||
uint32_t firstPageAddr,
|
uint32_t firstPageAddr,
|
||||||
uint32_t totalSize
|
uint32_t totalSize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
) {
|
) {
|
||||||
if (totalSize % FLASH_PAGE_SIZE) {
|
if (totalSize % FLASH_PAGE_SIZE) {
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -83,7 +87,7 @@ bool D_bInternalFlashPage_ClearRange(
|
||||||
|
|
||||||
uint32_t endAddr = firstPageAddr + totalSize;
|
uint32_t endAddr = firstPageAddr + totalSize;
|
||||||
for (; firstPageAddr < endAddr; firstPageAddr += FLASH_PAGE_SIZE) {
|
for (; firstPageAddr < endAddr; firstPageAddr += FLASH_PAGE_SIZE) {
|
||||||
if (!D_bInternalFlashPage_Clear(firstPageAddr)) {
|
if (!D_bInternalFlashPage_Clear(firstPageAddr, wdTriggerFct, wdTriggerFct_env)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -94,9 +98,11 @@ bool D_bInternalFlashPage_ClearRange(
|
||||||
bool D_bInternalFlashPage_CopyRange(
|
bool D_bInternalFlashPage_CopyRange(
|
||||||
uint32_t targetPageAddr,
|
uint32_t targetPageAddr,
|
||||||
uint32_t sourcePageAddr,
|
uint32_t sourcePageAddr,
|
||||||
uint32_t size
|
uint32_t size,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
) {
|
) {
|
||||||
if (!D_bInternalFlashPage_ClearRange(targetPageAddr, size)) {
|
if (!D_bInternalFlashPage_ClearRange(targetPageAddr, size, wdTriggerFct, wdTriggerFct_env)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,7 +178,7 @@ size_t D_bInternalFlashPage_DumpFromRam(
|
||||||
) {
|
) {
|
||||||
size_t alignedSize = ((size / FLASH_PAGE_SIZE) + (size % FLASH_PAGE_SIZE ? 1 : 0)) * FLASH_PAGE_SIZE;
|
size_t alignedSize = ((size / FLASH_PAGE_SIZE) + (size % FLASH_PAGE_SIZE ? 1 : 0)) * FLASH_PAGE_SIZE;
|
||||||
|
|
||||||
if (!D_bInternalFlashPage_ClearRange(beginPageAddr, alignedSize)) {
|
if (!D_bInternalFlashPage_ClearRange(beginPageAddr, alignedSize,NULL, 0)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,9 @@ bool P_bInternalFlashPage_Clear(
|
||||||
|
|
||||||
bool P_bInternalFlashPage_ClearRange(
|
bool P_bInternalFlashPage_ClearRange(
|
||||||
uint32_t firstPageAddr,
|
uint32_t firstPageAddr,
|
||||||
uint32_t totalSize
|
uint32_t totalSize,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
) {
|
) {
|
||||||
if (totalSize % FLASH_PAGE_SIZE) {
|
if (totalSize % FLASH_PAGE_SIZE) {
|
||||||
return false;
|
return false;
|
||||||
|
|
@ -85,8 +87,9 @@ bool P_bInternalFlashPage_ClearRange(
|
||||||
FLASHDRIVER_Init();
|
FLASHDRIVER_Init();
|
||||||
|
|
||||||
FLASH_DRIVER_ParamType tFlashParam = {
|
FLASH_DRIVER_ParamType tFlashParam = {
|
||||||
.pData = NULL,
|
.pData = 0,
|
||||||
.wdTriggerFct = (void *)0,
|
.wdTriggerFct = wdTriggerFct,
|
||||||
|
.wdTriggerFct_env = wdTriggerFct_env,
|
||||||
.u32Address = firstPageAddr,
|
.u32Address = firstPageAddr,
|
||||||
.u32Length = totalSize
|
.u32Length = totalSize
|
||||||
};
|
};
|
||||||
|
|
@ -115,9 +118,11 @@ bool P_bInternalFlashPage_ClearRange(
|
||||||
bool P_bInternalFlashPage_CopyRange(
|
bool P_bInternalFlashPage_CopyRange(
|
||||||
uint32_t targetPageAddr,
|
uint32_t targetPageAddr,
|
||||||
uint32_t sourcePageAddr,
|
uint32_t sourcePageAddr,
|
||||||
uint32_t size
|
uint32_t size,
|
||||||
|
void *wdTriggerFct,
|
||||||
|
void *wdTriggerFct_env
|
||||||
) {
|
) {
|
||||||
if (!P_bInternalFlashPage_ClearRange(targetPageAddr, size)) {
|
if (!P_bInternalFlashPage_ClearRange(targetPageAddr, size, wdTriggerFct, wdTriggerFct_env)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -193,7 +198,7 @@ size_t P_bInternalFlashPage_DumpFromRam(
|
||||||
) {
|
) {
|
||||||
size_t alignedSize = ((size / FLASH_PAGE_SIZE) + (size % FLASH_PAGE_SIZE ? 1 : 0)) * FLASH_PAGE_SIZE;
|
size_t alignedSize = ((size / FLASH_PAGE_SIZE) + (size % FLASH_PAGE_SIZE ? 1 : 0)) * FLASH_PAGE_SIZE;
|
||||||
|
|
||||||
if (!P_bInternalFlashPage_ClearRange(beginPageAddr, alignedSize)) {
|
if (!P_bInternalFlashPage_ClearRange(beginPageAddr, alignedSize, NULL, 0)) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue