diff --git a/hal/nxp_t2080.c b/hal/nxp_t2080.c index 5384b62e..bdbd0f20 100644 --- a/hal/nxp_t2080.c +++ b/hal/nxp_t2080.c @@ -532,7 +532,7 @@ void hal_init(void) #endif } -int hal_flash_write(uintptr_t address, const uint8_t *data, int len) +int hal_flash_write(uint32_t address, const uint8_t *data, int len) { (void)address; (void)data; @@ -541,7 +541,7 @@ int hal_flash_write(uintptr_t address, const uint8_t *data, int len) return 0; } -int hal_flash_erase(uintptr_t address, int len) +int hal_flash_erase(uint32_t address, int len) { (void)address; (void)len; diff --git a/include/hal.h b/include/hal.h index 04f3af94..451bab52 100644 --- a/include/hal.h +++ b/include/hal.h @@ -45,13 +45,20 @@ void hal_set_external_flash_file(const char* file); void hal_deinit(); #endif +#if !defined(ARCH_64BIT) && \ + (defined(ARCH_x86_64) || defined(ARCH_AARCH64) || defined(ARCH_SIM)) + #define ARCH_64BIT +#endif + void hal_init(void); -#if !defined(FORCE_32BIT) && INTPTR_MAX == INT64_MAX /* 64-bit platform */ -int hal_flash_write(uintptr_t address, const uint8_t *data, int len); -int hal_flash_erase(uintptr_t address, int len); +#ifdef ARCH_64BIT + typedef uintptr_t haladdr_t; /* 64-bit platforms */ + int hal_flash_write(uintptr_t address, const uint8_t *data, int len); + int hal_flash_erase(uintptr_t address, int len); #else -int hal_flash_write(uint32_t address, const uint8_t *data, int len); -int hal_flash_erase(uint32_t address, int len); + typedef uint32_t haladdr_t; /* original 32-bit */ + int hal_flash_write(uint32_t address, const uint8_t *data, int len); + int hal_flash_erase(uint32_t address, int len); #endif void hal_flash_unlock(void); void hal_flash_lock(void); diff --git a/tools/check_config/check_config.c b/tools/check_config/check_config.c index 45df32db..b0060fa5 100644 --- a/tools/check_config/check_config.c +++ b/tools/check_config/check_config.c @@ -32,11 +32,11 @@ static int locked = 0; void hal_init(void) { } -int hal_flash_write(uintptr_t address, const uint8_t *data, int len) +int hal_flash_write(haladdr_t address, const uint8_t *data, int len) { return 0; } -int hal_flash_erase(uintptr_t address, int len) +int hal_flash_erase(haladdr_t address, int len) { return 0; } diff --git a/tools/uart-flash-server/ufserver.c b/tools/uart-flash-server/ufserver.c index 73e5ffb6..09ac586a 100644 --- a/tools/uart-flash-server/ufserver.c +++ b/tools/uart-flash-server/ufserver.c @@ -88,7 +88,7 @@ void printmsg(const char *msg) } -int hal_flash_write(uintptr_t address, const uint8_t *data, int len) +int hal_flash_write(haladdr_t address, const uint8_t *data, int len) { (void)address; (void)data; @@ -96,7 +96,7 @@ int hal_flash_write(uintptr_t address, const uint8_t *data, int len) return -1; } -int hal_flash_erase(uintptr_t address, int len) +int hal_flash_erase(haladdr_t address, int len) { (void)address; (void)len; diff --git a/tools/unit-tests/unit-extflash.c b/tools/unit-tests/unit-extflash.c index 1adc63bc..9a878b62 100644 --- a/tools/unit-tests/unit-extflash.c +++ b/tools/unit-tests/unit-extflash.c @@ -68,11 +68,11 @@ static int locked = 0; void hal_init(void) { } -int hal_flash_write(uintptr_t address, const uint8_t *data, int len) +int hal_flash_write(haladdr_t address, const uint8_t *data, int len) { return 0; } -int hal_flash_erase(uintptr_t address, int len) +int hal_flash_erase(haladdr_t address, int len) { return 0; } diff --git a/tools/unit-tests/unit-parser.c b/tools/unit-tests/unit-parser.c index a5727770..8ebf48b0 100644 --- a/tools/unit-tests/unit-parser.c +++ b/tools/unit-tests/unit-parser.c @@ -37,11 +37,11 @@ static int locked = 0; void hal_init(void) { } -int hal_flash_write(uintptr_t address, const uint8_t *data, int len) +int hal_flash_write(haladdr_t address, const uint8_t *data, int len) { return 0; } -int hal_flash_erase(uintptr_t address, int len) +int hal_flash_erase(haladdr_t address, int len) { return 0; }