From 484e828efe55f5cf908b863fd422513a6c0d1b2f Mon Sep 17 00:00:00 2001 From: StaySunny Date: Fri, 25 Jul 2025 09:09:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90flash=E5=AF=B9=E7=BB=93?= =?UTF-8?q?=E6=9E=84=E4=BD=93=E7=9A=84=E8=AF=BB=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- APP/main.c | 3 +- DEV/flash.c | 90 +++++++ DEV/flash.h | 10 + DEV/iic.c | 10 - Listings/example.map | 456 ++++++++++++++++++++-------------- Objects/example.axf | Bin 39300 -> 49588 bytes Objects/example.build_log.htm | 44 +++- Objects/example.htm | 425 +++++++++++++++++++------------ Objects/example.lnp | 1 + Objects/example_Target_1.dep | 20 +- Objects/flash.d | 14 ++ Objects/flash.o | Bin 0 -> 4900 bytes Objects/iic.o | Bin 17576 -> 17572 bytes Objects/main.d | 2 +- Objects/main.o | Bin 3536 -> 3576 bytes example.uvguix.gxyos | 55 ++-- example.uvoptx | 35 ++- example.uvprojx | 5 + 18 files changed, 761 insertions(+), 409 deletions(-) create mode 100644 DEV/flash.c create mode 100644 DEV/flash.h create mode 100644 Objects/flash.d create mode 100644 Objects/flash.o diff --git a/APP/main.c b/APP/main.c index 4945f5d..d06ae50 100644 --- a/APP/main.c +++ b/APP/main.c @@ -1,6 +1,6 @@ #include "stm32f10x.h" #include "iic.h" - +#include "flash.h" @@ -23,6 +23,7 @@ int main(){ test(); + flash_Test(); while(1); diff --git a/DEV/flash.c b/DEV/flash.c new file mode 100644 index 0000000..3e18c3b --- /dev/null +++ b/DEV/flash.c @@ -0,0 +1,90 @@ +#include "flash.h" + +#include "stm32f10x.h" +#include + + + +typedef struct { + uint32_t version; // 序号/标志位 + uint32_t write_count; + uint32_t error_count; + float temperature; + uint32_t crc32; // 最后一个成员:CRC校验 +} FlashData_t; + + + +// 最后一页页号(从0开始) +#define FLASH_PAGE_NUM 63 + +// 每页大小 +#define FLASH_PAGE_SIZE 1024 + +// Flash起始地址 +#define FLASH_BASE_ADDR 0x08000000 + +// 最后一页的地址 +#define FLASH_LAST_PAGE_ADDR (FLASH_BASE_ADDR + FLASH_PAGE_NUM * FLASH_PAGE_SIZE) +// 即:0x08000000 + 63 * 1024 = 0x0800FC00 + + +#define FLASH_TARGET_ADDR ((uint32_t)FLASH_LAST_PAGE_ADDR) // 最后1KB起始地址 + + + +// 擦除对应页(1KB) +void Flash_ErasePage(uint32_t page_addr) { + FLASH_Unlock(); + FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); + FLASH_ErasePage(page_addr); + FLASH_Lock(); +} + +// 写入结构体到 Flash(页擦除+按字写入) +void Flash_WriteStruct(uint32_t addr, void* data, uint16_t size) { + uint16_t i; + uint32_t* pData = (uint32_t*)data; + + FLASH_Unlock(); + FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); + FLASH_ErasePage(addr); // 注意:必须按页擦除 + + for (i = 0; i < (size + 3) / 4; i++) { // 以 4 字节为单位写入 + FLASH_ProgramWord(addr + i * 4, pData[i]); + } + + FLASH_Lock(); +} + +// 从 Flash 读取结构体 +void Flash_ReadStruct(uint32_t addr, void* data, uint16_t size) { + memcpy(data, (void*)addr, size); +} +FlashData_t readData; + + + + +void flash_Test(){ + + FlashData_t myData = { + .write_count = 123, + .error_count = 456, + .temperature = 36.5f + }; + + FlashData_t readData; + + // 写入结构体 + Flash_WriteStruct(FLASH_TARGET_ADDR, &myData, sizeof(FlashData_t)); + + // 读取结构体 + Flash_ReadStruct(FLASH_TARGET_ADDR, &readData,sizeof(FlashData_t)); + + + + + + +} diff --git a/DEV/flash.h b/DEV/flash.h new file mode 100644 index 0000000..d563a06 --- /dev/null +++ b/DEV/flash.h @@ -0,0 +1,10 @@ +#ifndef _FLASH_H_ +#define _FLASH_H_ + + + + +void flash_Test(); + + +#endif \ No newline at end of file diff --git a/DEV/iic.c b/DEV/iic.c index 377fc63..25ca4f4 100644 --- a/DEV/iic.c +++ b/DEV/iic.c @@ -443,17 +443,7 @@ void test(){ OLED_Refresh(); - while(1){ - - //OLED_Fill(0xFF); // 清屏 - //delay_ms_simple(1000); - - //OLED_Fill(0x00); - //delay_ms_simple(1000); - - - } } diff --git a/Listings/example.map b/Listings/example.map index 9c9b181..7a4b05c 100644 --- a/Listings/example.map +++ b/Listings/example.map @@ -8,6 +8,7 @@ Section Cross References main.o(.text.main) refers to stm32f10x_gpio.o(.text.GPIO_Init) for GPIO_Init main.o(.text.main) refers to stm32f10x_gpio.o(.text.GPIO_ResetBits) for GPIO_ResetBits main.o(.text.main) refers to iic.o(.text.test) for test + main.o(.text.main) refers to flash.o(.text.flash_Test) for flash_Test main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol] iic.o(.ARM.exidx.text.delay) refers to iic.o(.text.delay) for [Anonymous Symbol] iic.o(.ARM.exidx.text.delay_us_simple) refers to iic.o(.text.delay_us_simple) for [Anonymous Symbol] @@ -82,6 +83,23 @@ Section Cross References iic.o(.text.test) refers to iic.o(.text.lcd_show_all_ascii_lowercase) for lcd_show_all_ascii_lowercase iic.o(.text.test) refers to iic.o(.text.OLED_Refresh) for OLED_Refresh iic.o(.ARM.exidx.text.test) refers to iic.o(.text.test) for [Anonymous Symbol] + flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_Unlock) for FLASH_Unlock + flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_ClearFlag) for FLASH_ClearFlag + flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_ErasePage) for FLASH_ErasePage + flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_Lock) for FLASH_Lock + flash.o(.ARM.exidx.text.Flash_ErasePage) refers to flash.o(.text.Flash_ErasePage) for [Anonymous Symbol] + flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_Unlock) for FLASH_Unlock + flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ClearFlag) for FLASH_ClearFlag + flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ErasePage) for FLASH_ErasePage + flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ProgramWord) for FLASH_ProgramWord + flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_Lock) for FLASH_Lock + flash.o(.ARM.exidx.text.Flash_WriteStruct) refers to flash.o(.text.Flash_WriteStruct) for [Anonymous Symbol] + flash.o(.text.Flash_ReadStruct) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy + flash.o(.ARM.exidx.text.Flash_ReadStruct) refers to flash.o(.text.Flash_ReadStruct) for [Anonymous Symbol] + flash.o(.text.flash_Test) refers to flash.o(.rodata..L__const.flash_Test.myData) for .L__const.flash_Test.myData + flash.o(.text.flash_Test) refers to flash.o(.text.Flash_WriteStruct) for Flash_WriteStruct + flash.o(.text.flash_Test) refers to flash.o(.text.Flash_ReadStruct) for Flash_ReadStruct + flash.o(.ARM.exidx.text.flash_Test) refers to flash.o(.text.flash_Test) for [Anonymous Symbol] misc.o(.ARM.exidx.text.NVIC_PriorityGroupConfig) refers to misc.o(.text.NVIC_PriorityGroupConfig) for [Anonymous Symbol] misc.o(.ARM.exidx.text.NVIC_Init) refers to misc.o(.text.NVIC_Init) for [Anonymous Symbol] misc.o(.ARM.exidx.text.NVIC_SetVectorTable) refers to misc.o(.text.NVIC_SetVectorTable) for [Anonymous Symbol] @@ -411,6 +429,7 @@ Section Cross References system_stm32f10x.o(.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.rodata.AHBPrescTable) for AHBPrescTable system_stm32f10x.o(.ARM.exidx.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.text.SystemCoreClockUpdate) for [Anonymous Symbol] system_stm32f10x.o(.ARM.exidx.text.SetSysClockTo72) refers to system_stm32f10x.o(.text.SetSysClockTo72) for [Anonymous Symbol] + rt_memcpy_v6.o(.text) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4 __main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li __rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main @@ -552,6 +571,13 @@ Removing Unused input sections from the image. Removing iic.o(.ARM.exidx.text.OLED_ShowChar), (8 bytes). Removing iic.o(.ARM.exidx.text.lcd_show_all_ascii_lowercase), (8 bytes). Removing iic.o(.ARM.exidx.text.test), (8 bytes). + Removing flash.o(.text), (0 bytes). + Removing flash.o(.text.Flash_ErasePage), (30 bytes). + Removing flash.o(.ARM.exidx.text.Flash_ErasePage), (8 bytes). + Removing flash.o(.ARM.exidx.text.Flash_WriteStruct), (8 bytes). + Removing flash.o(.ARM.exidx.text.Flash_ReadStruct), (8 bytes). + Removing flash.o(.ARM.exidx.text.flash_Test), (8 bytes). + Removing flash.o(.bss.readData), (20 bytes). Removing misc.o(.text), (0 bytes). Removing misc.o(.text.NVIC_PriorityGroupConfig), (28 bytes). Removing misc.o(.ARM.exidx.text.NVIC_PriorityGroupConfig), (8 bytes). @@ -570,17 +596,13 @@ Removing Unused input sections from the image. Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_HalfCycleAccessCmd), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_PrefetchBufferCmd), (32 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_PrefetchBufferCmd), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_Unlock), (30 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_Unlock), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_UnlockBank1), (30 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_UnlockBank1), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_Lock), (18 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_Lock), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_LockBank1), (18 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_LockBank1), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_ErasePage), (106 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ErasePage), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_WaitForLastOperation), (94 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_WaitForLastOperation), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_EraseAllPages), (92 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_EraseAllPages), (8 bytes). @@ -592,7 +614,6 @@ Removing Unused input sections from the image. Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_EraseOptionBytes), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_GetReadOutProtectionStatus), (50 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetReadOutProtectionStatus), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_ProgramWord), (160 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ProgramWord), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_ProgramHalfWord), (98 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ProgramHalfWord), (8 bytes). @@ -614,11 +635,9 @@ Removing Unused input sections from the image. Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ITConfig), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_GetFlagStatus), (96 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetFlagStatus), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_ClearFlag), (20 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ClearFlag), (8 bytes). Removing stm32f10x_flash.o(.text.FLASH_GetStatus), (104 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetStatus), (8 bytes). - Removing stm32f10x_flash.o(.text.FLASH_GetBank1Status), (104 bytes). Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetBank1Status), (8 bytes). Removing stm32f10x_gpio.o(.text), (0 bytes). Removing stm32f10x_gpio.o(.text.GPIO_DeInit), (276 bytes). @@ -1093,7 +1112,7 @@ Removing Unused input sections from the image. Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes). Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes). -570 unused section(s) (total 23036 bytes) removed from the image. +570 unused section(s) (total 22586 bytes) removed from the image. ============================================================================== @@ -1136,6 +1155,8 @@ Image Symbol Table ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_v6.o ABSOLUTE + ../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE @@ -1157,6 +1178,7 @@ Image Symbol Table GPIO_STM32F10x.c 0x00000000 Number 0 gpio_stm32f10x.o ABSOLUTE RTE/Device/STM32F103C8/startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE dc.s 0x00000000 Number 0 dc.o ABSOLUTE + flash.c 0x00000000 Number 0 flash.o ABSOLUTE iic.c 0x00000000 Number 0 iic.o ABSOLUTE main.c 0x00000000 Number 0 main.o ABSOLUTE misc.c 0x00000000 Number 0 misc.o ABSOLUTE @@ -1216,40 +1238,53 @@ Image Symbol Table .ARM.Collect$$rtexit$$00000003 0x0800018c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003) .ARM.Collect$$rtexit$$00000004 0x08000190 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004) .text 0x08000198 Section 64 startup_stm32f10x_md.o(.text) - .text 0x080001d8 Section 0 heapauxi.o(.text) - .text 0x080001de Section 74 sys_stackheap_outer.o(.text) - .text 0x08000228 Section 0 exit.o(.text) - .text 0x0800023c Section 8 libspace.o(.text) - .text 0x08000244 Section 0 sys_exit.o(.text) - .text 0x08000250 Section 2 use_no_semi.o(.text) - .text 0x08000252 Section 0 indicate_semi.o(.text) - [Anonymous Symbol] 0x08000254 Section 0 stm32f10x_gpio.o(.text.GPIO_Init) - [Anonymous Symbol] 0x080003dc Section 0 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit) - [Anonymous Symbol] 0x08000410 Section 0 stm32f10x_gpio.o(.text.GPIO_ResetBits) - [Anonymous Symbol] 0x08000424 Section 0 stm32f10x_gpio.o(.text.GPIO_SetBits) - [Anonymous Symbol] 0x08000438 Section 0 iic.o(.text.IIC_Delay) - [Anonymous Symbol] 0x0800043c Section 0 iic.o(.text.IIC_GPIO_Init) - [Anonymous Symbol] 0x08000484 Section 0 iic.o(.text.IIC_Send_Byte) - [Anonymous Symbol] 0x0800050c Section 0 iic.o(.text.IIC_Start) - [Anonymous Symbol] 0x08000550 Section 0 iic.o(.text.IIC_Stop) - [Anonymous Symbol] 0x08000588 Section 0 iic.o(.text.IIC_Wait_Ack) - [Anonymous Symbol] 0x08000610 Section 0 iic.o(.text.OLED_Fill) - [Anonymous Symbol] 0x08000680 Section 0 iic.o(.text.OLED_Init) - [Anonymous Symbol] 0x08000744 Section 0 iic.o(.text.OLED_Refresh) - [Anonymous Symbol] 0x080007c0 Section 0 iic.o(.text.OLED_ShowChar) - [Anonymous Symbol] 0x08000844 Section 0 iic.o(.text.OLED_WriteCommand) - [Anonymous Symbol] 0x08000878 Section 0 iic.o(.text.OLED_WriteData) - [Anonymous Symbol] 0x080008ac Section 0 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd) - SetSysClock 0x080008e5 Thumb Code 8 system_stm32f10x.o(.text.SetSysClock) - [Anonymous Symbol] 0x080008e4 Section 0 system_stm32f10x.o(.text.SetSysClock) - SetSysClockTo72 0x080008ed Thumb Code 290 system_stm32f10x.o(.text.SetSysClockTo72) - [Anonymous Symbol] 0x080008ec Section 0 system_stm32f10x.o(.text.SetSysClockTo72) - [Anonymous Symbol] 0x08000a10 Section 0 system_stm32f10x.o(.text.SystemInit) - [Anonymous Symbol] 0x08000a78 Section 0 iic.o(.text.delay_ms_simple) - [Anonymous Symbol] 0x08000a98 Section 0 iic.o(.text.delay_us_simple) - [Anonymous Symbol] 0x08000ac8 Section 0 iic.o(.text.lcd_show_all_ascii_lowercase) - [Anonymous Symbol] 0x08000b54 Section 0 main.o(.text.main) - [Anonymous Symbol] 0x08000b9c Section 0 iic.o(.text.test) + .text 0x080001d8 Section 138 rt_memcpy_v6.o(.text) + .text 0x08000262 Section 0 heapauxi.o(.text) + .text 0x08000268 Section 100 rt_memcpy_w.o(.text) + .text 0x080002cc Section 74 sys_stackheap_outer.o(.text) + .text 0x08000316 Section 0 exit.o(.text) + .text 0x08000328 Section 8 libspace.o(.text) + .text 0x08000330 Section 0 sys_exit.o(.text) + .text 0x0800033c Section 2 use_no_semi.o(.text) + .text 0x0800033e Section 0 indicate_semi.o(.text) + [Anonymous Symbol] 0x08000340 Section 0 stm32f10x_flash.o(.text.FLASH_ClearFlag) + [Anonymous Symbol] 0x08000354 Section 0 stm32f10x_flash.o(.text.FLASH_ErasePage) + [Anonymous Symbol] 0x080003c0 Section 0 stm32f10x_flash.o(.text.FLASH_GetBank1Status) + [Anonymous Symbol] 0x08000428 Section 0 stm32f10x_flash.o(.text.FLASH_Lock) + [Anonymous Symbol] 0x0800043c Section 0 stm32f10x_flash.o(.text.FLASH_ProgramWord) + [Anonymous Symbol] 0x080004dc Section 0 stm32f10x_flash.o(.text.FLASH_Unlock) + [Anonymous Symbol] 0x080004fc Section 0 stm32f10x_flash.o(.text.FLASH_WaitForLastOperation) + [Anonymous Symbol] 0x0800055c Section 0 flash.o(.text.Flash_ReadStruct) + [Anonymous Symbol] 0x08000578 Section 0 flash.o(.text.Flash_WriteStruct) + [Anonymous Symbol] 0x080005dc Section 0 stm32f10x_gpio.o(.text.GPIO_Init) + [Anonymous Symbol] 0x08000764 Section 0 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit) + [Anonymous Symbol] 0x08000798 Section 0 stm32f10x_gpio.o(.text.GPIO_ResetBits) + [Anonymous Symbol] 0x080007ac Section 0 stm32f10x_gpio.o(.text.GPIO_SetBits) + [Anonymous Symbol] 0x080007c0 Section 0 iic.o(.text.IIC_Delay) + [Anonymous Symbol] 0x080007c4 Section 0 iic.o(.text.IIC_GPIO_Init) + [Anonymous Symbol] 0x0800080c Section 0 iic.o(.text.IIC_Send_Byte) + [Anonymous Symbol] 0x08000894 Section 0 iic.o(.text.IIC_Start) + [Anonymous Symbol] 0x080008d8 Section 0 iic.o(.text.IIC_Stop) + [Anonymous Symbol] 0x08000910 Section 0 iic.o(.text.IIC_Wait_Ack) + [Anonymous Symbol] 0x08000998 Section 0 iic.o(.text.OLED_Fill) + [Anonymous Symbol] 0x08000a08 Section 0 iic.o(.text.OLED_Init) + [Anonymous Symbol] 0x08000acc Section 0 iic.o(.text.OLED_Refresh) + [Anonymous Symbol] 0x08000b48 Section 0 iic.o(.text.OLED_ShowChar) + [Anonymous Symbol] 0x08000bcc Section 0 iic.o(.text.OLED_WriteCommand) + [Anonymous Symbol] 0x08000c00 Section 0 iic.o(.text.OLED_WriteData) + [Anonymous Symbol] 0x08000c34 Section 0 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd) + SetSysClock 0x08000c6d Thumb Code 8 system_stm32f10x.o(.text.SetSysClock) + [Anonymous Symbol] 0x08000c6c Section 0 system_stm32f10x.o(.text.SetSysClock) + SetSysClockTo72 0x08000c75 Thumb Code 290 system_stm32f10x.o(.text.SetSysClockTo72) + [Anonymous Symbol] 0x08000c74 Section 0 system_stm32f10x.o(.text.SetSysClockTo72) + [Anonymous Symbol] 0x08000d98 Section 0 system_stm32f10x.o(.text.SystemInit) + [Anonymous Symbol] 0x08000e00 Section 0 iic.o(.text.delay_ms_simple) + [Anonymous Symbol] 0x08000e20 Section 0 iic.o(.text.delay_us_simple) + [Anonymous Symbol] 0x08000e50 Section 0 flash.o(.text.flash_Test) + [Anonymous Symbol] 0x08000ea0 Section 0 iic.o(.text.lcd_show_all_ascii_lowercase) + [Anonymous Symbol] 0x08000f2c Section 0 main.o(.text.main) + [Anonymous Symbol] 0x08000f78 Section 0 iic.o(.text.test) + .L__const.flash_Test.myData 0x08000f8c Data 20 flash.o(.rodata..L__const.flash_Test.myData) .bss 0x20000000 Section 96 libspace.o(.bss) Heap_Mem 0x20000460 Data 512 startup_stm32f10x_md.o(HEAP) HEAP 0x20000460 Section 512 startup_stm32f10x_md.o(HEAP) @@ -1398,44 +1433,61 @@ Image Symbol Table USB_LP_CAN1_RX0_IRQHandler 0x080001b3 Thumb Code 0 startup_stm32f10x_md.o(.text) WWDG_IRQHandler 0x080001b3 Thumb Code 0 startup_stm32f10x_md.o(.text) __user_initial_stackheap 0x080001b5 Thumb Code 0 startup_stm32f10x_md.o(.text) - __use_two_region_memory 0x080001d9 Thumb Code 2 heapauxi.o(.text) - __rt_heap_escrow$2region 0x080001db Thumb Code 2 heapauxi.o(.text) - __rt_heap_expand$2region 0x080001dd Thumb Code 2 heapauxi.o(.text) - __user_setup_stackheap 0x080001df Thumb Code 74 sys_stackheap_outer.o(.text) - exit 0x08000229 Thumb Code 18 exit.o(.text) - __user_libspace 0x0800023d Thumb Code 8 libspace.o(.text) - __user_perproc_libspace 0x0800023d Thumb Code 0 libspace.o(.text) - __user_perthread_libspace 0x0800023d Thumb Code 0 libspace.o(.text) - _sys_exit 0x08000245 Thumb Code 8 sys_exit.o(.text) - __I$use$semihosting 0x08000251 Thumb Code 0 use_no_semi.o(.text) - __use_no_semihosting_swi 0x08000251 Thumb Code 2 use_no_semi.o(.text) - __semihosting_library_function 0x08000253 Thumb Code 0 indicate_semi.o(.text) - GPIO_Init 0x08000255 Thumb Code 390 stm32f10x_gpio.o(.text.GPIO_Init) - GPIO_ReadInputDataBit 0x080003dd Thumb Code 52 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit) - GPIO_ResetBits 0x08000411 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_ResetBits) - GPIO_SetBits 0x08000425 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_SetBits) - IIC_Delay 0x08000439 Thumb Code 2 iic.o(.text.IIC_Delay) - IIC_GPIO_Init 0x0800043d Thumb Code 72 iic.o(.text.IIC_GPIO_Init) - IIC_Send_Byte 0x08000485 Thumb Code 134 iic.o(.text.IIC_Send_Byte) - IIC_Start 0x0800050d Thumb Code 68 iic.o(.text.IIC_Start) - IIC_Stop 0x08000551 Thumb Code 54 iic.o(.text.IIC_Stop) - IIC_Wait_Ack 0x08000589 Thumb Code 134 iic.o(.text.IIC_Wait_Ack) - OLED_Fill 0x08000611 Thumb Code 110 iic.o(.text.OLED_Fill) - OLED_Init 0x08000681 Thumb Code 196 iic.o(.text.OLED_Init) - OLED_Refresh 0x08000745 Thumb Code 124 iic.o(.text.OLED_Refresh) - OLED_ShowChar 0x080007c1 Thumb Code 132 iic.o(.text.OLED_ShowChar) - OLED_WriteCommand 0x08000845 Thumb Code 52 iic.o(.text.OLED_WriteCommand) - OLED_WriteData 0x08000879 Thumb Code 52 iic.o(.text.OLED_WriteData) - RCC_APB2PeriphClockCmd 0x080008ad Thumb Code 56 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd) - SystemInit 0x08000a11 Thumb Code 102 system_stm32f10x.o(.text.SystemInit) - delay_ms_simple 0x08000a79 Thumb Code 32 iic.o(.text.delay_ms_simple) - delay_us_simple 0x08000a99 Thumb Code 46 iic.o(.text.delay_us_simple) - lcd_show_all_ascii_lowercase 0x08000ac9 Thumb Code 140 iic.o(.text.lcd_show_all_ascii_lowercase) - main 0x08000b55 Thumb Code 72 main.o(.text.main) - test 0x08000b9d Thumb Code 22 iic.o(.text.test) - Font6x8 0x08000bb2 Data 570 iic.o(.rodata.Font6x8) - Region$$Table$$Base 0x08000dec Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x08000dfc Number 0 anon$$obj.o(Region$$Table) + __aeabi_memcpy 0x080001d9 Thumb Code 0 rt_memcpy_v6.o(.text) + __rt_memcpy 0x080001d9 Thumb Code 138 rt_memcpy_v6.o(.text) + _memcpy_lastbytes 0x0800023f Thumb Code 0 rt_memcpy_v6.o(.text) + __use_two_region_memory 0x08000263 Thumb Code 2 heapauxi.o(.text) + __rt_heap_escrow$2region 0x08000265 Thumb Code 2 heapauxi.o(.text) + __rt_heap_expand$2region 0x08000267 Thumb Code 2 heapauxi.o(.text) + __aeabi_memcpy4 0x08000269 Thumb Code 0 rt_memcpy_w.o(.text) + __aeabi_memcpy8 0x08000269 Thumb Code 0 rt_memcpy_w.o(.text) + __rt_memcpy_w 0x08000269 Thumb Code 100 rt_memcpy_w.o(.text) + _memcpy_lastbytes_aligned 0x080002b1 Thumb Code 0 rt_memcpy_w.o(.text) + __user_setup_stackheap 0x080002cd Thumb Code 74 sys_stackheap_outer.o(.text) + exit 0x08000317 Thumb Code 18 exit.o(.text) + __user_libspace 0x08000329 Thumb Code 8 libspace.o(.text) + __user_perproc_libspace 0x08000329 Thumb Code 0 libspace.o(.text) + __user_perthread_libspace 0x08000329 Thumb Code 0 libspace.o(.text) + _sys_exit 0x08000331 Thumb Code 8 sys_exit.o(.text) + __I$use$semihosting 0x0800033d Thumb Code 0 use_no_semi.o(.text) + __use_no_semihosting_swi 0x0800033d Thumb Code 2 use_no_semi.o(.text) + __semihosting_library_function 0x0800033f Thumb Code 0 indicate_semi.o(.text) + FLASH_ClearFlag 0x08000341 Thumb Code 20 stm32f10x_flash.o(.text.FLASH_ClearFlag) + FLASH_ErasePage 0x08000355 Thumb Code 106 stm32f10x_flash.o(.text.FLASH_ErasePage) + FLASH_GetBank1Status 0x080003c1 Thumb Code 104 stm32f10x_flash.o(.text.FLASH_GetBank1Status) + FLASH_Lock 0x08000429 Thumb Code 18 stm32f10x_flash.o(.text.FLASH_Lock) + FLASH_ProgramWord 0x0800043d Thumb Code 160 stm32f10x_flash.o(.text.FLASH_ProgramWord) + FLASH_Unlock 0x080004dd Thumb Code 30 stm32f10x_flash.o(.text.FLASH_Unlock) + FLASH_WaitForLastOperation 0x080004fd Thumb Code 94 stm32f10x_flash.o(.text.FLASH_WaitForLastOperation) + Flash_ReadStruct 0x0800055d Thumb Code 28 flash.o(.text.Flash_ReadStruct) + Flash_WriteStruct 0x08000579 Thumb Code 100 flash.o(.text.Flash_WriteStruct) + GPIO_Init 0x080005dd Thumb Code 390 stm32f10x_gpio.o(.text.GPIO_Init) + GPIO_ReadInputDataBit 0x08000765 Thumb Code 52 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit) + GPIO_ResetBits 0x08000799 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_ResetBits) + GPIO_SetBits 0x080007ad Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_SetBits) + IIC_Delay 0x080007c1 Thumb Code 2 iic.o(.text.IIC_Delay) + IIC_GPIO_Init 0x080007c5 Thumb Code 72 iic.o(.text.IIC_GPIO_Init) + IIC_Send_Byte 0x0800080d Thumb Code 134 iic.o(.text.IIC_Send_Byte) + IIC_Start 0x08000895 Thumb Code 68 iic.o(.text.IIC_Start) + IIC_Stop 0x080008d9 Thumb Code 54 iic.o(.text.IIC_Stop) + IIC_Wait_Ack 0x08000911 Thumb Code 134 iic.o(.text.IIC_Wait_Ack) + OLED_Fill 0x08000999 Thumb Code 110 iic.o(.text.OLED_Fill) + OLED_Init 0x08000a09 Thumb Code 196 iic.o(.text.OLED_Init) + OLED_Refresh 0x08000acd Thumb Code 124 iic.o(.text.OLED_Refresh) + OLED_ShowChar 0x08000b49 Thumb Code 132 iic.o(.text.OLED_ShowChar) + OLED_WriteCommand 0x08000bcd Thumb Code 52 iic.o(.text.OLED_WriteCommand) + OLED_WriteData 0x08000c01 Thumb Code 52 iic.o(.text.OLED_WriteData) + RCC_APB2PeriphClockCmd 0x08000c35 Thumb Code 56 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd) + SystemInit 0x08000d99 Thumb Code 102 system_stm32f10x.o(.text.SystemInit) + delay_ms_simple 0x08000e01 Thumb Code 32 iic.o(.text.delay_ms_simple) + delay_us_simple 0x08000e21 Thumb Code 46 iic.o(.text.delay_us_simple) + flash_Test 0x08000e51 Thumb Code 78 flash.o(.text.flash_Test) + lcd_show_all_ascii_lowercase 0x08000ea1 Thumb Code 140 iic.o(.text.lcd_show_all_ascii_lowercase) + main 0x08000f2d Thumb Code 76 main.o(.text.main) + test 0x08000f79 Thumb Code 20 iic.o(.text.test) + Font6x8 0x08000fa0 Data 570 iic.o(.rodata.Font6x8) + Region$$Table$$Base 0x080011dc Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x080011ec Number 0 anon$$obj.o(Region$$Table) __libspace_start 0x20000000 Data 96 libspace.o(.bss) OLED_GRAM 0x20000060 Data 1024 iic.o(.bss.OLED_GRAM) __temporary_stack_top$libspace 0x20000060 Data 0 libspace.o(.bss) @@ -1448,117 +1500,135 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000dfc, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000011ec, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000dfc, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000011ec, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x08000000 0x08000000 0x000000ec Data RO 654 RESET startup_stm32f10x_md.o - 0x080000ec 0x080000ec 0x00000008 Code RO 682 * !!!main c_w.l(__main.o) - 0x080000f4 0x080000f4 0x0000005c Code RO 847 !!!scatter c_w.l(__scatter.o) - 0x08000150 0x08000150 0x00000002 Code RO 848 !!handler_null c_w.l(__scatter.o) + 0x08000000 0x08000000 0x000000ec Data RO 671 RESET startup_stm32f10x_md.o + 0x080000ec 0x080000ec 0x00000008 Code RO 701 * !!!main c_w.l(__main.o) + 0x080000f4 0x080000f4 0x0000005c Code RO 868 !!!scatter c_w.l(__scatter.o) + 0x08000150 0x08000150 0x00000002 Code RO 869 !!handler_null c_w.l(__scatter.o) 0x08000152 0x08000152 0x00000002 PAD - 0x08000154 0x08000154 0x0000001c Code RO 851 !!handler_zi c_w.l(__scatter_zi.o) - 0x08000170 0x08000170 0x00000002 Code RO 709 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) - 0x08000172 0x08000172 0x00000000 Code RO 716 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 718 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 720 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 723 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 725 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 727 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 730 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 732 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 734 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 736 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 738 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 740 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 742 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 744 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 746 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 748 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 750 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 754 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 756 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 758 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000000 Code RO 760 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) - 0x08000172 0x08000172 0x00000002 Code RO 761 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) - 0x08000174 0x08000174 0x00000002 Code RO 783 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) - 0x08000176 0x08000176 0x00000000 Code RO 798 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000000 Code RO 800 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000000 Code RO 803 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000000 Code RO 806 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000000 Code RO 808 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000000 Code RO 811 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) - 0x08000176 0x08000176 0x00000002 Code RO 812 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) - 0x08000178 0x08000178 0x00000000 Code RO 684 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) - 0x08000178 0x08000178 0x00000000 Code RO 686 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) - 0x08000178 0x08000178 0x00000006 Code RO 698 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) - 0x0800017e 0x0800017e 0x00000000 Code RO 688 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) - 0x0800017e 0x0800017e 0x00000004 Code RO 689 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) - 0x08000182 0x08000182 0x00000000 Code RO 691 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) - 0x08000182 0x08000182 0x00000008 Code RO 692 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) - 0x0800018a 0x0800018a 0x00000002 Code RO 713 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) - 0x0800018c 0x0800018c 0x00000000 Code RO 763 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) - 0x0800018c 0x0800018c 0x00000004 Code RO 764 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) - 0x08000190 0x08000190 0x00000006 Code RO 765 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) + 0x08000154 0x08000154 0x0000001c Code RO 872 !!handler_zi c_w.l(__scatter_zi.o) + 0x08000170 0x08000170 0x00000002 Code RO 730 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o) + 0x08000172 0x08000172 0x00000000 Code RO 737 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 739 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 741 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 744 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 746 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 748 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 751 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 753 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 755 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 757 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 759 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 761 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 763 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 765 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 767 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 769 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 771 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 775 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 777 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 779 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000000 Code RO 781 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o) + 0x08000172 0x08000172 0x00000002 Code RO 782 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o) + 0x08000174 0x08000174 0x00000002 Code RO 804 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o) + 0x08000176 0x08000176 0x00000000 Code RO 819 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000000 Code RO 821 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000000 Code RO 824 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000000 Code RO 827 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000000 Code RO 829 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000000 Code RO 832 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o) + 0x08000176 0x08000176 0x00000002 Code RO 833 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o) + 0x08000178 0x08000178 0x00000000 Code RO 703 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o) + 0x08000178 0x08000178 0x00000000 Code RO 707 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o) + 0x08000178 0x08000178 0x00000006 Code RO 719 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o) + 0x0800017e 0x0800017e 0x00000000 Code RO 709 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o) + 0x0800017e 0x0800017e 0x00000004 Code RO 710 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o) + 0x08000182 0x08000182 0x00000000 Code RO 712 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o) + 0x08000182 0x08000182 0x00000008 Code RO 713 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o) + 0x0800018a 0x0800018a 0x00000002 Code RO 734 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o) + 0x0800018c 0x0800018c 0x00000000 Code RO 784 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o) + 0x0800018c 0x0800018c 0x00000004 Code RO 785 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o) + 0x08000190 0x08000190 0x00000006 Code RO 786 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o) 0x08000196 0x08000196 0x00000002 PAD - 0x08000198 0x08000198 0x00000040 Code RO 655 .text startup_stm32f10x_md.o - 0x080001d8 0x080001d8 0x00000006 Code RO 680 .text c_w.l(heapauxi.o) - 0x080001de 0x080001de 0x0000004a Code RO 700 .text c_w.l(sys_stackheap_outer.o) - 0x08000228 0x08000228 0x00000012 Code RO 702 .text c_w.l(exit.o) - 0x0800023a 0x0800023a 0x00000002 PAD - 0x0800023c 0x0800023c 0x00000008 Code RO 710 .text c_w.l(libspace.o) - 0x08000244 0x08000244 0x0000000c Code RO 773 .text c_w.l(sys_exit.o) - 0x08000250 0x08000250 0x00000002 Code RO 788 .text c_w.l(use_no_semi.o) - 0x08000252 0x08000252 0x00000000 Code RO 790 .text c_w.l(indicate_semi.o) - 0x08000252 0x08000252 0x00000002 PAD - 0x08000254 0x08000254 0x00000186 Code RO 146 .text.GPIO_Init stm32f10x_gpio.o - 0x080003da 0x080003da 0x00000002 PAD - 0x080003dc 0x080003dc 0x00000034 Code RO 150 .text.GPIO_ReadInputDataBit stm32f10x_gpio.o - 0x08000410 0x08000410 0x00000014 Code RO 160 .text.GPIO_ResetBits stm32f10x_gpio.o - 0x08000424 0x08000424 0x00000014 Code RO 158 .text.GPIO_SetBits stm32f10x_gpio.o - 0x08000438 0x08000438 0x00000002 Code RO 19 .text.IIC_Delay iic.o + 0x08000198 0x08000198 0x00000040 Code RO 672 .text startup_stm32f10x_md.o + 0x080001d8 0x080001d8 0x0000008a Code RO 697 .text c_w.l(rt_memcpy_v6.o) + 0x08000262 0x08000262 0x00000006 Code RO 699 .text c_w.l(heapauxi.o) + 0x08000268 0x08000268 0x00000064 Code RO 704 .text c_w.l(rt_memcpy_w.o) + 0x080002cc 0x080002cc 0x0000004a Code RO 721 .text c_w.l(sys_stackheap_outer.o) + 0x08000316 0x08000316 0x00000012 Code RO 723 .text c_w.l(exit.o) + 0x08000328 0x08000328 0x00000008 Code RO 731 .text c_w.l(libspace.o) + 0x08000330 0x08000330 0x0000000c Code RO 794 .text c_w.l(sys_exit.o) + 0x0800033c 0x0800033c 0x00000002 Code RO 809 .text c_w.l(use_no_semi.o) + 0x0800033e 0x0800033e 0x00000000 Code RO 811 .text c_w.l(indicate_semi.o) + 0x0800033e 0x0800033e 0x00000002 PAD + 0x08000340 0x08000340 0x00000014 Code RO 146 .text.FLASH_ClearFlag stm32f10x_flash.o + 0x08000354 0x08000354 0x0000006a Code RO 110 .text.FLASH_ErasePage stm32f10x_flash.o + 0x080003be 0x080003be 0x00000002 PAD + 0x080003c0 0x080003c0 0x00000068 Code RO 150 .text.FLASH_GetBank1Status stm32f10x_flash.o + 0x08000428 0x08000428 0x00000012 Code RO 106 .text.FLASH_Lock stm32f10x_flash.o 0x0800043a 0x0800043a 0x00000002 PAD - 0x0800043c 0x0800043c 0x00000048 Code RO 17 .text.IIC_GPIO_Init iic.o - 0x08000484 0x08000484 0x00000086 Code RO 25 .text.IIC_Send_Byte iic.o - 0x0800050a 0x0800050a 0x00000002 PAD - 0x0800050c 0x0800050c 0x00000044 Code RO 21 .text.IIC_Start iic.o - 0x08000550 0x08000550 0x00000036 Code RO 23 .text.IIC_Stop iic.o - 0x08000586 0x08000586 0x00000002 PAD - 0x08000588 0x08000588 0x00000086 Code RO 29 .text.IIC_Wait_Ack iic.o - 0x0800060e 0x0800060e 0x00000002 PAD - 0x08000610 0x08000610 0x0000006e Code RO 39 .text.OLED_Fill iic.o - 0x0800067e 0x0800067e 0x00000002 PAD - 0x08000680 0x08000680 0x000000c4 Code RO 41 .text.OLED_Init iic.o - 0x08000744 0x08000744 0x0000007c Code RO 45 .text.OLED_Refresh iic.o - 0x080007c0 0x080007c0 0x00000084 Code RO 47 .text.OLED_ShowChar iic.o - 0x08000844 0x08000844 0x00000034 Code RO 35 .text.OLED_WriteCommand iic.o - 0x08000878 0x08000878 0x00000034 Code RO 37 .text.OLED_WriteData iic.o - 0x080008ac 0x080008ac 0x00000038 Code RO 302 .text.RCC_APB2PeriphClockCmd stm32f10x_rcc.o - 0x080008e4 0x080008e4 0x00000008 Code RO 664 .text.SetSysClock system_stm32f10x.o - 0x080008ec 0x080008ec 0x00000122 Code RO 668 .text.SetSysClockTo72 system_stm32f10x.o - 0x08000a0e 0x08000a0e 0x00000002 PAD - 0x08000a10 0x08000a10 0x00000066 Code RO 662 .text.SystemInit system_stm32f10x.o - 0x08000a76 0x08000a76 0x00000002 PAD - 0x08000a78 0x08000a78 0x00000020 Code RO 15 .text.delay_ms_simple iic.o - 0x08000a98 0x08000a98 0x0000002e Code RO 13 .text.delay_us_simple iic.o - 0x08000ac6 0x08000ac6 0x00000002 PAD - 0x08000ac8 0x08000ac8 0x0000008c Code RO 49 .text.lcd_show_all_ascii_lowercase iic.o - 0x08000b54 0x08000b54 0x00000048 Code RO 2 .text.main main.o - 0x08000b9c 0x08000b9c 0x00000016 Code RO 51 .text.test iic.o - 0x08000bb2 0x08000bb2 0x0000023a Data RO 53 .rodata.Font6x8 iic.o - 0x08000dec 0x08000dec 0x00000010 Data RO 846 Region$$Table anon$$obj.o + 0x0800043c 0x0800043c 0x000000a0 Code RO 124 .text.FLASH_ProgramWord stm32f10x_flash.o + 0x080004dc 0x080004dc 0x0000001e Code RO 102 .text.FLASH_Unlock stm32f10x_flash.o + 0x080004fa 0x080004fa 0x00000002 PAD + 0x080004fc 0x080004fc 0x0000005e Code RO 112 .text.FLASH_WaitForLastOperation stm32f10x_flash.o + 0x0800055a 0x0800055a 0x00000002 PAD + 0x0800055c 0x0800055c 0x0000001c Code RO 66 .text.Flash_ReadStruct flash.o + 0x08000578 0x08000578 0x00000064 Code RO 64 .text.Flash_WriteStruct flash.o + 0x080005dc 0x080005dc 0x00000186 Code RO 163 .text.GPIO_Init stm32f10x_gpio.o + 0x08000762 0x08000762 0x00000002 PAD + 0x08000764 0x08000764 0x00000034 Code RO 167 .text.GPIO_ReadInputDataBit stm32f10x_gpio.o + 0x08000798 0x08000798 0x00000014 Code RO 177 .text.GPIO_ResetBits stm32f10x_gpio.o + 0x080007ac 0x080007ac 0x00000014 Code RO 175 .text.GPIO_SetBits stm32f10x_gpio.o + 0x080007c0 0x080007c0 0x00000002 Code RO 19 .text.IIC_Delay iic.o + 0x080007c2 0x080007c2 0x00000002 PAD + 0x080007c4 0x080007c4 0x00000048 Code RO 17 .text.IIC_GPIO_Init iic.o + 0x0800080c 0x0800080c 0x00000086 Code RO 25 .text.IIC_Send_Byte iic.o + 0x08000892 0x08000892 0x00000002 PAD + 0x08000894 0x08000894 0x00000044 Code RO 21 .text.IIC_Start iic.o + 0x080008d8 0x080008d8 0x00000036 Code RO 23 .text.IIC_Stop iic.o + 0x0800090e 0x0800090e 0x00000002 PAD + 0x08000910 0x08000910 0x00000086 Code RO 29 .text.IIC_Wait_Ack iic.o + 0x08000996 0x08000996 0x00000002 PAD + 0x08000998 0x08000998 0x0000006e Code RO 39 .text.OLED_Fill iic.o + 0x08000a06 0x08000a06 0x00000002 PAD + 0x08000a08 0x08000a08 0x000000c4 Code RO 41 .text.OLED_Init iic.o + 0x08000acc 0x08000acc 0x0000007c Code RO 45 .text.OLED_Refresh iic.o + 0x08000b48 0x08000b48 0x00000084 Code RO 47 .text.OLED_ShowChar iic.o + 0x08000bcc 0x08000bcc 0x00000034 Code RO 35 .text.OLED_WriteCommand iic.o + 0x08000c00 0x08000c00 0x00000034 Code RO 37 .text.OLED_WriteData iic.o + 0x08000c34 0x08000c34 0x00000038 Code RO 319 .text.RCC_APB2PeriphClockCmd stm32f10x_rcc.o + 0x08000c6c 0x08000c6c 0x00000008 Code RO 681 .text.SetSysClock system_stm32f10x.o + 0x08000c74 0x08000c74 0x00000122 Code RO 685 .text.SetSysClockTo72 system_stm32f10x.o + 0x08000d96 0x08000d96 0x00000002 PAD + 0x08000d98 0x08000d98 0x00000066 Code RO 679 .text.SystemInit system_stm32f10x.o + 0x08000dfe 0x08000dfe 0x00000002 PAD + 0x08000e00 0x08000e00 0x00000020 Code RO 15 .text.delay_ms_simple iic.o + 0x08000e20 0x08000e20 0x0000002e Code RO 13 .text.delay_us_simple iic.o + 0x08000e4e 0x08000e4e 0x00000002 PAD + 0x08000e50 0x08000e50 0x0000004e Code RO 68 .text.flash_Test flash.o + 0x08000e9e 0x08000e9e 0x00000002 PAD + 0x08000ea0 0x08000ea0 0x0000008c Code RO 49 .text.lcd_show_all_ascii_lowercase iic.o + 0x08000f2c 0x08000f2c 0x0000004c Code RO 2 .text.main main.o + 0x08000f78 0x08000f78 0x00000014 Code RO 51 .text.test iic.o + 0x08000f8c 0x08000f8c 0x00000014 Data RO 70 .rodata..L__const.flash_Test.myData flash.o + 0x08000fa0 0x08000fa0 0x0000023a Data RO 53 .rodata.Font6x8 iic.o + 0x080011da 0x080011da 0x00000002 PAD + 0x080011dc 0x080011dc 0x00000010 Data RO 867 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000dfc, Size: 0x00000a60, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080011ec, Size: 0x00000a60, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 - 0x00000060 Zero RW 711 .bss c_w.l(libspace.o) + 0x20000000 - 0x00000060 Zero RW 732 .bss c_w.l(libspace.o) 0x20000060 - 0x00000400 Zero RW 54 .bss.OLED_GRAM iic.o - 0x20000460 - 0x00000200 Zero RW 653 HEAP startup_stm32f10x_md.o - 0x20000660 - 0x00000400 Zero RW 652 STACK startup_stm32f10x_md.o + 0x20000460 - 0x00000200 Zero RW 670 HEAP startup_stm32f10x_md.o + 0x20000660 - 0x00000400 Zero RW 669 STACK startup_stm32f10x_md.o ============================================================================== @@ -1568,17 +1638,19 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 1370 0 570 0 1024 5129 iic.o - 72 0 0 0 0 1547 main.o + 206 0 20 0 0 1413 flash.o + 1368 0 570 0 1024 5132 iic.o + 76 0 0 0 0 1548 main.o 64 26 236 0 1536 836 startup_stm32f10x_md.o + 532 0 0 0 0 7143 stm32f10x_flash.o 482 0 0 0 0 5730 stm32f10x_gpio.o 56 0 0 0 0 7058 stm32f10x_rcc.o 400 0 0 0 0 2988 system_stm32f10x.o ---------------------------------------------------------------------- - 2462 26 822 0 2560 23288 Object Totals + 3212 26 844 0 2560 31848 Object Totals 0 0 16 0 0 0 (incl. Generated) - 18 0 0 0 0 0 (incl. Padding) + 28 0 2 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1598,6 +1670,8 @@ Image component sizes 2 0 0 0 0 0 libshutdown.o 2 0 0 0 0 0 libshutdown2.o 8 4 0 0 96 68 libspace.o + 138 0 0 0 0 68 rt_memcpy_v6.o + 100 0 0 0 0 80 rt_memcpy_w.o 2 0 0 0 0 0 rtexit.o 10 0 0 0 0 0 rtexit2.o 12 4 0 0 0 68 sys_exit.o @@ -1605,17 +1679,17 @@ Image component sizes 2 0 0 0 0 68 use_no_semi.o ---------------------------------------------------------------------- - 296 16 0 0 96 584 Library Totals - 8 0 0 0 0 0 (incl. Padding) + 532 16 0 0 96 732 Library Totals + 6 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 288 16 0 0 96 584 c_w.l + 526 16 0 0 96 732 c_w.l ---------------------------------------------------------------------- - 296 16 0 0 96 584 Library Totals + 532 16 0 0 96 732 Library Totals ---------------------------------------------------------------------- @@ -1624,15 +1698,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 2758 42 822 0 2656 23684 Grand Totals - 2758 42 822 0 2656 23684 ELF Image Totals - 2758 42 822 0 0 0 ROM Totals + 3744 42 844 0 2656 32248 Grand Totals + 3744 42 844 0 2656 32248 ELF Image Totals + 3744 42 844 0 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 3580 ( 3.50kB) + Total RO Size (Code + RO Data) 4588 ( 4.48kB) Total RW Size (RW Data + ZI Data) 2656 ( 2.59kB) - Total ROM Size (Code + RO Data + RW Data) 3580 ( 3.50kB) + Total ROM Size (Code + RO Data + RW Data) 4588 ( 4.48kB) ============================================================================== diff --git a/Objects/example.axf b/Objects/example.axf index 7fba79ad69920ff31fef5d0c7a81dac7d6f15830..a972ac16fe132403ba209d6436a8b710d2061d57 100644 GIT binary patch delta 16464 zcmbt*d3+RAy7s9$Rn?X5Ch6<}0ye8bq)8AJSpy^iLNI{@7cOl`NJ63za+5~Dt(Xwe zQN&=W1eMKg+=YqE9T_n=qH|T$QO7%|T$fqItBxXrB!fzS&wHvW-6_%ewjPjXSTyF1E`y>pr!d%1@{ z6YV}8<`_x;28I_W9jRXd!$LveIqAT z7j$%?{u%?GK($Htf1}79UBItRpmI|3G0xesoOSxd1IP4r^Lvy@`b3nk?fgs+e0wxy z(Bdwl<>PqzpKRURhG)1iLq=y)ZS-(qh78W8+UTZP)?Z+65GH-=_I#FAwiAbQ4o>Vk z@$J)>#sc|GzZ%iE}&uAl&xt5rqp z*yx_8id5E6R9+N3=3zG$W$g~`jds_WdGa(PuZzuYn#C9kN^`P;k3WC<=tw3rqWoev zYiAuZj{Bv9$7M-hBJFOPwQg_QZr-j0Z|m`~(i6EscI?$2s&B)gbeC`#=tS~q~M9woJFA|Qk1WOYeFsU6MQaln(0=8bk22w~nKP2laHBI@9? z(W5Hb!8Rb=$6Dyg9xX^&@5edXJ?=CG=d_;1W9`xIN224w{qt$w5$*o)Gz&i2qad99 zlW>A!famT0VsldR`_xGLdz2viq7{uazh`J5+C3=>LC8tDr1WCuBndi=RZdIASt?>YB?*G#xW-|T5GJ<0MR z$5^}P(X^q`9ntQ{cdSFYM}9QgUG<$Gmd(@NsnYr86knxut+~xNV(R4YD8p!X#`o-) z(i81&L`bKPuEQ)E_IC+oI9#T|dyUW$aoU|1D81Wd@azcJ&kIS(Qi_(J#S@8fcK>Pp8SAGq*(S_MWh`-gADCnY zlhOi#UKy2SlFjL8bQ~NQVI46}H zPw+9O4F{a+^P%cVVq{fMLK+EY3enr^-baGIUY7#;`>Ie*40(=7OjWsgDBwpN$>u#t znVoY}4s!L}B&L^`X&Gl{1QVGag6xb$on_&C2nS0v=VuI%4|>cM83XbTc$khQp_hB7 z&h!FcXl#;hl4m4B&Cxsz-Ua58%uLy@n{Q=Ypav3{zJUnlu*?baA)gt}93V44ozxES z8ila#HTPtO>ZbBFL=z z$2@OuD{Z2{hLTu4=3cK$mkC)it1>f0{EwMU8JVL=ArVJ>V^aMLahf*_95QnWcrf0} z&qrgX30mJyt9Q{3K+dL_6SJnvM^y9rtdU9$#yh)0rvV(8XK>8TRA=&)JpaF6QH@6KM zFf<1l>YzFXbK@{cPv)KP4Qk=3PV7=R1po3osR+7qNSPe*ckUT-y+({vQOZ0ICFj#oD!dG(%9I40bV(J`a+1ui0A{=frNnG%vdrrRwTY+(({6-_ zXETatL6CQHeYkuZPgo7$C(pNYmay3Y?OaK?+X0)op0M2kcW{5gE(e%Akno@b?&N6+ zzjDA`JS$5GemclxfNzh$3qfLGcu! zpe0@2&Gmr%Fi-dh%x6H9A3@ZAb-<%sPWa3Lk0FJx9PqfowS*H6dIAak%K=YvZ^CH@ zJcaBy90}V`^F-zy1}_>x8YS#p98x$H5=u`$+-%*OOf^a-QQpiRC3K1qqw5a~;*i3_ zNg5Zg03>#kL@KT*;KYecA(4?n;$@N;X-OnI3#SxbND>!GU|LJ36s{)9#Zt1fcuL_2 zQ5r27T0W()L6lZ0rGgvQ3Mz$fC(<_Qw-}BH$o~Pk+a}zl%A0+k5!@lTEX7$_rSKD^ zbiU>&eN9s5Ym`N=(uIP{$S+$god1E8J{7i7Wn;5P*#6A69TWS2#74+u8^$cDvjwz_ z(ONBqPmt97z7fpt8$o$o1hj}t;WVs?O0}?Mz_!*+ao5PyrGTmks4mVGE$>ozG-0i33uT0P1NmXeEWqj`EO@24?+<{jf~)&PuXc zcy1t@72IiNVY7nUHod}T1-GM55Yb;Ege@DJgbjmi-0Rp-gpGT7vS9_rg^_#tn^tnN zFtRPq2wjS#@V#W@6~~Bw1cm#G2n5l4^9a7?1foys1GU0FP${*bVTa9y$JgUL%EIG+ zk;hcUPTg}kX{9RfTVZNKDP3@_Tpts;zDY`#IZ9eHDP5+JC-i}GO*}L<%dIhtEF@ub zk!6#vM&hC>g+C{o`xI()L8WOgg=HE9FAFNHFg8w5M-cVX-jQ-EIrz*PDHyJdO%PHu zNy<=Eis>#AQB=E2xkyt{DNQS{B|>8XY0Oe-1d`HrQko@{5I7fZ<_IoJa<1l5xQ>*z zkryTuwh0BxY(2yHlfqY%NSA6)HU22seL+B$;#}^f@CK6ldta%emXvQK;@g4TqzRr1 zR7=oUxcvC&Iy4B@_*4(wr&XgWC(F!4BjOGTH!q4I?FG@#{)O_?S-6Jb-kW~A>54iQ z;6ea7U&ZwiW@ez+0HU0zq{+HE0oC;&$q7uo#Ho7~wc4rsbhQ!nyGX|GSJyf8egVd5 zTFgtO{PVSZFg%KO4Ni*UA(MIn3UMnV z=w}ruCk(;8G0yZmOg(cmfan>Y%6BH2Tk{5IZU;%4>S@PGm-L6}Ng6-JHY%DPt4}u@T9!}w}8n1 z$yw5~4miP;r2P)~mg`9`IN&7rC%xo=ZXQT_)d4*`E$Iyh{EKI?zzKwfS%XeiDCzLW z;L5*Dah?jL@TWxBgxRZnnL#yDNW*yenov6-OjPt~5EUtWlBBng^f$!cV(|~+W_z~a zYed}zedPqz9vX>mWa$SyxX7c^U?7diyVIR#Oes8=2z%4TgQbwjA;N(aKb|x<2tpna zUV+b~%QLBVF{l|CV6Q<1u5=OVYfa>eL4vW*aY*55r1w5a(?veBnv?~EPKGdbM3^Ft zIvgMegsG2hQ{vec3@JR1O!bg7gtR)cbc&F8++z8tNZ~~!(@&xsdUk=JR1+mr>VL?` z41K&HT}7lJ(g55}G?JAek}%UBquiFbo+QQy2@&HMTS7cc3mY3rVp2?El90%_A5Ys$ zATSUSHk0is7X1y-N233Up{^#zOv@yq*S$&JKYTevYi% zC6X0U+~q`}i70xZdLu<~m$VwA00xy!1UoE8YpDIpEKgkY@K)PX_D+oKjUwDv$PQa8eb|FLBZ(_8=KyS7FZ;7r8B<`Pm03A32+`PjMD|M9`HdqmU##l?|rB%SWP= zm=eGV4|0MjU&O}{l}|+}^NUe(X0wWTB_QJ~P%3;q${fBKHw^j-b@Ezt@I9b0M<(HS^cs82_-C+-r)`li={Wm0kl~9w!oX;X%;Cw5lqE%3B2Kf zDln6fKMcea+I>?Mjc!Rdp(@uTD)OSFd8j@Lw!D}nU4r^%u;ofQsii*~$nGORJvS2) zRirdkqX&rV`*&`baG4}`^fN!cC|AY zU#2Jc!E=N31fM^*QTDv!MNDj$*;%;Qd~_s zmikaVx|X#>R-8AkE-!bD`F+vF<1NNgae+`2rqV*qc#kBhe(y3h^+DCEg)m0@t*43_ z&>GZ4&6G;g4O5oXL~oaxydIR0DrvrD*qfE4n30EnPJ$jG`LmEn@}AhCO6SXRAKf>4 zIb&lSdZgrEfz!|1W~kE5F^&kjl?#q4t&cHii;iytBj8=H`uXTqq*1JDT8UQ7pSi9M zq4PI+tD3w+P13dljoq*MwK{-#D&L`c$EjTN702?TM^C=j4|4|DnzP? zo{NaPudPED@Qq6A4ns}+`A~(OhZM>jcG}|de%G?{6s)+7oH3ZUC|`HFMo2xUP7SrH z7f`;Bh8!V-V($Aemols{<{$nOwEjx*w@ zmDX87toO94!JP=A*a^b;xoILS-s`a~-WZqEhigQiJ>;Q2+o=ZE$80v(y+;H69f%>~ z-Egb!Q2AJQ>#H)|Q!xGteE89PK?F9wSe;!gI(bm3nvF(D3aJCMv1p@Wbs*;7na+MK zKDdY0w9v8uvO!dP{fR&1ze*QxqX^M9J1s}62DW?_@!3cXYLA;`?-J;vI3*f|wtIiH3bhZ{4YSksm+2 zn#Ku#Oy910#%lcC)nceTrEk~x+hAd}*@G-&)8=&;z=-~hf!M5hqq*HL+NoS*(r;saco+)D@WK z2Ie^>bi0+%iJxgIYN>sgrrF*$3={+wid`SXD08)S2DSiP?QOW;a6n64TkB zb;-o^20lj9yTLWRh2=J{q-tJ1qE(Efc@V~RL0hH{8Yil_XxBo;tM;7JFOtTwu9Jg1@Vm?#3n0+Cl;lV z=c)@;ZM!zEuWj1P;ge~N{2eY1xJbZ!G4*Dgf7-L*2N`u{32s^vs5a5U&Pbz&T*d(h``(9I(r=SV3>rK|rDQ@XS~ou(U!IO;U6bHGV8Xk<`0 z)QeQ7p27>SUP(uT_H!;KIu5GSjtuRfP^7=dLHjMV#X?6SHUx-w2M$M{wmR;{;b8k* z#;|vx)8>TOpum~7Av8R=)6M}s>pKcmr>Ay0NM|R4puVA}-HkYGIrHiI!p{85#`H6{ zFR4?-Trt0|pR}~7WP17R${7pGFK1S@aKVDo1(jv9`oK#Ul-YP@>AbR%!iqv0R?L}K zSh}!+EhsE6tYCB$%qgEfqoj}(UMx=2XD%>5`j5=yxrLW6V5Mah;#|If%{0|TBh1UI zvy24=Wo%)2;R04r6{*S%Bv*-}6NGpZV| z%CjjYF(y^xS%uA2EwyD;%W7@W@<>%=Rf`QSt!juAt!yr-YKfFK)izf}8df&iETK1j z`EpVvaf905Aqoc$hZu2&1n-R2N}I_3jI|MAkkn??Mi$go)s(J^lr^u6)Gj5y6X5cy zWloj)-l&AgvgWE4m#%D%HJ6}JbN-kb^F|%!WYt(zy}b6)=7vaZ%%jcwQ6x5fVM}du zX_Mi^K67PbUBfb)hXgFP!;R5hPGaH2MEZ7je72QyDqMbyNRg{WDrYXQt!gG}%wiuK z2u^fHAEGl7BP*JkYaLD3fVA!P3D0O|)ZvxWYigP?X0b&e#!*GXirST{BCNTl2^Lv1 zdK1uQI6Sekf3?gTN~F~J5SWik7@=?!PJ^_X~8U-V&xU3 zW!AZ1#^tQK!SQLW4s$AOAAqy0OKywVzNk2%pzxB#&Z;sdK;a74SJyVTVC>NnV63Lm zQMq*Gs>TSbZEjxKY}X^TE5saG)m#gUE2|=GY4g(a#xe9jOFdbk#Hemf6Kl>1EQUgP zq8wdSaTxa_Y-5tycvZ2HBdXR%F%mX`3M?Ct@YBCU!J(21+<`B7@@;&9#RsChx^JR$fLGv>N3D&mDYg)J z6)=4bM7Y)^f29kPedkLdeB~gq>(3xijcJ;8(y1Rs=x&r(OJ)f!81b zNB>L#INux@XEN}q%YcTayCKdX?$rdQS4X5@1l$_Oud^{la3=d3z^4H5w%8B?4};+R zC_`$ZLui3w+rYjv@H6c3Ob%Xi@&6tETdzDGmdW8s5SkDX(aGSM0&+gSB0ikcFSrB+ z4MKMp3Jwzs7}W5Ic)9jTtvz3{uhl zaB?OGZintcv>6T~af58HD*(4cH>N@E_!j|C#B`Z(n($1sU~1g7d)?*mlYfKV2^`np z|LV9t$-q0Qcs$XCuW;d37k=1r^aSjN0TdyxhU^Gh42QG^nR0S@DFmMI<*|z+Zar}V%P1G+w zPqDHjoDED@R{9YhZSlpdOO`SJ&bI`F84%b^;D6Xxw-n%F;BSG+0O8AQTw&uYUHqGX zqjB>00MEA*BK;?Uamf}5q~Pr}I|#ymf*>5A1>Od3aWEAA&xKFBa5~|HU!HReS@Qp5fp9}AC;X~%ARc9Fz{+A#=jBFPk@4_W6T;;+yxUlKMkM+d{JJ6TF zJ^)_jv?JQ}AHb^}j5Jk$Up&NxC%SOC3pe(`=*XM<5G3|1;I(lMf9=9Ax$rx{Fw;BI zK5^l1f!D|J@jo3gY#^ilAl&K*Amd@cw>cR6To;}JjF-W^4(9`J1t!8!$X5dI0;c7Q z@KwMM#Nq3KAF{DQ0=I*JyTe|EoxqRA;ZESk<8T-7lX3Wuz_@Pq>eGkbd*bldz@5M} zRmh)|*ozH8NRJT&9_7L_T=+j+IO4*$x$wg-+|`TC1#3p;(O1#&@g?EIzjz#U;XL!v zHDirB7j>-*W1p&z75bbo-s-Pi_yrgKqYMA7FE-de`w|$(M~d+dQeAk23t!~I^pRt{ zevJ#S?t?MpZ|Xyk*cKQ5l?y-X!mqjT|GMyT7xv@Rv)%w{=A0c*0KO1-uRYLc(Jlji z&%u~kl{UTw12F~oD&T4MBNO54ftLc)%pv`|fNLEL{!_rqY;2IiA3$h`Gw^2@K5F9{ z+u^ssd*bAi@RjK6z{NIyByc8fm2eUPjz(n^u$bELN1q@Q1{*U6gz^|c;1$4mwgLsX z8hDDOATpwFY6&|TJ_tN5j{hR?bl@}!04?wi@Iv4#ZTwf@7l6fwwj|I4!YFJ#<0KR~ zKD(R(ywk?%!2b(8*v3PFe*mVBRY-pda2Q+BbYnpHV&JvFqQ!uhkUsDR++-5}O5j>- zL64_fFe1=5uv2J?osH?!*g4qKZnJSR@aw?iZ9EKE z!p4Au#{r)YJi+GA0mi>l8{*%Ls0HYQRxGJ{&=#lx9s(S)aRhii@WnPZfbpL#;!8Es zzYll}Hq}dP{w`oFX1y&+pT6z{o`@!-Tdk*nk0ejF*7E=ezX##VY`AZzF#R+eoRZz+<$Og8V>GE^R(V*X~!NNqT# z?ik(t%a)m1CqQRX64zir0%oZM_h_4=#vg?xYW zv5ukrvfJ?pj8TpoOlF$zbqv&=cmUt(rJJWZhRO$iYYyHzQa$`zJi3^lY)Lg2Zw<&t Ko;Mq}X8b=FMlVj2i0m0T>>x{sOjryWM1e>ShzhbP$}Y{A$gmSm zfh>a_A>c|7c%U3X0r4m(sH4Xj4VyB~Fe++LoJ0iQ{BFJO(5c}c&%B(juJ7Jk_f}Qc z)}6g&MtMY3guPwXGgiEQch0@syDgrvz43A}Z{IYpE~y||TN`CH7p}6J+v|+I(b^xQ z#z9syN}lBHdL#vy|2xL~r6$WN4dC*|t{Jz{-(v-=rhVPc0uP&1aA!eQjgLK9kg+Rk zU$pj&Y+>ALzHo>!S!!fNQoXNw#GcNP6LD_}S)JIEm&nG!alBGK7Hr+-zF)-#V`H?o zFKQs_q8EOtF8<6N{8MvRoH3zaRxiFmGv9}4kn06Kavlx&VVhkOjthz%dkatSO zd*rxqrYQ2r`Qc1YIkb!A_u-~;UpPZ7@yHLucZhtyytP@Tn4@lb2&keRhORuOtB-gL^<3e$M^#d7`^{)!+I5}$cUFHhD^)(-${%^WRR+%tA^!c> zW7Nm~$}eAO-L~sR6wKk|I;1)+75UG2tkb9y2ZO6MKFwu|+~(pemt%4>`?e9xpA5_X zDGSTRDqfJn-u{3}eu1kubbj0&Px&q;eUXSna%UPTP9=FsM?5X@NeXJ$qivD6=#MOK z`?yc+@J9lFNH(c+ns?nQP8;&At{;n5rhKYfClN9u?{=Fl#C(tJ*E6H(`~*10?-*(> zwgb8WM4ZRi6DKbXXr6umBHq_mg`1!IkJ8O2{+=Ln2e!4o1hK%^WWnO@L7tmE0yTsI zo(M02B&3F;DhT8NS)emgGf;rEO`sU*;J|pKsezeDLxFOn;lNs?8O$4n{cdD=Ki@Xo ze5N-E)jUp;TYaxvBogt>AWFCyNe$SzVkCx*OGfZxz%mGpp9~iKn*)~(Gg$4w&xSvE z)`9;R@xk*B)Ec4S1qbSk)Zn)c{9oq5Vj ztUNN<)i~b6{Q1gbFB0r)Tm(T^B^X44!^vv)D#36P97oLHEb@7LIHYN-FhS-ZgHV1| z)%RymD3(siH@JAoSSnXd)+n29QQ2yX5M|PotJBIAB#h<|#3AMC3)|Ha)M+skyks)D zs_%gEIgBDD^%e#&Mx*(7jUi&(5B7D>{1lYGp=F3M(!5@qvDvBtNYykv9brpcUo zlTB2pgR)R{>|k4{rAj$@kt}*$x9FuT(lW7@mBOH@SmRwyzWc=F1(4^)$ zqV|iRds{h;kkdlm1i+Rk$r~iGD2%az+*zs=P;6>|eDif=O`HXkmz<#T%XnHLmd!`t z5%uz|R`Hj|DmDv>?lFaTE%~T$>ea+qYI(`$|tg6L2rxspSi+c2IB@gTPY>Wa# zGG8X#5DSD2&R-M@WEtuSZ?q$Yo%NfST%bT(ILaofKwG&N(-9c20@Y(&6?v{yfznQ6 z`F%9z+1y3)?VQF=+Bc97jmep6+H*?In8lho+X62!sl;yX%|nri$eZ^yH_g#4S|LlZ z&9SUS2joXXZH^Ny3Xz{k`SAwxJ`3;NsZ3w*0c49Qd%JHwZXVP39BzKjwviLIj*9TT z5XG}P>i>$SSZ1&us2vz(MQ zU@QPKV;NG@cou0JV<*zV#zCa1#z~|h<1Es!@x6r`7Rs$C5QlBW=x6>02^Pw|khCPp zt!652KH)nIiT?zWLNLE#Gz#-eMxZ^Q1KP#0P6j$VfORs^#R067f$k1qoecDLpw_TL zf&LC*p$rUifELO)oV8fI(=EJY6qKg#E<{Vf(ojkiUjo9DLEd9}9|XLNthg`H6r+Qa zk$n+rF_r~qBEJS|F-`<4kl#%C@kR>s4ur)*D%96|FS47GBWM43Hy5FR>^`Kkz}7f< z$gi|DJ}@+{5p9i+j`Yyh7@2=ho}j&P=a_eBZ=5wYi}uD1W2Xr|DH48YJQo`Ra?zB& zVopFFp3*_|HsudfZce4O*Vx0k5O~I>U><=}Qv0bb=#(^UYBN!8$|+Mnq2p2iX-nyN zbYfbrmzE==N`5pgM})jGJiV08M+>K~68S!vIAfAH?2~h6JRpt*3)fc&Nyim* ziTY7K5ptP5bBF9aGu}^!ATolWG@}?tjcOdC9BVpIsWVgd%#08nsHoW_pgc+xS+wK5 zgNybu%F~`jdkh)>$2Z9;S{#zndS?oI^S3=*+iI_%tOai{L0i>gTL^g>*;w9;Z| z+hsEXTG!~JLbUWy&rt8}!6iT1-z&0fR^NokUzZ*74Csdz#>#R==N39#IgClnhPs&a zMJ}c>iu2IN6@}JKu`(((*`;U?jSDp%t?^`y=V`o5_*+^`A>R!5B27-W_GH5ZefR!aQ*7m*k!5f9#gBW*v$7H7#Z10W_YdZ0D< zpXh(;P0R_F2mTIB=Vapkntg%B6oAgqLF_3S?FnOQ2DYO=;^(H z%8-7orgyQWy4)pDT%{E_1V*>1cR6x+qY61M8>BxME1y-WDj@!+fnPz7!!-O^u^Q?D z4TG^qVBoZ%rN#p_o}h7=#+4c$br|tg7yZK#*lgh8HK>5b12vwYahb-I8XvWp;>RkW z85lSfG^l{a12vwYahb-IHq(=#M`VvV6<hkk8qh6{2$7rm8-Wilxl(By_ zD0R-$^aC}fL7XqF>(5v>&S8k1DL<#o8ZRc=QU~Xq3|` z?sVae^mn+X-BVh?mu|pL{2NZY11K=d^+?WXZ1@`LZ_;>(#?v*HKFmJ~;I!y97&t%b zq8rut_vrN=)%iVNefwjN;QtNyyUSbJGdZR8z)xVjL;J^~*)(l_0~fh^EI}<%u|A<5 z%LNxhAGYmpap^t@|T#gy|Y1$g z`@cWX&|yoByJ|dKJc#)X1e~qXcr%!umowB} z()dkqnM+UKA>Di)yxh@aBwYlrbl5_Re{l=IaX2^Q9j!iKCU_&51Ub;R0dE1*@|Tn5WMU%SOTtc@kTICfAs-h0PlA3esBa#Jw*QA)A+2$ zKVD}`6^Ki0=%AIxeKfvHQR6C&4{A&wtlYIY-Hl7n|`Xz1>n{$z7yO74F8sLPy#_82nO2) z9s)lJUTpJRZ~{IR73;H6;4ej_*up9-eg`bzMhz;D}J1s;Si1`Fs_ zh8(;O!4U|`ZG&TEfY(>2Mb+TBF8&%^1*R{pRGy_EAU-|ZZ*v@YE;!5Prr?d>jyAUg z9|y0XqZBz948cfzuW))`82D*0{i}=gcYx`8Mo;t^ohU|wFDAqmtq^z`_^OM`!1!gA zB1ys<_*yXX>H|R%zFIwFv)oqMCQ?(`kw@~jpA5=&`wHb7`}RcQUrXhYcKgfB$g2n6 z6kd2{r5SSGp#uENQNDF3M|4S)|2mZG?SeIDlvgGn&hakC(=Ki#dm?+T8Dl##<#>{! zhkgmmWyqF~#0#>Jdyu_4im`*qvifjN!v4vq6?zjJIa?_k9ck+QYyo43Q)JsCIbuVF X9DXF%yQ>0?^T>IS?08B(b0qD*;eHBv diff --git a/Objects/example.build_log.htm b/Objects/example.build_log.htm index 1ae0388..1e42dfc 100644 --- a/Objects/example.build_log.htm +++ b/Objects/example.build_log.htm @@ -22,15 +22,33 @@ Dialog DLL: TCM.DLL V1.56.6.0

Project:

C:\Users\gxyos\Documents\ST30F103\Example\example.uvprojx -Project File Date: 07/23/2025 +Project File Date: 07/25/2025

Output:

*** Using Compiler 'V6.23', folder: 'C:\Users\gxyos\AppData\Local\Keil_v5\ARM\ARMCLANG\Bin' -Build target 'Target_1' +Rebuild target 'Target_1' +APP/main.c(28): warning: while loop has empty body [-Wempty-body] + 28 | while(1); + | ^ +APP/main.c(28): note: put the semicolon on a separate line to silence this warning +1 warning generated. +compiling main.c... +compiling stm32f10x_flash.c... +compiling flash.c... +compiling misc.c... compiling iic.c... +compiling stm32f10x_gpio.c... +compiling stm32f10x_i2c.c... +compiling stm32f10x_rcc.c... +compiling stm32f10x_spi.c... +compiling stm32f10x_usart.c... +compiling GPIO_STM32F10x.c... +compiling system_stm32f10x.c... +compiling stm32f10x_tim.c... +assembling startup_stm32f10x_md.s... linking... -Program Size: Code=2758 RO-data=822 RW-data=0 ZI-data=2656 -".\Objects\example.axf" - 0 Error(s), 0 Warning(s). +Program Size: Code=3744 RO-data=844 RW-data=0 ZI-data=2656 +".\Objects\example.axf" - 0 Error(s), 1 Warning(s).

Software Packages used:

@@ -82,36 +100,36 @@ Package Vendor: Keil Source file: Device/StdPeriph_Driver/src/stm32f10x_flash.c * Component: Keil::Device:StdPeriph Drivers:Framework@3.6.0 - Include file: Device/StdPeriph_Driver/templates/stm32f10x_it.h Source file: Device/StdPeriph_Driver/src/misc.c - Source file: Device/StdPeriph_Driver/templates/stm32f10x_it.c - Source file: Device/StdPeriph_Driver/templates/stm32f10x_conf.h Include file: Device/StdPeriph_Driver/inc/misc.h + Source file: Device/StdPeriph_Driver/templates/stm32f10x_conf.h + Include file: Device/StdPeriph_Driver/templates/stm32f10x_it.h + Source file: Device/StdPeriph_Driver/templates/stm32f10x_it.c * Component: Keil::Device:StdPeriph Drivers:GPIO@3.6.0 - Source file: Device/StdPeriph_Driver/src/stm32f10x_gpio.c Include file: Device/StdPeriph_Driver/inc/stm32f10x_gpio.h + Source file: Device/StdPeriph_Driver/src/stm32f10x_gpio.c * Component: Keil::Device:StdPeriph Drivers:I2C@3.6.0 Include file: Device/StdPeriph_Driver/inc/stm32f10x_i2c.h Source file: Device/StdPeriph_Driver/src/stm32f10x_i2c.c * Component: Keil::Device:StdPeriph Drivers:RCC@3.6.0 - Include file: Device/StdPeriph_Driver/inc/stm32f10x_rcc.h Source file: Device/StdPeriph_Driver/src/stm32f10x_rcc.c + Include file: Device/StdPeriph_Driver/inc/stm32f10x_rcc.h * Component: Keil::Device:StdPeriph Drivers:SPI@3.6.0 - Include file: Device/StdPeriph_Driver/inc/stm32f10x_spi.h Source file: Device/StdPeriph_Driver/src/stm32f10x_spi.c + Include file: Device/StdPeriph_Driver/inc/stm32f10x_spi.h * Component: Keil::Device:StdPeriph Drivers:TIM@3.6.0 - Include file: Device/StdPeriph_Driver/inc/stm32f10x_tim.h Source file: Device/StdPeriph_Driver/src/stm32f10x_tim.c + Include file: Device/StdPeriph_Driver/inc/stm32f10x_tim.h * Component: Keil::Device:StdPeriph Drivers:USART@3.6.0 - Include file: Device/StdPeriph_Driver/inc/stm32f10x_usart.h Source file: Device/StdPeriph_Driver/src/stm32f10x_usart.c -Build Time Elapsed: 00:00:00 + Include file: Device/StdPeriph_Driver/inc/stm32f10x_usart.h +Build Time Elapsed: 00:00:01 diff --git a/Objects/example.htm b/Objects/example.htm index 7ced7f8..26f3453 100644 --- a/Objects/example.htm +++ b/Objects/example.htm @@ -3,16 +3,16 @@ Static Call Graph - [.\Objects\example.axf]

Static Call Graph for image .\Objects\example.axf


-

#<CALLGRAPH># ARM Linker, 6230001: Last Updated: Thu Jul 24 10:30:39 2025 +

#<CALLGRAPH># ARM Linker, 6230001: Last Updated: Fri Jul 25 09:04:20 2025

-

Maximum Stack Usage = 136 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 164 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

-__rt_entry_main ⇒ main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits +__rt_entry_main ⇒ main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status

Functions with no stack information

@@ -107,86 +107,86 @@ Global Symbols

[Calls]

  • >>   __rt_entry
-

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_rt2_thumb_only (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__scatterload_loop (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) +

__scatterload_loop (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED) -

__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED) +

__scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED) -

__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED) +

__scatterload_zeroinit (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)

__rt_lib_init (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))

[Called By]

  • >>   __rt_entry_li
-

__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) +

__rt_lib_init_alloca_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030)) -

__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) +

__rt_lib_init_argv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E)) -

__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) +

__rt_lib_init_atexit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D)) -

__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) +

__rt_lib_init_clock_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023)) -

__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034)) +

__rt_lib_init_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034)) -

__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) +

__rt_lib_init_exceptions_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032)) -

__rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) +

__rt_lib_init_fp_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002)) -

__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) +

__rt_lib_init_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021)) -

__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) +

__rt_lib_init_getenv_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025)) -

__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) +

__rt_lib_init_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C)) -

__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) +

__rt_lib_init_lc_collate_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013)) -

__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) +

__rt_lib_init_lc_ctype_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015)) -

__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) +

__rt_lib_init_lc_monetary_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017)) -

__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) +

__rt_lib_init_lc_numeric_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019)) -

__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) +

__rt_lib_init_lc_time_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B)) -

__rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006)) +

__rt_lib_init_preinit_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006)) -

__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010)) +

__rt_lib_init_rand_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010)) -

__rt_lib_init_relocate_pie_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) +

__rt_lib_init_relocate_pie_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004)) -

__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035)) +

__rt_lib_init_return (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035)) -

__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) +

__rt_lib_init_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F)) -

__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027)) +

__rt_lib_init_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027)) -

__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E)) +

__rt_lib_init_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))

__rt_lib_shutdown (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))

[Called By]

  • >>   __rt_exit_ls
-

__rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) +

__rt_lib_shutdown_cpp_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002)) -

__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) +

__rt_lib_shutdown_fp_trap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007)) -

__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) +

__rt_lib_shutdown_heap_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F)) -

__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) +

__rt_lib_shutdown_return (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010)) -

__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) +

__rt_lib_shutdown_signal_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A)) -

__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) +

__rt_lib_shutdown_stdio_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004)) -

__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C)) +

__rt_lib_shutdown_user_alloc_1 (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))

__rt_entry (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))

[Called By]

  • >>   __main
  • >>   __scatterload_rt2
-

__rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002)) +

__rt_entry_presh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))

__rt_entry_sh (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))

[Stack]

  • Max Depth = 8 + Unknown Stack Size @@ -199,19 +199,19 @@ Global Symbols

    [Calls]
    • >>   __rt_lib_init
    -

    __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009)) +

    __rt_entry_postsh_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))

    __rt_entry_main (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D)) -

    [Stack]

    • Max Depth = 136 + Unknown Stack Size -
    • Call Chain = __rt_entry_main ⇒ main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits +

      [Stack]
      • Max Depth = 164 + Unknown Stack Size +
      • Call Chain = __rt_entry_main ⇒ main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status

      [Calls]
      • >>   exit
      • >>   main
      -

      __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) +

      __rt_entry_postli_1 (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C)) -

      __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000)) +

      __rt_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))

      [Called By]

      • >>   exit
      @@ -219,7 +219,7 @@ Global Symbols

      [Calls]
      • >>   __rt_lib_shutdown
      -

      __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002)) +

      __rt_exit_prels_1 (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))

      __rt_exit_exit (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))

      [Calls]

      • >>   _sys_exit @@ -424,22 +424,42 @@ Global Symbols

        WWDG_IRQHandler (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
        [Address Reference Count : 1]

        • startup_stm32f10x_md.o(RESET)
        -

        __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text)) +

        __user_initial_stackheap (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))

        [Called By]

        • >>   __user_setup_stackheap
        -

        __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

        __aeabi_memcpy (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text)) +

        [Called By]

        • >>   Flash_ReadStruct +
        -

        __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

        __rt_memcpy (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED) +

        [Calls]

        • >>   __aeabi_memcpy4 +
        -

        __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) +

        _memcpy_lastbytes (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED) + +

        __use_two_region_memory (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

        __rt_heap_escrow$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

        __rt_heap_expand$2region (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED) + +

        __aeabi_memcpy4 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) +

        [Called By]

        • >>   __rt_memcpy +
        + +

        __aeabi_memcpy8 (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) + +

        __rt_memcpy_w (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED) + +

        _memcpy_lastbytes_aligned (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)

        __user_setup_stackheap (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))

        [Stack]

        • Max Depth = 8 + Unknown Stack Size
        • Call Chain = __user_setup_stackheap
        -
        [Calls]
        • >>   __user_perproc_libspace -
        • >>   __user_initial_stackheap +
          [Calls]
          • >>   __user_perproc_libspace +
          • >>   __user_initial_stackheap

          [Called By]
          • >>   __rt_entry_sh
          @@ -448,239 +468,314 @@ Global Symbols

          [Stack]
          • Max Depth = 8 + Unknown Stack Size
          • Call Chain = exit
          -
          [Calls]
          • >>   __rt_exit +
            [Calls]
            • >>   __rt_exit

            [Called By]
            • >>   __rt_entry_main
            -

            __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

            __user_libspace (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) -

            __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text)) +

            __user_perproc_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))

            [Called By]

            • >>   __user_setup_stackheap
            -

            __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED) +

            __user_perthread_libspace (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)

            _sys_exit (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))

            [Called By]

            • >>   __rt_exit_exit
            -

            __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

            __I$use$semihosting (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

            __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) +

            __use_no_semihosting_swi (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED) -

            __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) +

            __semihosting_library_function (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED) -

            GPIO_Init (Thumb, 390 bytes, Stack size 32 bytes, stm32f10x_gpio.o(.text.GPIO_Init)) +

            FLASH_ClearFlag (Thumb, 20 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text.FLASH_ClearFlag)) +

            [Stack]

            • Max Depth = 4
            • Call Chain = FLASH_ClearFlag +
            +
            [Called By]
            • >>   Flash_WriteStruct +
            + +

            FLASH_ErasePage (Thumb, 106 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_ErasePage)) +

            [Stack]

            • Max Depth = 52
            • Call Chain = FLASH_ErasePage ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status +
            +
            [Calls]
            • >>   FLASH_WaitForLastOperation +
            +
            [Called By]
            • >>   Flash_WriteStruct +
            + +

            FLASH_GetBank1Status (Thumb, 104 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text.FLASH_GetBank1Status)) +

            [Stack]

            • Max Depth = 4
            • Call Chain = FLASH_GetBank1Status +
            +
            [Called By]
            • >>   FLASH_WaitForLastOperation +
            + +

            FLASH_Lock (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text.FLASH_Lock)) +

            [Called By]

            • >>   Flash_WriteStruct +
            + +

            FLASH_ProgramWord (Thumb, 160 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_ProgramWord)) +

            [Stack]

            • Max Depth = 52
            • Call Chain = FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status +
            +
            [Calls]
            • >>   FLASH_WaitForLastOperation +
            +
            [Called By]
            • >>   Flash_WriteStruct +
            + +

            FLASH_Unlock (Thumb, 30 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text.FLASH_Unlock)) +

            [Called By]

            • >>   Flash_WriteStruct +
            + +

            FLASH_WaitForLastOperation (Thumb, 94 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_WaitForLastOperation)) +

            [Stack]

            • Max Depth = 28
            • Call Chain = FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status +
            +
            [Calls]
            • >>   FLASH_GetBank1Status +
            +
            [Called By]
            • >>   FLASH_ProgramWord +
            • >>   FLASH_ErasePage +
            + +

            Flash_ReadStruct (Thumb, 28 bytes, Stack size 24 bytes, flash.o(.text.Flash_ReadStruct)) +

            [Stack]

            • Max Depth = 24
            • Call Chain = Flash_ReadStruct +
            +
            [Calls]
            • >>   __aeabi_memcpy +
            +
            [Called By]
            • >>   flash_Test +
            + +

            Flash_WriteStruct (Thumb, 100 bytes, Stack size 24 bytes, flash.o(.text.Flash_WriteStruct)) +

            [Stack]

            • Max Depth = 76
            • Call Chain = Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status +
            +
            [Calls]
            • >>   FLASH_ProgramWord +
            • >>   FLASH_Lock +
            • >>   FLASH_ErasePage +
            • >>   FLASH_ClearFlag +
            • >>   FLASH_Unlock +
            +
            [Called By]
            • >>   flash_Test +
            + +

            GPIO_Init (Thumb, 390 bytes, Stack size 32 bytes, stm32f10x_gpio.o(.text.GPIO_Init))

            [Stack]

            • Max Depth = 32
            • Call Chain = GPIO_Init
            -
            [Called By]
            • >>   IIC_GPIO_Init +
              [Called By]
              • >>   IIC_GPIO_Init
              • >>   main
              -

              GPIO_ReadInputDataBit (Thumb, 52 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit)) +

              GPIO_ReadInputDataBit (Thumb, 52 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit))

              [Stack]

              • Max Depth = 8
              • Call Chain = GPIO_ReadInputDataBit
              -
              [Called By]
              • >>   IIC_Wait_Ack +
                [Called By]
                • >>   IIC_Wait_Ack
                -

                GPIO_ResetBits (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ResetBits)) +

                GPIO_ResetBits (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ResetBits))

                [Stack]

                • Max Depth = 8
                • Call Chain = GPIO_ResetBits
                -
                [Called By]
                • >>   IIC_Wait_Ack -
                • >>   IIC_Send_Byte -
                • >>   IIC_Stop -
                • >>   IIC_Start +
                  [Called By]
                  • >>   IIC_Wait_Ack +
                  • >>   IIC_Send_Byte +
                  • >>   IIC_Stop +
                  • >>   IIC_Start
                  • >>   main
                  -

                  GPIO_SetBits (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_SetBits)) +

                  GPIO_SetBits (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_SetBits))

                  [Stack]

                  • Max Depth = 8
                  • Call Chain = GPIO_SetBits
                  -
                  [Called By]
                  • >>   IIC_Wait_Ack -
                  • >>   IIC_Send_Byte -
                  • >>   IIC_Stop -
                  • >>   IIC_Start -
                  • >>   IIC_GPIO_Init +
                    [Called By]
                    • >>   IIC_Wait_Ack +
                    • >>   IIC_Send_Byte +
                    • >>   IIC_Stop +
                    • >>   IIC_Start +
                    • >>   IIC_GPIO_Init
                    -

                    IIC_Delay (Thumb, 2 bytes, Stack size 0 bytes, iic.o(.text.IIC_Delay)) -

                    [Called By]

                    • >>   IIC_Wait_Ack -
                    • >>   IIC_Send_Byte -
                    • >>   IIC_Stop -
                    • >>   IIC_Start +

                      IIC_Delay (Thumb, 2 bytes, Stack size 0 bytes, iic.o(.text.IIC_Delay)) +

                      [Called By]

                      • >>   IIC_Wait_Ack +
                      • >>   IIC_Send_Byte +
                      • >>   IIC_Stop +
                      • >>   IIC_Start
                      -

                      IIC_GPIO_Init (Thumb, 72 bytes, Stack size 16 bytes, iic.o(.text.IIC_GPIO_Init)) +

                      IIC_GPIO_Init (Thumb, 72 bytes, Stack size 16 bytes, iic.o(.text.IIC_GPIO_Init))

                      [Stack]

                      • Max Depth = 48
                      • Call Chain = IIC_GPIO_Init ⇒ GPIO_Init
                      -
                      [Calls]
                      • >>   GPIO_SetBits -
                      • >>   GPIO_Init -
                      • >>   RCC_APB2PeriphClockCmd +
                        [Calls]
                        • >>   GPIO_SetBits +
                        • >>   GPIO_Init +
                        • >>   RCC_APB2PeriphClockCmd
                        -
                        [Called By]
                        • >>   test +
                          [Called By]
                          • >>   test
                          -

                          IIC_Send_Byte (Thumb, 134 bytes, Stack size 24 bytes, iic.o(.text.IIC_Send_Byte)) +

                          IIC_Send_Byte (Thumb, 134 bytes, Stack size 24 bytes, iic.o(.text.IIC_Send_Byte))

                          [Stack]

                          • Max Depth = 32
                          • Call Chain = IIC_Send_Byte ⇒ GPIO_SetBits
                          -
                          [Calls]
                          • >>   IIC_Delay -
                          • >>   GPIO_SetBits -
                          • >>   GPIO_ResetBits +
                            [Calls]
                            • >>   IIC_Delay +
                            • >>   GPIO_SetBits +
                            • >>   GPIO_ResetBits
                            -
                            [Called By]
                            • >>   OLED_WriteData -
                            • >>   OLED_WriteCommand +
                              [Called By]
                              • >>   OLED_WriteData +
                              • >>   OLED_WriteCommand
                              -

                              IIC_Start (Thumb, 68 bytes, Stack size 24 bytes, iic.o(.text.IIC_Start)) +

                              IIC_Start (Thumb, 68 bytes, Stack size 24 bytes, iic.o(.text.IIC_Start))

                              [Stack]

                              • Max Depth = 32
                              • Call Chain = IIC_Start ⇒ GPIO_SetBits
                              -
                              [Calls]
                              • >>   IIC_Delay -
                              • >>   GPIO_SetBits -
                              • >>   GPIO_ResetBits +
                                [Calls]
                                • >>   IIC_Delay +
                                • >>   GPIO_SetBits +
                                • >>   GPIO_ResetBits
                                -
                                [Called By]
                                • >>   OLED_WriteData -
                                • >>   OLED_WriteCommand +
                                  [Called By]
                                  • >>   OLED_WriteData +
                                  • >>   OLED_WriteCommand
                                  -

                                  IIC_Stop (Thumb, 54 bytes, Stack size 16 bytes, iic.o(.text.IIC_Stop)) +

                                  IIC_Stop (Thumb, 54 bytes, Stack size 16 bytes, iic.o(.text.IIC_Stop))

                                  [Stack]

                                  • Max Depth = 24
                                  • Call Chain = IIC_Stop ⇒ GPIO_SetBits
                                  -
                                  [Calls]
                                  • >>   IIC_Delay -
                                  • >>   GPIO_SetBits -
                                  • >>   GPIO_ResetBits +
                                    [Calls]
                                    • >>   IIC_Delay +
                                    • >>   GPIO_SetBits +
                                    • >>   GPIO_ResetBits
                                    -
                                    [Called By]
                                    • >>   OLED_WriteData -
                                    • >>   OLED_WriteCommand -
                                    • >>   IIC_Wait_Ack +
                                      [Called By]
                                      • >>   OLED_WriteData +
                                      • >>   OLED_WriteCommand +
                                      • >>   IIC_Wait_Ack
                                      -

                                      IIC_Wait_Ack (Thumb, 134 bytes, Stack size 16 bytes, iic.o(.text.IIC_Wait_Ack)) +

                                      IIC_Wait_Ack (Thumb, 134 bytes, Stack size 16 bytes, iic.o(.text.IIC_Wait_Ack))

                                      [Stack]

                                      • Max Depth = 40
                                      • Call Chain = IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                      -
                                      [Calls]
                                      • >>   GPIO_ReadInputDataBit -
                                      • >>   IIC_Stop -
                                      • >>   IIC_Delay -
                                      • >>   GPIO_SetBits -
                                      • >>   GPIO_ResetBits +
                                        [Calls]
                                        • >>   GPIO_ReadInputDataBit +
                                        • >>   IIC_Stop +
                                        • >>   IIC_Delay +
                                        • >>   GPIO_SetBits +
                                        • >>   GPIO_ResetBits
                                        -
                                        [Called By]
                                        • >>   OLED_WriteData -
                                        • >>   OLED_WriteCommand +
                                          [Called By]
                                          • >>   OLED_WriteData +
                                          • >>   OLED_WriteCommand
                                          -

                                          OLED_Fill (Thumb, 110 bytes, Stack size 16 bytes, iic.o(.text.OLED_Fill)) +

                                          OLED_Fill (Thumb, 110 bytes, Stack size 16 bytes, iic.o(.text.OLED_Fill))

                                          [Stack]

                                          • Max Depth = 72
                                          • Call Chain = OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                          -
                                          [Calls]
                                          • >>   OLED_WriteData -
                                          • >>   OLED_WriteCommand +
                                            [Calls]
                                            • >>   OLED_WriteData +
                                            • >>   OLED_WriteCommand
                                            -
                                            [Called By]
                                            • >>   OLED_Init +
                                              [Called By]
                                              • >>   OLED_Init
                                              -

                                              OLED_Init (Thumb, 196 bytes, Stack size 24 bytes, iic.o(.text.OLED_Init)) +

                                              OLED_Init (Thumb, 196 bytes, Stack size 24 bytes, iic.o(.text.OLED_Init))

                                              [Stack]

                                              • Max Depth = 96
                                              • Call Chain = OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                              -
                                              [Calls]
                                              • >>   OLED_Fill -
                                              • >>   OLED_WriteCommand -
                                              • >>   delay_ms_simple +
                                                [Calls]
                                                • >>   OLED_Fill +
                                                • >>   OLED_WriteCommand +
                                                • >>   delay_ms_simple
                                                -
                                                [Called By]
                                                • >>   test +
                                                  [Called By]
                                                  • >>   test
                                                  -

                                                  OLED_Refresh (Thumb, 124 bytes, Stack size 16 bytes, iic.o(.text.OLED_Refresh)) +

                                                  OLED_Refresh (Thumb, 124 bytes, Stack size 16 bytes, iic.o(.text.OLED_Refresh))

                                                  [Stack]

                                                  • Max Depth = 72
                                                  • Call Chain = OLED_Refresh ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                                  -
                                                  [Calls]
                                                  • >>   OLED_WriteData -
                                                  • >>   OLED_WriteCommand +
                                                    [Calls]
                                                    • >>   OLED_WriteData +
                                                    • >>   OLED_WriteCommand
                                                    -
                                                    [Called By]
                                                    • >>   test +
                                                      [Called By]
                                                      • >>   test
                                                      -

                                                      OLED_ShowChar (Thumb, 132 bytes, Stack size 8 bytes, iic.o(.text.OLED_ShowChar)) +

                                                      OLED_ShowChar (Thumb, 132 bytes, Stack size 8 bytes, iic.o(.text.OLED_ShowChar))

                                                      [Stack]

                                                      • Max Depth = 8
                                                      • Call Chain = OLED_ShowChar
                                                      -
                                                      [Called By]
                                                      • >>   lcd_show_all_ascii_lowercase +
                                                        [Called By]
                                                        • >>   lcd_show_all_ascii_lowercase
                                                        -

                                                        OLED_WriteCommand (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteCommand)) +

                                                        OLED_WriteCommand (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteCommand))

                                                        [Stack]

                                                        • Max Depth = 56
                                                        • Call Chain = OLED_WriteCommand ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                                        -
                                                        [Calls]
                                                        • >>   IIC_Wait_Ack -
                                                        • >>   IIC_Send_Byte -
                                                        • >>   IIC_Stop -
                                                        • >>   IIC_Start +
                                                          [Calls]
                                                          • >>   IIC_Wait_Ack +
                                                          • >>   IIC_Send_Byte +
                                                          • >>   IIC_Stop +
                                                          • >>   IIC_Start
                                                          -
                                                          [Called By]
                                                          • >>   OLED_Refresh -
                                                          • >>   OLED_Init -
                                                          • >>   OLED_Fill +
                                                            [Called By]
                                                            • >>   OLED_Refresh +
                                                            • >>   OLED_Init +
                                                            • >>   OLED_Fill
                                                            -

                                                            OLED_WriteData (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteData)) +

                                                            OLED_WriteData (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteData))

                                                            [Stack]

                                                            • Max Depth = 56
                                                            • Call Chain = OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                                            -
                                                            [Calls]
                                                            • >>   IIC_Wait_Ack -
                                                            • >>   IIC_Send_Byte -
                                                            • >>   IIC_Stop -
                                                            • >>   IIC_Start +
                                                              [Calls]
                                                              • >>   IIC_Wait_Ack +
                                                              • >>   IIC_Send_Byte +
                                                              • >>   IIC_Stop +
                                                              • >>   IIC_Start
                                                              -
                                                              [Called By]
                                                              • >>   OLED_Refresh -
                                                              • >>   OLED_Fill +
                                                                [Called By]
                                                                • >>   OLED_Refresh +
                                                                • >>   OLED_Fill
                                                                -

                                                                RCC_APB2PeriphClockCmd (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd)) +

                                                                RCC_APB2PeriphClockCmd (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd))

                                                                [Stack]

                                                                • Max Depth = 8
                                                                • Call Chain = RCC_APB2PeriphClockCmd
                                                                -
                                                                [Called By]
                                                                • >>   IIC_GPIO_Init +
                                                                  [Called By]
                                                                  • >>   IIC_GPIO_Init
                                                                  • >>   main

                                                                  SystemInit (Thumb, 102 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SystemInit))

                                                                  [Stack]

                                                                  • Max Depth = 32
                                                                  • Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
                                                                  -
                                                                  [Calls]
                                                                  • >>   SetSysClock +
                                                                    [Calls]
                                                                    • >>   SetSysClock

                                                                    [Address Reference Count : 1]
                                                                    • startup_stm32f10x_md.o(.text)
                                                                    -

                                                                    delay_ms_simple (Thumb, 32 bytes, Stack size 16 bytes, iic.o(.text.delay_ms_simple)) +

                                                                    delay_ms_simple (Thumb, 32 bytes, Stack size 16 bytes, iic.o(.text.delay_ms_simple))

                                                                    [Stack]

                                                                    • Max Depth = 24
                                                                    • Call Chain = delay_ms_simple ⇒ delay_us_simple
                                                                    -
                                                                    [Calls]
                                                                    • >>   delay_us_simple +
                                                                      [Calls]
                                                                      • >>   delay_us_simple
                                                                      -
                                                                      [Called By]
                                                                      • >>   OLED_Init +
                                                                        [Called By]
                                                                        • >>   OLED_Init
                                                                        -

                                                                        delay_us_simple (Thumb, 46 bytes, Stack size 8 bytes, iic.o(.text.delay_us_simple)) +

                                                                        delay_us_simple (Thumb, 46 bytes, Stack size 8 bytes, iic.o(.text.delay_us_simple))

                                                                        [Stack]

                                                                        • Max Depth = 8
                                                                        • Call Chain = delay_us_simple
                                                                        -
                                                                        [Called By]
                                                                        • >>   delay_ms_simple +
                                                                          [Called By]
                                                                          • >>   delay_ms_simple
                                                                          -

                                                                          lcd_show_all_ascii_lowercase (Thumb, 140 bytes, Stack size 24 bytes, iic.o(.text.lcd_show_all_ascii_lowercase)) +

                                                                          flash_Test (Thumb, 78 bytes, Stack size 56 bytes, flash.o(.text.flash_Test)) +

                                                                          [Stack]

                                                                          • Max Depth = 132
                                                                          • Call Chain = flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status +
                                                                          +
                                                                          [Calls]
                                                                          • >>   Flash_ReadStruct +
                                                                          • >>   Flash_WriteStruct +
                                                                          +
                                                                          [Called By]
                                                                          • >>   main +
                                                                          + +

                                                                          lcd_show_all_ascii_lowercase (Thumb, 140 bytes, Stack size 24 bytes, iic.o(.text.lcd_show_all_ascii_lowercase))

                                                                          [Stack]

                                                                          • Max Depth = 32
                                                                          • Call Chain = lcd_show_all_ascii_lowercase ⇒ OLED_ShowChar
                                                                          -
                                                                          [Calls]
                                                                          • >>   OLED_ShowChar +
                                                                            [Calls]
                                                                            • >>   OLED_ShowChar
                                                                            -
                                                                            [Called By]
                                                                            • >>   test +
                                                                              [Called By]
                                                                              • >>   test
                                                                              -

                                                                              main (Thumb, 72 bytes, Stack size 32 bytes, main.o(.text.main)) -

                                                                              [Stack]

                                                                              • Max Depth = 136
                                                                              • Call Chain = main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits +

                                                                                main (Thumb, 76 bytes, Stack size 32 bytes, main.o(.text.main)) +

                                                                                [Stack]

                                                                                • Max Depth = 164
                                                                                • Call Chain = main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
                                                                                -
                                                                                [Calls]
                                                                                • >>   test -
                                                                                • >>   GPIO_ResetBits -
                                                                                • >>   GPIO_Init -
                                                                                • >>   RCC_APB2PeriphClockCmd +
                                                                                  [Calls]
                                                                                  • >>   flash_Test +
                                                                                  • >>   test +
                                                                                  • >>   GPIO_ResetBits +
                                                                                  • >>   GPIO_Init +
                                                                                  • >>   RCC_APB2PeriphClockCmd

                                                                                  [Called By]
                                                                                  • >>   __rt_entry_main
                                                                                  -

                                                                                  test (Thumb, 22 bytes, Stack size 8 bytes, iic.o(.text.test)) +

                                                                                  test (Thumb, 20 bytes, Stack size 8 bytes, iic.o(.text.test))

                                                                                  [Stack]

                                                                                  • Max Depth = 104
                                                                                  • Call Chain = test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
                                                                                  -
                                                                                  [Calls]
                                                                                  • >>   lcd_show_all_ascii_lowercase -
                                                                                  • >>   OLED_Refresh -
                                                                                  • >>   OLED_Init -
                                                                                  • >>   IIC_GPIO_Init +
                                                                                    [Calls]
                                                                                    • >>   lcd_show_all_ascii_lowercase +
                                                                                    • >>   OLED_Refresh +
                                                                                    • >>   OLED_Init +
                                                                                    • >>   IIC_GPIO_Init

                                                                                    [Called By]
                                                                                    • >>   main
                                                                                    @@ -688,18 +783,18 @@ Global Symbols

                                                                                    Local Symbols

                                                                                    -

                                                                                    SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SetSysClock)) +

                                                                                    SetSysClock (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SetSysClock))

                                                                                    [Stack]

                                                                                    • Max Depth = 24
                                                                                    • Call Chain = SetSysClock ⇒ SetSysClockTo72
                                                                                    -
                                                                                    [Calls]
                                                                                    • >>   SetSysClockTo72 +
                                                                                      [Calls]
                                                                                      • >>   SetSysClockTo72

                                                                                      [Called By]
                                                                                      • >>   SystemInit
                                                                                      -

                                                                                      SetSysClockTo72 (Thumb, 290 bytes, Stack size 16 bytes, system_stm32f10x.o(.text.SetSysClockTo72)) +

                                                                                      SetSysClockTo72 (Thumb, 290 bytes, Stack size 16 bytes, system_stm32f10x.o(.text.SetSysClockTo72))

                                                                                      [Stack]

                                                                                      • Max Depth = 16
                                                                                      • Call Chain = SetSysClockTo72
                                                                                      -
                                                                                      [Called By]
                                                                                      • >>   SetSysClock +
                                                                                        [Called By]
                                                                                        • >>   SetSysClock

                                                                                        diff --git a/Objects/example.lnp b/Objects/example.lnp index 12749fa..31dc629 100644 --- a/Objects/example.lnp +++ b/Objects/example.lnp @@ -1,6 +1,7 @@ --cpu Cortex-M3 ".\objects\main.o" ".\objects\iic.o" +".\objects\flash.o" ".\objects\misc.o" ".\objects\stm32f10x_flash.o" ".\objects\stm32f10x_gpio.o" diff --git a/Objects/example_Target_1.dep b/Objects/example_Target_1.dep index af37958..ac62b01 100644 --- a/Objects/example_Target_1.dep +++ b/Objects/example_Target_1.dep @@ -1,6 +1,6 @@ Dependencies for Project 'example', Target 'Target_1': (DO NOT MODIFY !) CompilerVersion: 6230000::V6.23::ARMCLANG -F (.\APP\main.c)(0x6880A23D)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MMD) +F (.\APP\main.c)(0x6882D7B4)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/main.o -MMD) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h)(0x61AD795E) I (RTE\_Target_1\RTE_Components.h)(0x68802E58) I (C:\Users\gxyos\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm3.h)(0x664BD888) @@ -15,7 +15,8 @@ I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPer I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h)(0x61AD795E) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h)(0x61AD795E) I (DEV\iic.h)(0x6880A153) -F (.\DEV\iic.c)(0x68819ACD)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/iic.o -MMD) +I (DEV\flash.h)(0x6882D7B5) +F (.\DEV\iic.c)(0x6882D813)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/iic.o -MMD) I (DEV\iic.h)(0x6880A153) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h)(0x61AD795E) I (RTE\_Target_1\RTE_Components.h)(0x68802E58) @@ -30,6 +31,21 @@ I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPer I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h)(0x61AD795E) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h)(0x61AD795E) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h)(0x61AD795E) +F (.\DEV\flash.c)(0x6882D7A1)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/flash.o -MMD) +I (DEV\flash.h)(0x6882D7B5) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h)(0x61AD795E) +I (RTE\_Target_1\RTE_Components.h)(0x68802E58) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm3.h)(0x664BD888) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\system_stm32f10x.h)(0x61AD795E) +I (RTE\Device\STM32F103C8\stm32f10x_conf.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_flash.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_gpio.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_i2c.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_rcc.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_spi.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h)(0x61AD795E) +I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h)(0x61AD795E) F (C:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/src/misc.c)(0x68802F45)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c -fno-rtti -funsigned-char -fshort-enums -fshort-wchar -gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV -I./RTE/Device/STM32F103C8 -I./RTE/_Target_1 -IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc -IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver -D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_ -o ./objects/misc.o -MMD) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h)(0x61AD795E) I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h)(0x61AD795E) diff --git a/Objects/flash.d b/Objects/flash.d new file mode 100644 index 0000000..927e79f --- /dev/null +++ b/Objects/flash.d @@ -0,0 +1,14 @@ +./objects/flash.o: DEV\flash.c DEV\flash.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h \ + RTE\_Target_1\RTE_Components.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm3.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\system_stm32f10x.h \ + RTE\Device\STM32F103C8\stm32f10x_conf.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_flash.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_gpio.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_i2c.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_rcc.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_spi.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h \ + C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h diff --git a/Objects/flash.o b/Objects/flash.o new file mode 100644 index 0000000000000000000000000000000000000000..e6ef179ed73ba5d96b9564f7534a5c6d08598061 GIT binary patch literal 4900 zcmb_eTWl298UANxXT9EC))&kzq{-GXgd!Lg>`+P|7;Hmh8%hF{NLjQU?~cuiy;!qr z0x41uK}xGc2_$OkR8`e9l`5(r`JqwO3zDU_Qq(pN?MtP~eJUvrNgsL*V=CM^ct^oKAAPXZr-4j zT(M5B_=_0tsg3JCMBV5zHl-N zZ)rImv2SWQ5wm{?`74Y`ChcEp`>IZ{UWGD?VGKrJ25XB%e-0Ljv=K4Zj)y#iVVwCr zp5~^wc|Ecb#hRPw7v(P~|DWjJ4u5hJ{oCn>7Tc;c)&(uPLups>OaN(|niFVpjM|QG zAhLn`AOz#g5}xM%ChqKFq7UPbZN2!VR z8azW7#)0SnSer?!S~EGCa>`XJmNf^V!LgTRZFIWoU2qRL%2i*{KT` ztF`QKH9u1ZdM$h6WPj!`GO{BV-12nE6W?7556{jkgu2`wd3?BWv za&>vmFV?+WzB&V==lfMZkn3J~+VkD|jPJ>0sp{4x@8|n>$zc{kT;wV_H{!cB@3=eV z1^Q_so~ZjXc^&aIN(l^V9l4WUtuE6@$+?AsFX~ZXt+nFw-g2R}vsJ%Q>dxJmt|-%L zLFJ2z$^T<-4-Vo@xt=>w6k|8Upp|Vzfc%G&=EI0!8qrH7=!+yqQL{L#f!S#!Kd*6oSJ( zo};D@jwZ3-x2A88$X*=Lh)lzZ&hgLGDl(YZH;k3%her$LPpf^+j#u+;DLdvB zOS$upWw9uZq49&qj$|i_m8|1ri33^#ab1bC!_$Wb!`|F~wH@4Xe+v?fBG` zy=Kg|qfT_pHWFhdw!~Nt*=E?i@t@coQ3oLz9cm||XYF`&)b4WZwWIdNQQLOxjnNnF zUc{wG?N5!`?UP6tvo~)8`(||4J)rj)b~65BdjnD)2KuONL_aqD&&04h#ZUqL-R zh%*FjBt(|132Ce*e2S<)(BkKbTqaA>@;%^l3VOOtOCAa4V-(N#Sd0Fn7CqCVUq=p2 zJm1}BoBX21|C_+iGu~|`R4hbAobM=ldg9dMeP7KR`S5J>#PhK#sg`lOz7$tivwoazv{vRBSeUlga{P0UQ?+=&U_J1-6z zMO_@=9>9q&T1a6#FeP_I*N2CgvXt7SItdnPw}Yq*y#W8BBrGJPW|)O%Y2Lasg( z!F0D?_lpxVb+6Vas2#&h@}s?@?S&Ivw1oQYZua|fSUI4A!j-Nv~JcZsXGD>mc& zX@Xmk`lg12qo|1II!rjKioSyc=7i(Ix4Mq|7J~ROKB%%p`kI8R&@$Zy z@V^!^XmK@!@H)N^h2JRL7xrYmFaID0hNf8*%DvL0eRp99iC1t!G@puCSY7A#(x1A9<8bX literal 0 HcmV?d00001 diff --git a/Objects/iic.o b/Objects/iic.o index adff67aa4a931d113dfe5ac6b3e9aff1eeb9a3fd..89009c4d3b8f6b5f59641c56a5af71472ea81dea 100644 GIT binary patch delta 432 zcmW;GJxD@v6b0~i9~w#@^unkhFj2BdqM|R$vS%-d5dTP1&>~2IG~^^fLqQNiL~>dJ zBP53c7jdm2Xeek2S_&7TC1?>^f`*PRzYCYkx#uP;#jKnSh^_3gJM@G5O2Ea&QciOJ7UF%VM|i(sgb6N#nK zf#{$K>0*%>EfR~wpkfi0CKidMIJG?Q@VzQ_NO#das^tJFdW(B{ho-U0u_XP*4IP3zq$P|5-9n!3qD*s$k88O^hGtQsEIm<4 zNYe)tCs;Iyp74wqNQE_v-qSub*_F_w-6=jCT3%e(9>(9;rgY(rF2Fr$NRip0O$ zG>AN1#v?sPnJ%C`V#++?^aUF7K}ag0A&80^BqBkG#wc8JkVsxbLqlzC z6(2$1QqUjZP*6kA&?@9oP0@MvJ$QKGa_>F&oO5}v9{r9U#re6~zgXS*;;dcZZbm5? z!)9leh*Ck%As-m2V4Ns#-@Dg2I+HbA#EfN2cvy^EeY_-=t+|mJmXae)x(t(=8aaeM z*D|k&S1ZP2qG3(6O=IT^*h8L6w(?tR+Z(G3_LJA-9_oOlsVQ&0L^09ujq;6Pe|S$` zQ{i%&YgEu^(wXBPqCxawr1X+JKy-?PeX)cpV;?DTbx--70Mq?4AW0tlM9tsJW%1%4 z;ELe(NU{Q4|EXCF7aE}2a*OA@$U(j9s1v9%J`G$#s*q}#8K)}Vk2r_=&OuTBBJEb) ze^s{&81crU+NMPl>UWHaAvecRD}Onw-*`i>|Hhe^3Ph5RKy~#4)SDWh+IoxnN>l@p V!3fscGbv#aeK?Ntr{(Ps@)x)_MU4Oe delta 702 zcmYjOF-QVo6n_8RnU{B&mx_Z!I!Pd5&=L`qP)HOhEv*R+ZPuJbA=Of7e`8BaLl79! z9)Uw!OM_c3?bZ@O*!S}O_}}r}`@Z+T@BQz%ujEUzo)XPQdb3ge6ouBVhzX=)W76~r zM3fKP=iBynDmaU zA_B6k1TyOl*$s}%h@EQ{>^pH0>c=hEO|9!{m?$RW&aAkVB`3PZlT}zgxj{x7E%@5C ziBjNEfM; 38003 Registers - 218 218 + 218 30 346 Code Coverage - 1010 160 + 1010 317 204 Performance Analyzer - 1170 + 1170 175 175 157 @@ -112,8 +112,8 @@ 2 3 - -32000 - -32000 + -1 + -1 -1 @@ -129,8 +129,8 @@ 0 - 1692 - 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000D000000080000000100000034433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4150505C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6B433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C73746D3332663130785F7263632E63000000000F73746D3332663130785F7263632E6300000000FFDC7800FFFFFFFF6B433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C696E635C73746D3332663130785F7263632E68000000000F73746D3332663130785F7263632E6800000000BECEA100FFFFFFFF5A433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E6800000000F0A0A100FFFFFFFF57433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C5254455C4465766963655C53544D33324631303343385C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000BCA8E100FFFFFFFF6C433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C73746D3332663130785F6770696F2E63000000001073746D3332663130785F6770696F2E63000000009CC1B600FFFFFFFF6C433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C696E635C73746D3332663130785F6770696F2E68000000001073746D3332663130785F6770696F2E6800000000F7B88600FFFFFFFF53433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C5254455C4465766963655C53544D33324631303343385C73797374656D5F73746D3332663130782E63000000001273797374656D5F73746D3332663130782E6300000000D9ADC200FFFFFFFF33433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C6969632E6300000000056969632E6300000000A5C2D700FFFFFFFF33433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C6969632E6800000000056969632E6800000000B3A6BE00FFFFFFFF62433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C6D6973632E6300000000066D6973632E6300000000EAD6A300FFFFFFFF61433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C496E636C7564655C73797374656D5F73746D3332663130782E68000000001273797374656D5F73746D3332663130782E6800000000F6FA7D00FFFFFFFF54433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C41524D5C434D5349535C362E312E305C434D5349535C436F72655C496E636C7564655C636F72655F636D332E68000000000A636F72655F636D332E6800000000B5E99D00FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C20100006600000080070000AF020000 + 1736 + 0100000004000000010000000100000001000000010000000000000002000000000000000100000001000000000000002800000028000000010000000E000000080000000100000034433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4150505C6D61696E2E6300000000066D61696E2E6300000000C5D4F200FFFFFFFF6B433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C73746D3332663130785F7263632E63000000000F73746D3332663130785F7263632E6300000000FFDC7800FFFFFFFF6B433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C696E635C73746D3332663130785F7263632E68000000000F73746D3332663130785F7263632E6800000000BECEA100FFFFFFFF5A433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C496E636C7564655C73746D3332663130782E68000000000B73746D3332663130782E6800000000F0A0A100FFFFFFFF57433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C5254455C4465766963655C53544D33324631303343385C737461727475705F73746D3332663130785F6D642E730000000016737461727475705F73746D3332663130785F6D642E7300000000BCA8E100FFFFFFFF6C433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C73746D3332663130785F6770696F2E63000000001073746D3332663130785F6770696F2E63000000009CC1B600FFFFFFFF6C433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C696E635C73746D3332663130785F6770696F2E68000000001073746D3332663130785F6770696F2E6800000000F7B88600FFFFFFFF53433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C5254455C4465766963655C53544D33324631303343385C73797374656D5F73746D3332663130782E63000000001273797374656D5F73746D3332663130782E6300000000D9ADC200FFFFFFFF33433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C6969632E6300000000056969632E6300000000A5C2D700FFFFFFFF33433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C6969632E6800000000056969632E6800000000B3A6BE00FFFFFFFF62433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C5374645065726970685F4472697665725C7372635C6D6973632E6300000000066D6973632E6300000000EAD6A300FFFFFFFF61433A5C55736572735C6778796F735C417070446174615C4C6F63616C5C41726D5C5061636B735C4B65696C5C53544D3332463178785F4446505C322E342E315C4465766963655C496E636C7564655C73797374656D5F73746D3332663130782E68000000001273797374656D5F73746D3332663130782E6800000000F6FA7D00FFFFFFFF35433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C666C6173682E630000000007666C6173682E63000000005FC3CF00FFFFFFFF35433A5C55736572735C6778796F735C446F63756D656E74735C53543330463130335C4578616D706C655C4445565C666C6173682E680000000007666C6173682E6800000000C1838300FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000C20100006600000080070000AF020000 @@ -1841,7 +1841,7 @@ Build 976 - 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000000000000100000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000085461726765745F3196000000000000000100085461726765745F31000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000010000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000002001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000004002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA0000000000000000000000000000000000000000000000000100000001000000960000000300205000000000085461726765745F3196000000000000000100085461726765745F31000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000400240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3534,7 +3534,7 @@ 16 - 0A0000000A0000006E0000006E000000 + 0A0000000A0000007602000042000000 @@ -3565,8 +3565,8 @@ 59392 File - 2798 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000F46756E6374696F6E616C5374617465960000000000000013000F46756E6374696F6E616C537461746500084375745F466C61670949735F437574696E670D45585449305F44697361626C650A4750494F5F50696E5F34084375745F496E69740D534A5F57524954455F54494D450E5354373738395F57525F444154410D5354373738395F57525F5245470C4C43445F57525F44415441380A4C43445F57525F524547044932433003753136037533320275380464726177074D454D5F4D4F4E034D454D00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2572 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000000F46756E6374696F6E616C5374617465960000000000000001000F46756E6374696F6E616C537461746500000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3582,7 +3582,7 @@ Build 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3598,7 +3598,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000000310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3625,9 +3625,9 @@ 8 .\APP\main.c - 2 + 0 1 - 23 + 28 1 0 @@ -3662,8 +3662,8 @@ RTE/Device/STM32F103C8/startup_stm32f10x_md.s 0 - 125 - 135 + 128 + 138 1 0 @@ -3697,9 +3697,9 @@ .\DEV\iic.c - 2 - 400 - 447 + 0 + 403 + 446 0 0 @@ -3732,11 +3732,20 @@ 0 - C:\Users\gxyos\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm3.h + .\DEV\flash.c + 5 + 37 + 69 + 0 + + 0 + + + DEV\flash.h 0 1 - 1 - 1 + 8 + 0 0 diff --git a/example.uvoptx b/example.uvoptx index 33b8dbf..7d0048d 100644 --- a/example.uvoptx +++ b/example.uvoptx @@ -140,7 +140,7 @@ 0 ST-LINKIII-KEIL_SWO - -UR -O16590 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0-R0 + -UR -O16590 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0-R0 0 @@ -148,7 +148,24 @@ UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM)) - + + + 0 + 0 + 28 + 1 +
                                                                                        134221684
                                                                                        + 0 + 0 + 0 + 0 + 0 + 1 + .\APP\main.c + + \\example\APP/main.c\28 +
                                                                                        +
                                                                                        0 @@ -245,7 +262,7 @@ 2 2 1 - 1 + 0 0 0 .\DEV\iic.c @@ -253,6 +270,18 @@ 0 0 + + 2 + 3 + 1 + 0 + 0 + 0 + .\DEV\flash.c + flash.c + 0 + 0 + diff --git a/example.uvprojx b/example.uvprojx index 3a5540f..915c2fe 100644 --- a/example.uvprojx +++ b/example.uvprojx @@ -399,6 +399,11 @@ 1 .\DEV\iic.c + + flash.c + 1 + .\DEV\flash.c +