-void PDITarget_SendAddress(uint32_t Address)\r
-{\r
- PDITarget_SendByte(Address >> 24);\r
- PDITarget_SendByte(Address >> 26);\r
- PDITarget_SendByte(Address >> 8);\r
- PDITarget_SendByte(Address & 0xFF);\r
-}\r
-\r
-bool PDITarget_WaitWhileNVMBusBusy(void)\r
-{\r
- uint8_t AttemptsRemaining = 255;\r
-\r
- /* Poll the STATUS register to check to see if NVM access has been enabled */\r
- while (AttemptsRemaining--)\r
- {\r
- PDITarget_SendByte(PDI_CMD_LDCS | PDI_STATUS_REG);\r
- if (PDITarget_ReceiveByte() & PDI_STATUS_NVM)\r
- return true;\r
- }\r
- \r
- return false;\r
-}\r
-\r
-void PDITarget_WaitWhileNVMControllerBusy(void)\r
-{\r
- /* Poll the NVM STATUS register to check to see if NVM controller is busy */\r
- for (;;)\r
- {\r
- PDITarget_SendByte(PDI_CMD_LDS | (PDI_DATSIZE_1BYTE << 2));\r
- PDITarget_SendAddress(DATAMEM_BASE | DATAMEM_NVM_STATUS);\r
- \r
- if (!(PDITarget_ReceiveByte() & (1 << 7)))\r
- return;\r
- }\r
-}\r
-\r