Fix sys for STM32F103.

This commit is contained in:
NIIBE Yutaka
2017-09-29 13:47:35 +09:00
parent 5b7c5a9996
commit c08044e22b
3 changed files with 20 additions and 15 deletions

View File

@@ -148,7 +148,7 @@ flash_wait_for_last_operation (uint32_t timeout)
#define FLASH_ERASE_TIMEOUT 0x01000000
static int
flash_program_halfword (uint32_t addr, uint16_t data)
flash_program_halfword (uintptr_t addr, uint16_t data)
{
int status;
@@ -170,7 +170,7 @@ flash_program_halfword (uint32_t addr, uint16_t data)
}
static int
flash_erase_page (uint32_t addr)
flash_erase_page (uintptr_t addr)
{
int status;
@@ -210,13 +210,13 @@ flash_check_blank (const uint8_t *p_start, size_t size)
#define FLASH_SIZE_REG ((uint16_t *)0x1ffff7e0)
static int
flash_write (uint32_t dst_addr, const uint8_t *src, size_t len)
flash_write (uintptr_t dst_addr, const uint8_t *src, size_t len)
{
int status;
#if defined(STM32F103_OVERRIDE_FLASH_SIZE_KB)
uint32_t flash_end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024;
uintptr_t flash_end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024;
#else
uint32_t flash_end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024;
uintptr_t flash_end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024;
#endif
if (dst_addr < FLASH_START || dst_addr + len > flash_end)
@@ -272,11 +272,11 @@ flash_protect (void)
static void __attribute__((naked))
flash_erase_all_and_exec (void (*entry)(void))
{
uint32_t addr = FLASH_START;
uintptr_t addr = FLASH_START;
#if defined(STM32F103_OVERRIDE_FLASH_SIZE_KB)
uint32_t end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024;
uintptr_t end = FLASH_START_ADDR + STM32F103_OVERRIDE_FLASH_SIZE_KB*1024;
#else
uint32_t end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024;
uintptr_t end = FLASH_START_ADDR + (*FLASH_SIZE_REG)*1024;
#endif
uint32_t page_size = 1024;
int r;