Maxim Ibragimov / mbed-dev

Dependents:   Nucleo_F103RB_RTC_battery_bkup_pwr_off_okay

Fork of mbed-dev by mbed official

Committer:
maxxir
Date:
Tue Nov 07 16:46:29 2017 +0000
Revision:
177:619788de047e
Parent:
172:7d866c31b3c5
To fix broken RTC on Nucleo_F103RB / STM32F103 BluePill etc..;  Used direct RTC register manipulation for STM32F1xx;  rtc_read() && rtc_write()  (native rtc_init() - works good);  also added stub for non-working on STM32F1xx rtc_read_subseconds().

Who changed what in which revision?

UserRevisionLine numberNew contents of line
<> 149:156823d33999 1 /*###ICF### Section handled by ICF editor, don't touch! ****/
<> 149:156823d33999 2 /*-Editor annotation file-*/
<> 149:156823d33999 3 /* IcfEditorFile="$TOOLKIT_DIR$\config\ide\IcfEditor\cortex_v1_0.xml" */
Anna Bridge 163:74e0ce7f98e8 4 if (!isdefinedsymbol(MBED_APP_START)) { define symbol MBED_APP_START = 0x00000000; }
Anna Bridge 163:74e0ce7f98e8 5 if (!isdefinedsymbol(MBED_APP_SIZE)) { define symbol MBED_APP_SIZE = 0x00080000; }
<> 149:156823d33999 6 /*-Specials-*/
Anna Bridge 163:74e0ce7f98e8 7 define symbol __ICFEDIT_intvec_start__ = MBED_APP_START;
<> 149:156823d33999 8 /*-Memory Regions-*/
Anna Bridge 163:74e0ce7f98e8 9 define symbol __ICFEDIT_region_ROM_start__ = MBED_APP_START;
Anna Bridge 163:74e0ce7f98e8 10 define symbol __ICFEDIT_region_ROM_end__ = MBED_APP_START + MBED_APP_SIZE - 1;
<> 149:156823d33999 11 define symbol __ICFEDIT_region_IRAM_start__ = 0x20000000;
AnnaBridge 172:7d866c31b3c5 12 define symbol __ICFEDIT_region_IRAM_end__ = 0x20010000 - 1;
<> 149:156823d33999 13 define symbol __ICFEDIT_region_XRAM_start__ = 0x60000000;
AnnaBridge 172:7d866c31b3c5 14 define symbol __ICFEDIT_region_XRAM_end__ = 0x60100000 - 1;
<> 149:156823d33999 15 /*-Sizes-*/
<> 151:5eaa88a5bcc7 16 define symbol __ICFEDIT_size_cstack__ = 0x800;
<> 149:156823d33999 17 define symbol __ICFEDIT_size_heap__ = 0xC0000;
<> 149:156823d33999 18 /**** End of ICF editor section. ###ICF###*/
<> 149:156823d33999 19
<> 149:156823d33999 20
<> 149:156823d33999 21 define memory mem with size = 4G;
<> 149:156823d33999 22 define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__];
<> 149:156823d33999 23 define region IRAM_region = mem:[from __ICFEDIT_region_IRAM_start__ to __ICFEDIT_region_IRAM_end__];
<> 149:156823d33999 24 define region XRAM_region = mem:[from __ICFEDIT_region_XRAM_start__ to __ICFEDIT_region_XRAM_end__];
<> 149:156823d33999 25
<> 149:156823d33999 26 define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { };
<> 149:156823d33999 27 define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { };
<> 149:156823d33999 28 /* NOTE: Vector table base requires to be aligned to the power of vector table size. Give a safe value here. */
<> 149:156823d33999 29 define block IRAMVEC with alignment = 1024, size = 4 * (16 + 142) { };
<> 149:156823d33999 30 /* Move non-critical libraries to external SRAM while internal SRAM is insufficient. */
<> 149:156823d33999 31 define block XRAM_NC with alignment = 8 { zeroinit object *lwip_*, zeroinit object *mesh_system.o };
<> 149:156823d33999 32
<> 149:156823d33999 33
<> 149:156823d33999 34 initialize by copy { readwrite };
<> 149:156823d33999 35 do not initialize { section .noinit };
<> 149:156823d33999 36
<> 149:156823d33999 37 place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec };
<> 149:156823d33999 38
<> 149:156823d33999 39 place in ROM_region { readonly };
<> 149:156823d33999 40 place at start of IRAM_region { block CSTACK };
<> 149:156823d33999 41 place in IRAM_region { block IRAMVEC };
<> 149:156823d33999 42 place in IRAM_region { readwrite };
<> 149:156823d33999 43 place in XRAM_region { block XRAM_NC, block HEAP };