Выбрана другая ф-ция записи во флеш
В тестовую прогу для CM добавлена ф-ция проверки серии записей
This commit is contained in:
parent
e9242414a3
commit
1675ae9fce
@ -79,6 +79,7 @@ uint16_t PutMes[16];
|
|||||||
|
|
||||||
|
|
||||||
uint16_t TempConst = 2;
|
uint16_t TempConst = 2;
|
||||||
|
uint16_t CounterCPU1Blocks = 0;
|
||||||
|
|
||||||
uint32_t Command,StartAddr,Data;
|
uint32_t Command,StartAddr,Data;
|
||||||
uint32_t InCommand,InAddr,InData;
|
uint32_t InCommand,InAddr,InData;
|
||||||
@ -202,10 +203,17 @@ __interrupt void IPC1_ISR0()
|
|||||||
IPC_readCommand(IPC_CM_L_CPU1_R, 0, 0, &InCommand, &InAddr, &InData );
|
IPC_readCommand(IPC_CM_L_CPU1_R, 0, 0, &InCommand, &InAddr, &InData );
|
||||||
getMessage_from_CPU1(GetMes,16);
|
getMessage_from_CPU1(GetMes,16);
|
||||||
|
|
||||||
if(WriteToCpu1 != 2 )
|
if(CounterCPU1Blocks > 0)
|
||||||
{
|
{
|
||||||
putMessage_to_CPU1(0);
|
StartAddr += Data;
|
||||||
|
CounterCPU1Blocks--;
|
||||||
|
WriteToCpu1 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// if(WriteToCpu1 != 2 )
|
||||||
|
// {
|
||||||
|
// putMessage_to_CPU1(0);
|
||||||
|
// }
|
||||||
else WriteToCpu1 = 0;
|
else WriteToCpu1 = 0;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x38000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x38000"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU2" value="Data@@0"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU2" value="Data@@0"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/Cortex_M4_0" value="@@0x20086000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_2@#$Texas Instruments XDS100v2 USB Debug Probe_0/Cortex_M4_0" value="@@0x20086000"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x39000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x80000"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU2" value="Data@@0x80000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU2" value="Data@@0x80000"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/Cortex_M4_0" value="@@0x20082000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_3@#$Texas Instruments XDS100v2 USB Debug Probe_0/Cortex_M4_0" value="@@0x20082000"/>
|
||||||
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_4@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x38000"/>
|
<mapEntry key="org.eclipse.cdt.debug.ui.memory.memorybrowser.MemoryBrowser.PIN_CLONE_VIEW_4@#$Texas Instruments XDS100v2 USB Debug Probe_0/C28xx_CPU1" value="Data@@0x38000"/>
|
||||||
|
@ -139,7 +139,7 @@ void getMessage_from_Cm_Flash(void)
|
|||||||
}
|
}
|
||||||
if(FlashSektorEnd == FlashSektorStart) //если заканчиваем в этом же секторе что и начали, то просто пишем его
|
if(FlashSektorEnd == FlashSektorStart) //если заканчиваем в этом же секторе что и начали, то просто пишем его
|
||||||
{
|
{
|
||||||
MemOperationError = Internal_flash_Program_AutoECC(FactAddressFlash, InData);
|
MemOperationError = Internal_flash_lib_ProgramUsingDataAndECC(FactAddressFlash, InData);
|
||||||
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
||||||
}
|
}
|
||||||
else //если начали в одном секторе, а заканчиваем в другом то
|
else //если начали в одном секторе, а заканчиваем в другом то
|
||||||
@ -152,9 +152,9 @@ void getMessage_from_Cm_Flash(void)
|
|||||||
}
|
}
|
||||||
block1 = internal_flash_FlashBankStartAddr(FlashSektorEnd)-FactAddressFlash; //вычисляем размер первого куска
|
block1 = internal_flash_FlashBankStartAddr(FlashSektorEnd)-FactAddressFlash; //вычисляем размер первого куска
|
||||||
block2 = InData - block1; //и размер куска для второго сектора
|
block2 = InData - block1; //и размер куска для второго сектора
|
||||||
MemOperationError = Internal_flash_Program_AutoECC(FactAddressFlash, block1); // è ïèøåì ñïåðâà êóñîê â ïåðâûé ñåêòîð,
|
MemOperationError = Internal_flash_lib_ProgramUsingDataAndECC(FactAddressFlash, block1); // è ïèøåì ñïåðâà êóñîê â ïåðâûé ñåêòîð,
|
||||||
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
||||||
MemOperationError = Internal_flash_Program_AutoECC(internal_flash_FlashBankStartAddr(FlashSektorEnd), block2); // ïîòîì êóñîê âî âòîðîé
|
MemOperationError = Internal_flash_lib_ProgramUsingDataAndECC(internal_flash_FlashBankStartAddr(FlashSektorEnd), block2); // ïîòîì êóñîê âî âòîðîé
|
||||||
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
if(MemOperationError) {IPC_sendCommand(IPC_CPU1_L_CM_R, MemOperationError, INT_FLASH, 0, 0); return;}//если ошибка -- отправляем сообщение и завершаем
|
||||||
}
|
}
|
||||||
IPC_sendCommand(IPC_CPU1_L_CM_R, DONE_SUCCESS, INT_FLASH, 0, 0);
|
IPC_sendCommand(IPC_CPU1_L_CM_R, DONE_SUCCESS, INT_FLASH, 0, 0);
|
||||||
|
Loading…
Reference in New Issue
Block a user