Проверку адекватности размера лучше делать внутри протоколов
This commit is contained in:
parent
e9afa962dd
commit
186bc8a6ef
@ -110,6 +110,9 @@ void getMessage_from_Cm_Flash(void)
|
||||
uint32_t block1, block2;
|
||||
uint16_t FlashErr = 0;
|
||||
|
||||
if(InData > 2048) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_LENGHT, 0, 0); return;}
|
||||
if((InAddr+InData) > 0x40000) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_ADDR, 0, 0); return;}
|
||||
IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, COMMAND_ACCEPTED, 0, 0);
|
||||
|
||||
FactAddressFlash = InAddr + Bzero_Sector0_start;
|
||||
|
||||
@ -236,7 +239,7 @@ void getMessage_from_Cm_ZD24C02A(void)
|
||||
|
||||
break;
|
||||
case WRITE:
|
||||
|
||||
//ZD24C02A_write(NByte, ArrayForTests);
|
||||
break;
|
||||
case VERIFY:
|
||||
|
||||
@ -253,9 +256,6 @@ void getMessage_from_Cm_ZD24C02A(void)
|
||||
__interrupt void IPC_ISR0()
|
||||
{
|
||||
IPC_readCommand(IPC_CPU1_L_CM_R, 0, 0, &InCommand, &InAddr, &InData );
|
||||
if(InData > 2048) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_LENGHT, 0, 0); return;}
|
||||
if((InAddr+InData) > 0x40000) {IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, WRONG_ADDR, 0, 0); return;}
|
||||
IPC_sendCommand(IPC_CPU1_L_CM_R, 0, 0, COMMAND_ACCEPTED, 0, 0);
|
||||
|
||||
switch(InCommand & 0xFFFF)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user