diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-24 02:52:10 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-24 02:52:10 +0000 |
commit | 65fcebf4784486f1cb8da08d7a400963461f61ad (patch) | |
tree | a4a19a4b64a884fa2bd2dcb49b4bf2593423e6e1 /Projects/AVRISP/Lib/XPROG/TINYNVM.c | |
parent | cfdab42dcfc2b6f300dd6efbfa518fe8c99309d2 (diff) | |
download | lufa-65fcebf4784486f1cb8da08d7a400963461f61ad.tar.gz lufa-65fcebf4784486f1cb8da08d7a400963461f61ad.tar.bz2 lufa-65fcebf4784486f1cb8da08d7a400963461f61ad.zip |
Complete combining of PDI and TPI target communication code files, stub out TINY NVM controller functions.
Diffstat (limited to 'Projects/AVRISP/Lib/XPROG/TINYNVM.c')
-rw-r--r-- | Projects/AVRISP/Lib/XPROG/TINYNVM.c | 82 |
1 files changed, 81 insertions, 1 deletions
diff --git a/Projects/AVRISP/Lib/XPROG/TINYNVM.c b/Projects/AVRISP/Lib/XPROG/TINYNVM.c index f3b184072..5eb59892e 100644 --- a/Projects/AVRISP/Lib/XPROG/TINYNVM.c +++ b/Projects/AVRISP/Lib/XPROG/TINYNVM.c @@ -38,6 +38,86 @@ #if defined(ENABLE_XPROG_PROTOCOL) || defined(__DOXYGEN__)
-// TODO
+/** Busy-waits while the NVM controller is busy performing a NVM operation, such as a FLASH page read or CRC
+ * calculation.
+ *
+ * \return Boolean true if the NVM controller became ready within the timeout period, false otherwise
+ */
+bool XMEGANVM_WaitWhileNVMBusBusy(void)
+{
+ // TODO
+
+ return false;
+}
+
+/** Waits while the target's NVM controller is busy performing an operation, exiting if the
+ * timeout period expires.
+ *
+ * \return Boolean true if the NVM controller became ready within the timeout period, false otherwise
+ */
+bool XMEGANVM_WaitWhileNVMControllerBusy(void)
+{
+ // TODO
+
+ return false;
+}
+
+/** Retrieves the CRC value of the given memory space.
+ *
+ * \param[in] CRCCommand NVM CRC command to issue to the target
+ * \param[out] CRCDest CRC Destination when read from the target
+ *
+ * \return Boolean true if the command sequence complete successfully
+ */
+bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest)
+{
+ // TODO
+
+ return true;
+}
+
+/** Reads memory from the target's memory spaces.
+ *
+ * \param[in] ReadAddress Start address to read from within the target's address space
+ * \param[out] ReadBuffer Buffer to store read data into
+ * \param[in] ReadSize Number of bytes to read
+ *
+ * \return Boolean true if the command sequence complete successfully
+ */
+bool XMEGANVM_ReadMemory(const uint32_t ReadAddress, uint8_t* ReadBuffer, const uint16_t ReadSize)
+{
+ // TODO
+
+ return true;
+}
+
+/** Writes byte addressed memory to the target's memory spaces.
+ *
+ * \param[in] WriteCommand Command to send to the device to write each memory byte
+ * \param[in] WriteAddress Start address to write to within the target's address space
+ * \param[in] WriteBuffer Buffer to source data from
+ *
+ * \return Boolean true if the command sequence complete successfully
+ */
+bool XMEGANVM_WriteMemory(const uint8_t WriteCommand, const uint32_t WriteAddress, const uint8_t* WriteBuffer)
+{
+ // TODO
+
+ return true;
+}
+
+/** Erases a specific memory space of the target.
+ *
+ * \param[in] EraseCommand NVM erase command to send to the device
+ * \param[in] Address Address inside the memory space to erase
+ *
+ * \return Boolean true if the command sequence complete successfully
+ */
+bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address)
+{
+ // TODO
+
+ return true;
+}
#endif
|