flash: less bogus errors
[fw/openocd] / src / flash / nor / aduc702x.c
index 402da1f4822e80d699b1628e83766d2c1a032991..82ea2bc6e326cfd57ee269056a567be28102087d 100644 (file)
 #include "config.h"
 #endif
 
-#include "flash.h"
-#include "armv4_5.h"
+#include "imp.h"
 #include <helper/binarybuffer.h>
 #include <helper/time_support.h>
 #include <target/algorithm.h>
+#include <target/arm.h>
 
 
 static int aduc702x_build_sector_list(struct flash_bank *bank);
@@ -165,7 +165,7 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
        struct working_area *source;
        uint32_t address = bank->base + offset;
        struct reg_param reg_params[6];
-       struct armv4_5_algorithm armv4_5_info;
+       struct arm_algorithm armv4_5_info;
        int retval = ERROR_OK;
 
        if (((count%2)!=0)||((offset%2)!=0))
@@ -188,7 +188,7 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
         r6 - set to 2, used to write flash command
 
         */
-        uint32_t aduc702x_flash_write_code[] = {
+        static const uint32_t aduc702x_flash_write_code[] = {
         //<_start>:
                 0xe3a05008,    // mov  r5, #8  ; 0x8
                 0xe5845004,    // str  r5, [r4, #4]
@@ -227,7 +227,7 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
        }
 
        /* memory buffer */
-       while (target_alloc_working_area(target, buffer_size, &source) != ERROR_OK)
+       while (target_alloc_working_area_try(target, buffer_size, &source) != ERROR_OK)
        {
                buffer_size /= 2;
                if (buffer_size <= 256)
@@ -241,9 +241,9 @@ static int aduc702x_write_block(struct flash_bank *bank, uint8_t *buffer, uint32
                }
        }
 
-       armv4_5_info.common_magic = ARMV4_5_COMMON_MAGIC;
-       armv4_5_info.core_mode = ARMV4_5_MODE_SVC;
-       armv4_5_info.core_state = ARMV4_5_STATE_ARM;
+       armv4_5_info.common_magic = ARM_COMMON_MAGIC;
+       armv4_5_info.core_mode = ARM_MODE_SVC;
+       armv4_5_info.core_state = ARM_STATE_ARM;
 
        init_reg_param(&reg_params[0], "r0", 32, PARAM_OUT);
        init_reg_param(&reg_params[1], "r1", 32, PARAM_OUT);
@@ -343,7 +343,7 @@ static int aduc702x_write_single(struct flash_bank *bank, uint8_t *buffer, uint3
        return ERROR_OK;
 }
 
-int aduc702x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
+static int aduc702x_write(struct flash_bank *bank, uint8_t *buffer, uint32_t offset, uint32_t count)
 {
        int retval;
 
@@ -412,14 +412,14 @@ static int aduc702x_check_flash_completion(struct target* target, unsigned int t
 }
 
 struct flash_driver aduc702x_flash = {
-               .name = "aduc702x",
-               .flash_bank_command = &aduc702x_flash_bank_command,
-               .erase = &aduc702x_erase,
-               .protect = &aduc702x_protect,
-               .write = &aduc702x_write,
-               .probe = &aduc702x_probe,
-               .auto_probe = &aduc702x_probe,
-               .erase_check = &default_flash_blank_check,
-               .protect_check = &aduc702x_protect_check,
-               .info = &aduc702x_info
-       };
+       .name = "aduc702x",
+       .flash_bank_command = aduc702x_flash_bank_command,
+       .erase = aduc702x_erase,
+       .protect = aduc702x_protect,
+       .write = aduc702x_write,
+       .probe = aduc702x_probe,
+       .auto_probe = aduc702x_probe,
+       .erase_check = default_flash_blank_check,
+       .protect_check = aduc702x_protect_check,
+       .info = aduc702x_info
+};