Mercurial > flash_v2
diff packages/devs/flash/arm/ebsa285/current/src/ebsa285_flash.c @ 184:022f1e506033
Merge from eCos master repository on 2001-10-02-17:59:22-BST
| author | jlarmour |
|---|---|
| date | Tue, 02 Oct 2001 18:28:24 +0000 |
| parents | 42f843b391aa |
| children | e0c0827131d1 |
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 @@ -57,18 +57,20 @@ flash_hwr_init(void) 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; + int code_len, stat, num_regions, region_size, icache_isenabled; // 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); - HAL_ICACHE_ENABLE(); + if (icache_isenabled) + HAL_ICACHE_ENABLE(); if ((data[0] == FLASH_Intel_code) && ((data[4] == FLASH_28F008SA) || (data[4] == FLASH_28F008SC))) {
