test_mockable enum system_image_copy_t system_get_image_copy(void) { /* TODO: (ML) return which region is used in Code RAM */ #ifdef CONFIG_CODERAM_ARCH return system_get_shrspi_image_copy(); #else uintptr_t my_addr = (uintptr_t)system_get_image_copy - CONFIG_FLASH_BASE; if (my_addr >= CONFIG_FW_RO_OFF && my_addr < (CONFIG_FW_RO_OFF + CONFIG_FW_RO_SIZE)) return SYSTEM_IMAGE_RO; if (my_addr >= CONFIG_FW_RW_OFF && my_addr < (CONFIG_FW_RW_OFF + CONFIG_FW_RW_SIZE)) return SYSTEM_IMAGE_RW; return SYSTEM_IMAGE_UNKNOWN; #endif }
test_mockable enum system_image_copy_t system_get_image_copy(void) { #ifdef CONFIG_EXTERNAL_STORAGE /* Return which region is used in program memory */ return system_get_shrspi_image_copy(); #else uintptr_t my_addr = (uintptr_t)system_get_image_copy - CONFIG_PROGRAM_MEMORY_BASE; if (my_addr >= CONFIG_RO_MEM_OFF && my_addr < (CONFIG_RO_MEM_OFF + CONFIG_RO_SIZE)) return SYSTEM_IMAGE_RO; if (my_addr >= CONFIG_RW_MEM_OFF && my_addr < (CONFIG_RW_MEM_OFF + CONFIG_RW_SIZE)) return SYSTEM_IMAGE_RW; return SYSTEM_IMAGE_UNKNOWN; #endif }