comparison packages/devs/flash/arm/ebsa285/current/src/ebsa285_flash.c @ 117:bd1a71e3e476 ecos-sw-2000-08-25

Merge from eCos master repository on 2000-08-25-19:22:58-BST
author jlarmour
date Fri, 25 Aug 2000 19:17:22 +0000
parents 6ed91473a1cd
children 77cec8369160
comparison
equal deleted inserted replaced
116:a0f9581a3a09 117:bd1a71e3e476
62 // Copy 'program' code to RAM for execution 62 // Copy 'program' code to RAM for execution
63 code_len = (unsigned long)&flash_query_end - (unsigned long)&flash_query; 63 code_len = (unsigned long)&flash_query_end - (unsigned long)&flash_query;
64 _flash_query = (code_fun *)flash_info.work_space; 64 _flash_query = (code_fun *)flash_info.work_space;
65 memcpy(_flash_query, &flash_query, code_len); 65 memcpy(_flash_query, &flash_query, code_len);
66 HAL_DCACHE_SYNC(); // Should guarantee this code will run 66 HAL_DCACHE_SYNC(); // Should guarantee this code will run
67 HAL_ICACHE_DISABLE(); // is also required to avoid old contents
67 68
68 stat = (*_flash_query)(data); 69 stat = (*_flash_query)(data);
70
71 HAL_ICACHE_ENABLE();
72
69 if ((data[0] == FLASH_Intel_code) && (data[4] == FLASH_28F008SA)) { 73 if ((data[0] == FLASH_Intel_code) && (data[4] == FLASH_28F008SA)) {
70 num_regions = 16; 74 num_regions = 16;
71 region_size = 0x40000; 75 region_size = 0x40000;
72 flash_info.block_size = region_size; 76 flash_info.block_size = region_size;
73 flash_info.blocks = num_regions; 77 flash_info.blocks = num_regions;