Mercurial > flash_v2
diff packages/devs/flash/arm/ebsa285/current/src/ebsa285_flash.c @ 1215:52985887e49e
* src/flash_query.c (flash_query): Casts to stop warnings.
* src/flash_program_buf.c (flash_program_buf): Fixed compiler warning.
* src/ebsa285_flash.c: include diag.h header file to stop warning.
* src/flash_erase_block.c (flash_erase_block):
* src/flash_query.c (flash_query):
* src/flash_program_buf.c (flash_program_buf): Put flash functions
in RAM using section attributes instead of the old method.
* src/ebsa285_flash.c (flash_hwr_init): Use generic flash_query_dev.
| author | asl |
|---|---|
| date | Sun, 14 Sep 2003 13:12:31 +0000 |
| parents | d2c90368aeef |
| children | 96ec7e534d98 |
line wrap: on
line diff
--- a/packages/devs/flash/arm/ebsa285/current/src/ebsa285_flash.c +++ b/packages/devs/flash/arm/ebsa285/current/src/ebsa285_flash.c @@ -52,7 +52,7 @@ #include <pkgconf/hal.h> #include <cyg/hal/hal_arch.h> -#include <cyg/hal/hal_cache.h> +#include <cyg/infra/diag.h> #define _FLASH_PRIVATE_ #include <cyg/io/flash.h> @@ -63,23 +63,9 @@ int flash_hwr_init(void) { unsigned char data[96]; - extern char flash_query, flash_query_end; - typedef int code_fun(unsigned char *); - code_fun *_flash_query; - int code_len, stat, num_regions, region_size, icache_isenabled; + int num_regions, region_size; - // Copy 'program' code to RAM for execution - code_len = (unsigned long)&flash_query_end - (unsigned long)&flash_query; - _flash_query = (code_fun *)flash_info.work_space; - memcpy(_flash_query, &flash_query, code_len); - HAL_ICACHE_IS_ENABLED(icache_isenabled); - HAL_DCACHE_SYNC(); // Should guarantee this code will run - HAL_ICACHE_DISABLE(); // is also required to avoid old contents - - stat = (*_flash_query)(data); - - if (icache_isenabled) - HAL_ICACHE_ENABLE(); + flash_dev_query(&data); if ((data[0] == FLASH_Intel_code) && ((data[4] == FLASH_28F008SA) || (data[4] == FLASH_28F008SC))) {
