diff packages/io/flash/current/src/flash.c @ 162:2395031e7a66

Merge from eCos master repository on 2001-06-15-06:43:03-BST
author jlarmour
date Fri, 15 Jun 2001 22:45:04 +0000
parents 0d0f03f76f6a
children 0d2b193a635f
line wrap: on
line diff
--- a/packages/io/flash/current/src/flash.c
+++ b/packages/io/flash/current/src/flash.c
@@ -51,7 +51,6 @@
 #define  _FLASH_PRIVATE_
 #include <cyg/io/flash.h>
 
-
 // When this flag is set, do not actually jump to the relocated code.
 // This can be used for running the function in place (RAM startup only),
 // allowing calls to diag_printf() and similar.
@@ -64,7 +63,7 @@
 struct flash_info flash_info;
 
 int
-flash_init(void *work_space, int work_space_size)
+flash_init(void *work_space, int work_space_size, _printf *pf)
 {
     int err;
 
@@ -76,6 +75,7 @@ flash_init(void *work_space, int work_sp
     }
     flash_info.block_mask = ~(flash_info.block_size-1);
     flash_info.init = 1;
+    flash_info.pf = pf;
     return FLASH_ERR_OK;
 }
 
@@ -190,7 +190,7 @@ flash_erase(void *addr, int len, void **
     block = (unsigned short *)((unsigned long)addr & flash_info.block_mask);
     end_addr = (unsigned short *)((unsigned long)addr+len);
 
-    printf("... Erase from %p-%p: ", (void*)block, (void*)end_addr);
+    (*flash_info.pf)("... Erase from %p-%p: ", (void*)block, (void*)end_addr);
 
     HAL_FLASH_CACHES_OFF(d_cache, i_cache);
     FLASH_Enable(block, end_addr);
@@ -203,11 +203,11 @@ flash_erase(void *addr, int len, void **
             break;
         }
         block += flash_info.block_size / sizeof(*block);
-        printf(".");
+        (*flash_info.pf)(".");
     }
     FLASH_Disable(block, end_addr);
     HAL_FLASH_CACHES_ON(d_cache, i_cache);
-    printf("\n");
+    (*flash_info.pf)("\n");
     return (stat);
 }
 
@@ -242,8 +242,8 @@ flash_program(void *_addr, void *_data, 
     }
 #endif
 
-    printf("... Program from %p-%p at %p: ", (void*)data, 
-           (void*)(((unsigned long)data)+len), (void*)addr);
+    (*flash_info.pf)("... Program from %p-%p at %p: ", (void*)data, 
+                     (void*)(((unsigned long)data)+len), (void*)addr);
 
     HAL_FLASH_CACHES_OFF(d_cache, i_cache);
     FLASH_Enable(addr, addr+len);
@@ -257,21 +257,21 @@ flash_program(void *_addr, void *_data, 
 #ifdef CYGSEM_IO_FLASH_VERIFY_PROGRAM
         if (memcmp(addr, data, size) != 0) {
             stat = 0x0BAD;
-            printf("V");
+            (*flash_info.pf)("V");
         }
 #endif
         if (stat) {
             *err_addr = (void *)addr;
             break;
         }
-        printf(".");
+        (*flash_info.pf)(".");
         len -= size;
         addr += size/sizeof(*addr);
         data += size/sizeof(*data);
     }
     FLASH_Disable(addr, addr+len);
     HAL_FLASH_CACHES_ON(d_cache, i_cache);
-    printf("\n");
+    (*flash_info.pf)("\n");
     return (stat);
 }
 
@@ -309,7 +309,7 @@ flash_lock(void *addr, int len, void **e
     block = (unsigned short *)((unsigned long)addr & flash_info.block_mask);
     end_addr = (unsigned short *)((unsigned long)addr+len);
 
-    printf("... Lock from %p-%p: ", block, end_addr);
+    (*flash_info.pf)("... Lock from %p-%p: ", block, end_addr);
 
     HAL_FLASH_CACHES_OFF(d_cache, i_cache);
     FLASH_Enable(block, end_addr);
@@ -321,11 +321,11 @@ flash_lock(void *addr, int len, void **e
             break;
         }
         block += flash_info.block_size / sizeof(*block);
-        printf(".");
+        (*flash_info.pf)(".");
     }
     FLASH_Disable(block, end_addr);
     HAL_FLASH_CACHES_ON(d_cache, i_cache);
-    printf("\n");
+    (*flash_info.pf)("\n");
     return (stat);
 }
 
@@ -361,7 +361,7 @@ flash_unlock(void *addr, int len, void *
     block = (unsigned short *)((unsigned long)addr & flash_info.block_mask);
     end_addr = (unsigned short *)((unsigned long)addr+len);
 
-    printf("... Unlock from %p-%p: ", block, end_addr);
+    (*flash_info.pf)("... Unlock from %p-%p: ", block, end_addr);
 
     HAL_FLASH_CACHES_OFF(d_cache, i_cache);
     FLASH_Enable(block, end_addr);
@@ -373,11 +373,11 @@ flash_unlock(void *addr, int len, void *
             break;
         }
         block += flash_info.block_size / sizeof(*block);
-        printf(".");
+        (*flash_info.pf)(".");
     }
     FLASH_Disable(block, end_addr);
     HAL_FLASH_CACHES_ON(d_cache, i_cache);
-    printf("\n");
+    (*flash_info.pf)("\n");
     return (stat);
 }
 #endif