Added include guard for dmbs modules. Fix https://github.com/abcminiuser/dmbs/issues...
[pub/USBasp.git] / Bootloaders / Printer / BootloaderPrinter.c
index 9021f99..90321d4 100644 (file)
@@ -146,7 +146,7 @@ void Application_Jump_Check(void)
                JTAG_ENABLE();
        #else
                /* Check if the device's BOOTRST fuse is set */
                JTAG_ENABLE();
        #else
                /* Check if the device's BOOTRST fuse is set */
-               if (boot_lock_fuse_bits_get(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST)
+               if (BootloaderAPI_ReadFuse(GET_HIGH_FUSE_BITS) & FUSE_BOOTRST)
                {
                        /* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
                        if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
                {
                        /* If the reset source was not an external reset or the key is correct, clear it and jump to the application */
                        if (!(MCUSR & (1 << EXTRF)) || (MagicBootKey == MAGIC_BOOT_KEY))
@@ -221,8 +221,7 @@ static void FlushPageIfRequired(void)
        uint32_t NewPageStartAddress = (HEXParser.CurrAddress & ~(SPM_PAGESIZE - 1));
        if (HEXParser.PageStartAddress != NewPageStartAddress)
        {
        uint32_t NewPageStartAddress = (HEXParser.CurrAddress & ~(SPM_PAGESIZE - 1));
        if (HEXParser.PageStartAddress != NewPageStartAddress)
        {
-               boot_page_write(HEXParser.PageStartAddress);
-               boot_spm_busy_wait();
+               BootloaderAPI_WritePage(HEXParser.PageStartAddress);
 
                HEXParser.PageStartAddress = NewPageStartAddress;
 
 
                HEXParser.PageStartAddress = NewPageStartAddress;
 
@@ -321,14 +320,13 @@ static void ParseIntelHEXByte(const char ReadCharacter)
                                        /* If we are writing to a new page, we need to erase it first */
                                        if (!(PageDirty))
                                        {
                                        /* If we are writing to a new page, we need to erase it first */
                                        if (!(PageDirty))
                                        {
-                                               boot_page_erase(HEXParser.PageStartAddress);
-                                               boot_spm_busy_wait();
+                                               BootloaderAPI_ErasePage(HEXParser.PageStartAddress);
 
                                                PageDirty = true;
                                        }
 
                                        /* Fill the FLASH memory buffer with the new word of data */
 
                                                PageDirty = true;
                                        }
 
                                        /* Fill the FLASH memory buffer with the new word of data */
-                                       boot_page_fill(HEXParser.CurrAddress, NewDataWord);
+                                       BootloaderAPI_FillWord(HEXParser.CurrAddress, NewDataWord);
                                        HEXParser.CurrAddress += 2;
 
                                        /* Flush the FLASH page to physical memory if we are crossing a page boundary */
                                        HEXParser.CurrAddress += 2;
 
                                        /* Flush the FLASH page to physical memory if we are crossing a page boundary */