diff --git a/README.md b/README.md index 092e048456..ac932b27dc 100644 --- a/README.md +++ b/README.md @@ -5,6 +5,7 @@ current binaries are always available at http://rusefi.com/build_server/ | Release date | Revision | Details | | ------------ | --------- | ------- | +| 03/09/2017 | r13223 | bugfix #374: persistent configuration starts to touch firmware - settings would need to be reloaded | | 03/09/2017 | r13146 | bugfix #370: duty cycle vs error code 6050 | | 03/06/2017 | r13123 | bugfix #363: 2/1 skipped wheel is a corner-case | | 03/05/2017 | r13108 | bugfix #363: trigger front only processing | diff --git a/firmware/config/stm32f4ems/STM32F407xG_CCM.ld b/firmware/config/stm32f4ems/STM32F407xG_CCM.ld index 0aeee2c0fc..1dbaf479a9 100644 --- a/firmware/config/stm32f4ems/STM32F407xG_CCM.ld +++ b/firmware/config/stm32f4ems/STM32F407xG_CCM.ld @@ -33,7 +33,7 @@ __process_stack_size__ = 0x0600; MEMORY { - flash : org = 0x08000000, len = 1M + flash : org = 0x08000000, len = 896k ram : org = 0x20000000, len = 112k ethram : org = 0x2001C000, len = 16k ccmram : org = 0x10000000, len = 64k diff --git a/firmware/controllers/flash_main.cpp b/firmware/controllers/flash_main.cpp index 243e969b22..ddce4e643d 100644 --- a/firmware/controllers/flash_main.cpp +++ b/firmware/controllers/flash_main.cpp @@ -36,14 +36,19 @@ extern persistent_config_container_s persistentState; extern engine_configuration_s *engineConfiguration; -#define FLASH_ADDR 0x08060000 +/** + * this address needs to be above 'flash' region available for firmware + * todo: an ideal solution would be to define this address in the .ld / .icf mapping file + */ + +#define FLASH_ADDR 0x080E0000 #define PERSISTENT_SIZE sizeof(persistent_config_container_s) /** * https://sourceforge.net/p/rusefi/tickets/335/ * - * Address of second cofig copy, rounded to 4K. 4K is the page size is it? + * Address of second config copy, rounded to 4K. 4K is the page size is it? * */ #define FLASH_ADDR_SECOND_COPY (FLASH_ADDR + ((PERSISTENT_SIZE + 4095) & 0xFFFFF000)) diff --git a/firmware/iar/ch.icf b/firmware/iar/ch.icf index 63f48eb13f..80e11cb641 100644 --- a/firmware/iar/ch.icf +++ b/firmware/iar/ch.icf @@ -5,7 +5,7 @@ define symbol __ICFEDIT_intvec_start__ = 0x08000000; /*-Memory Regions-*/ define symbol __ICFEDIT_region_ROM_start__ = 0x08000000; -define symbol __ICFEDIT_region_ROM_end__ = 0x0803FFFF; +define symbol __ICFEDIT_region_ROM_end__ = 0x080DFFFF; define symbol __ICFEDIT_region_RAM_start__ = 0x20000000; define symbol __ICFEDIT_region_RAM_end__ = 0x2001FFFF; define symbol __ICFEDIT_region_CCMRAM_start__ = 0x10000000;