Fix support for ADuC702x flash. Courtesy of Michael Ashton <data@gtf.org>
[fw/openocd] / src / flash / str7x.c
index facd873d600a23e561a994b2c951c7a1ee29b514..ec73f646aebae82c216738a89dab4a1f06b8b726 100644 (file)
@@ -230,6 +230,7 @@ int str7x_protect_check(struct flash_bank_s *bank)
 
        if (bank->target->state != TARGET_HALTED)
        {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
@@ -258,6 +259,7 @@ int str7x_erase(struct flash_bank_s *bank, int first, int last)
        
        if (bank->target->state != TARGET_HALTED)
        {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
@@ -281,7 +283,7 @@ int str7x_erase(struct flash_bank_s *bank, int first, int last)
        target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), cmd);
        
        while (((retval = str7x_status(bank)) & str7x_info->busy_bits)){
-               usleep(1000);
+               alive_sleep(1);
        }
        
        retval = str7x_result(bank);
@@ -309,6 +311,7 @@ int str7x_protect(struct flash_bank_s *bank, int set, int first, int last)
        
        if (bank->target->state != TARGET_HALTED)
        {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
        
@@ -336,7 +339,7 @@ int str7x_protect(struct flash_bank_s *bank, int set, int first, int last)
        target_write_u32(target, str7x_get_flash_adr(bank, FLASH_CR0), cmd);
        
        while (((retval = str7x_status(bank)) & str7x_info->busy_bits)){
-               usleep(1000);
+               alive_sleep(1);
        }
        
        retval = str7x_result(bank);
@@ -481,6 +484,7 @@ int str7x_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
        
        if (bank->target->state != TARGET_HALTED)
        {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
 
@@ -564,7 +568,7 @@ int str7x_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
                
                while (((retval = str7x_status(bank)) & str7x_info->busy_bits))
                {
-                       usleep(1000);
+                       alive_sleep(1);
                }
                
                retval = str7x_result(bank);
@@ -611,7 +615,7 @@ int str7x_write(struct flash_bank_s *bank, u8 *buffer, u32 offset, u32 count)
                
                while (((retval = str7x_status(bank)) & str7x_info->busy_bits))
                {
-                       usleep(1000);
+                       alive_sleep(1);
                }
                
                retval = str7x_result(bank);
@@ -671,6 +675,7 @@ int str7x_handle_disable_jtag_command(struct command_context_s *cmd_ctx, char *c
        
        if (target->state != TARGET_HALTED)
        {
+               LOG_ERROR("Target not halted");
                return ERROR_TARGET_NOT_HALTED;
        }
        
@@ -712,4 +717,3 @@ int str7x_handle_disable_jtag_command(struct command_context_s *cmd_ctx, char *c
        
        return ERROR_OK;
 }
-