From 417853ed9b3d1674ffaa50aecf413effc8462e9b Mon Sep 17 00:00:00 2001 From: hm-thinkbook14p Date: Sat, 9 Nov 2024 20:38:28 +0800 Subject: [PATCH] =?UTF-8?q?at24c=20=E6=95=B4=E4=B8=AA=E7=B3=BB=E5=88=97ok?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- BSP/drv_at24cxx.c | 47 +- BSP/drv_at24cxx.h | 91 ++- Core/Src/main.c | 13 +- MDK-ARM/STM32-AT24C256.uvguix.gxms0 | 40 +- MDK-ARM/STM32-AT24C256/STM32-AT24C256.axf | Bin 541880 -> 556200 bytes .../STM32-AT24C256.build_log.htm | 12 +- MDK-ARM/STM32-AT24C256/STM32-AT24C256.hex | 701 +++++++++++------- MDK-ARM/STM32-AT24C256/STM32-AT24C256.htm | 440 +++++++---- MDK-ARM/STM32-AT24C256/STM32-AT24C256.map | 564 +++++++------- .../STM32-AT24C256_STM32-AT24C256.dep | 8 +- MDK-ARM/STM32-AT24C256/drv_at24cxx.crf | Bin 579811 -> 580104 bytes MDK-ARM/STM32-AT24C256/drv_at24cxx.o | Bin 637512 -> 637572 bytes MDK-ARM/STM32-AT24C256/main.crf | Bin 573609 -> 573817 bytes MDK-ARM/STM32-AT24C256/main.o | Bin 634548 -> 634596 bytes 14 files changed, 1173 insertions(+), 743 deletions(-) diff --git a/BSP/drv_at24cxx.c b/BSP/drv_at24cxx.c index 10d593c..33ec9b2 100644 --- a/BSP/drv_at24cxx.c +++ b/BSP/drv_at24cxx.c @@ -4,16 +4,21 @@ #include "string.h" -static I2C_t *prv_i2c;//私有i2c指针 +static I2C_t *prv_i2c = NULL;//私有i2c指针 -I2C_t* AT24C_Init(I2C_HandleTypeDef *hi2c,uint16_t addr) +I2C_t* AT24C_Init(I2C_HandleTypeDef *hi2c) { I2C_t* i2c; i2c = (I2C_t *)malloc(sizeof(I2C_t)); i2c->hi2c = hi2c; - i2c->address = addr; + i2c->address = DEV_ADDR; + i2c->page_num = PAGE_NUM; + i2c->page_size = PAGE_SIZE; + i2c->capacity = CAPACITY_SIZE; + i2c->addr_num = ADDR_BYTE_NUM; + i2c->delay = 2; /** @@ -29,6 +34,11 @@ I2C_t* AT24C_Init(I2C_HandleTypeDef *hi2c,uint16_t addr) unsigned char AT24C_Write(uint16_t addr,uint8_t* buff,uint16_t len) { + if(!prv_i2c) + { + return HAL_ERROR; + } + HAL_StatusTypeDef rst; uint16_t i = 0; @@ -37,24 +47,24 @@ unsigned char AT24C_Write(uint16_t addr,uint8_t* buff,uint16_t len) uint16_t left; uint16_t tail; - if((len + addr - 1)/AT24C256_PAGE_SIZE == addr/AT24C256_PAGE_SIZE) //如果在同一页 + if((len + addr - 1)/prv_i2c->page_size == addr/prv_i2c->page_size) //如果在同一页 { - rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr, AT24C256_ADDR_LEN, buff, len, 0xFFFF); - HAL_Delay(AT24C256_WAIT_TIME_UINT * len); + rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr, prv_i2c->addr_num, buff, len, 0xFFFF); + HAL_Delay(prv_i2c->delay * len); } else { - head = (addr / AT24C256_PAGE_SIZE+1) * AT24C256_PAGE_SIZE - addr; //开始页剩余待写入字节数 + head = (addr / prv_i2c->page_size+1) * prv_i2c->page_size - addr; //开始页剩余待写入字节数 left = len - head; //除去开始页剩下字节数 - tail=left-left/AT24C256_PAGE_SIZE*AT24C256_PAGE_SIZE; //末页待写入字节数 + tail=left-left/prv_i2c->page_size*prv_i2c->page_size; //末页待写入字节数 - rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr, AT24C256_ADDR_LEN, buff, head, 0xffff); - HAL_Delay(AT24C256_WAIT_TIME_UINT * head); + rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr, prv_i2c->addr_num, buff, head, 0xffff); + HAL_Delay(prv_i2c->delay * head); - for(i=0; ipage_size; i++) { - rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr + head + i * AT24C256_PAGE_SIZE, AT24C256_ADDR_LEN, buff + head + i * AT24C256_PAGE_SIZE , AT24C256_PAGE_SIZE, 0xFFFF); - HAL_Delay(AT24C256_WAIT_TIME_UINT*AT24C256_PAGE_SIZE); + rst = HAL_I2C_Mem_Write(prv_i2c->hi2c, prv_i2c->address | 0x00, addr + head + i * prv_i2c->page_size, prv_i2c->addr_num, buff + head + i * prv_i2c->page_size , prv_i2c->page_size, 0xFFFF); + HAL_Delay(prv_i2c->delay*prv_i2c->page_size); if(rst != HAL_OK) { @@ -62,8 +72,8 @@ unsigned char AT24C_Write(uint16_t addr,uint8_t* buff,uint16_t len) } } - rst = HAL_I2C_Mem_Write(&hi2c1, AT24C256_ADDR_WRITE, addr + head + i * AT24C256_PAGE_SIZE, AT24C256_ADDR_LEN, buff + head+ i * AT24C256_PAGE_SIZE, tail, 0xffff); - HAL_Delay(AT24C256_WAIT_TIME_UINT * tail); + rst = HAL_I2C_Mem_Write(&hi2c1, prv_i2c->address | 0x00, addr + head + i * prv_i2c->page_size, prv_i2c->addr_num, buff + head+ i * prv_i2c->page_size, tail, 0xffff); + HAL_Delay(prv_i2c->delay * tail); } return (unsigned char)rst; @@ -71,11 +81,16 @@ unsigned char AT24C_Write(uint16_t addr,uint8_t* buff,uint16_t len) unsigned char AT24C_Read(uint16_t addr,uint8_t* buff,uint16_t len) { + if(!prv_i2c) + { + return HAL_ERROR; + } + HAL_StatusTypeDef rst; if(addr + len < 0x8000) { - rst = HAL_I2C_Mem_Read(prv_i2c->hi2c, prv_i2c->address | 0x01, addr, AT24C256_ADDR_LEN, buff, len, 0xffff); + rst = HAL_I2C_Mem_Read(prv_i2c->hi2c, prv_i2c->address | 0x01, addr, prv_i2c->addr_num, buff, len, 0xffff); } return (unsigned char)rst; diff --git a/BSP/drv_at24cxx.h b/BSP/drv_at24cxx.h index b6ed96c..ab7fee8 100644 --- a/BSP/drv_at24cxx.h +++ b/BSP/drv_at24cxx.h @@ -5,30 +5,96 @@ #include "stm32f1xx_hal.h" #include "i2c.h" -#define AT24C256_ADDR 0xA0 -#define AT24C256_ADDR_LEN 2 -#define AT24C256_ADDR_WRITE (AT24C256_ADDR | 0x00) -#define AT24C256_ADDR_READ (AT24C256_ADDR | 0x01) -#define AT24C256_PAGE_SIZE 64 -#define AT24C256_WAIT_TIME_UINT 2 -#define AT24C256_MEM_LEN 0x8000 +#define x24C256//器件名称,AT24C32、AT24C64、AT24C128、AT24C256、AT24C512 -#define EE_TYPE 0x01 +#ifdef x24C01 + #define PAGE_NUM 16 //页数 + #define PAGE_SIZE 8 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 1 //地址字节个数 +#endif + +#ifdef x24C02 + #define PAGE_NUM 32 //页数 + #define PAGE_SIZE 8 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 1 //地址字节个数 +#endif +#ifdef x24C04 + #define PAGE_NUM 32 //页数 + #define PAGE_SIZE 16 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 1 //地址字节个数 +#endif + +#ifdef x24C08 + #define PAGE_NUM 64 //页数 + #define PAGE_SIZE 16 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 1 //地址字节个数 +#endif + +#ifdef x24C16 + #define PAGE_NUM 128 //页数 + #define PAGE_SIZE 16 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 1 //地址字节个数 +#endif + + +#ifdef x24C32 + #define PAGE_NUM 128 //页数 + #define PAGE_SIZE 32 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 2 //地址字节个数 +#endif + +#ifdef x24C64 + #define PAGE_NUM 256 //页数 + #define PAGE_SIZE 32 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 2 //地址字节个数 +#endif + +#ifdef x24C128 + #define PAGE_NUM 256 //页数 + #define PAGE_SIZE 64 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 2 //地址字节个数 +#endif + +#ifdef x24C256 + #define PAGE_NUM 512 //页数 + #define PAGE_SIZE 64 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 2 //地址字节个数 +#endif + +#ifdef x24C512 + #define PAGE_NUM 512 //页数 + #define PAGE_SIZE 128 //页面大小(字节) + #define CAPACITY_SIZE (PAGE_NUM * PAGE_SIZE) //总容量(字节) + #define ADDR_BYTE_NUM 2 //地址字节个数 +#endif + + +#define DEV_ADDR 0xA0 typedef struct i2c_drv { I2C_HandleTypeDef *hi2c; uint16_t address; + uint16_t addr_num; - - uint16_t page_size; - uint16_t mem_lenght; + uint32_t page_num; + uint32_t page_size; + uint16_t capacity; uint16_t delay; @@ -36,8 +102,7 @@ typedef struct i2c_drv { extern I2C_t drv_i2c; - -I2C_t* AT24C_Init(I2C_HandleTypeDef *hi2c,uint16_t addr); +I2C_t* AT24C_Init(I2C_HandleTypeDef *hi2c); unsigned char AT24C_Write(uint16_t addr,uint8_t* buff,uint16_t len); diff --git a/Core/Src/main.c b/Core/Src/main.c index 1c80479..209a287 100644 --- a/Core/Src/main.c +++ b/Core/Src/main.c @@ -56,8 +56,8 @@ void SystemClock_Config(void); /* Private user code ---------------------------------------------------------*/ /* USER CODE BEGIN 0 */ -uint8_t buff_send[128]; -uint8_t buff_recv[128]; +uint8_t buff_send[512]; +uint8_t buff_recv[512]; /* USER CODE END 0 */ /** @@ -93,15 +93,18 @@ int main(void) MX_USART1_UART_Init(); /* USER CODE BEGIN 2 */ - for(int i = 0;i < 128;i++) + for(int i = 0;i < 256;i++) { buff_send[i] = i; } - //AT24C_Write(60,buff_send,128); + AT24C_Init(&hi2c1); - //AT24C_Read(60,buff_recv,128); + + AT24C_Write(60,buff_send,256); + + AT24C_Read(60,buff_recv,256); /* USER CODE END 2 */ diff --git a/MDK-ARM/STM32-AT24C256.uvguix.gxms0 b/MDK-ARM/STM32-AT24C256.uvguix.gxms0 index 9439d36..c924f57 100644 --- a/MDK-ARM/STM32-AT24C256.uvguix.gxms0 +++ b/MDK-ARM/STM32-AT24C256.uvguix.gxms0 @@ -111,7 +111,7 @@ 0 739 - 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000000000000100000030443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4253505C6472765F617432346378782E63000000000D6472765F617432346378782E6300000000C5D4F200FFFFFFFF30443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4253505C6472765F617432346378782E68000000000D6472765F617432346378782E6800000000FFDC7800FFFFFFFF53443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F6932632E63000000001373746D3332663178785F68616C5F6932632E6300000000BECEA100FFFFFFFF2E443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF3C443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000BCA8E100FFFFFFFF53443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F6465662E68000000001373746D3332663178785F68616C5F6465662E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000B9020000 + 01000000040000000100000001000000010000000100000000000000020000000000000001000000010000000000000028000000280000000100000006000000030000000100000030443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4253505C6472765F617432346378782E63000000000D6472765F617432346378782E6300000000C5D4F200FFFFFFFF30443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4253505C6472765F617432346378782E68000000000D6472765F617432346378782E6800000000FFDC7800FFFFFFFF53443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C447269766572735C53544D3332463178785F48414C5F4472697665725C5372635C73746D3332663178785F68616C5F6932632E63000000001373746D3332663178785F68616C5F6932632E6300000000BECEA100FFFFFFFF2E443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C436F72655C5372635C6D61696E2E6300000000066D61696E2E6300000000F0A0A100FFFFFFFF3C443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C4D444B2D41524D5C737461727475705F73746D33326631303378622E730000000015737461727475705F73746D33326631303378622E7300000000BCA8E100FFFFFFFF53443A5C325F636F64655C325F6D63755C53544D33322D41543234433235365C447269766572735C53544D3332463178785F48414C5F4472697665725C496E635C73746D3332663178785F68616C5F6465662E68000000001373746D3332663178785F68616C5F6465662E68000000009CC1B600FFFFFFFF0100000010000000C5D4F200FFDC7800BECEA100F0A0A100BCA8E1009CC1B600F7B88600D9ADC200A5C2D700B3A6BE00EAD6A300F6FA7D00B5E99D005FC3CF00C1838300CACAD500010000000000000002000000F40000006600000080070000B9020000 @@ -1805,8 +1805,8 @@ 59392 File - 2941 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000195F5F48414C5F554152545F434C4541525F49444C45464C414796000000000000001400195F5F48414C5F554152545F434C4541525F49444C45464C41470773656E64696E670B434F4D4D5F73657453656C1B48414C5F5541525445785F52656365697665546F49646C655F49541948414C5F554152545F49646C6543706C7443616C6C6261636B0673726569616C14764D42506F727454696D65727344697361626C6513764D42506F727454696D657273456E61626C65066875617274311D764170706C69636174696F6E47657449646C655461736B4D656D6F7279124D585F5553425F4445564943455F496E69741F5553455F48414C5F554152545F52454749535445525F43414C4C4241434B5311716D69383635385F77726974655F726567086932635F73656E73026454027538076C646F75626C65067072696E74660728693D303B693C066D616C6C6F630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2972 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001141543234433235365F414444525F4C454E960000000000000014001141543234433235365F414444525F4C454E1741543234433235365F574149545F54494D455F55494E541241543234433235365F504147455F53495A45195F5F48414C5F554152545F434C4541525F49444C45464C41470773656E64696E670B434F4D4D5F73657453656C1B48414C5F5541525445785F52656365697665546F49646C655F49541948414C5F554152545F49646C6543706C7443616C6C6261636B0673726569616C14764D42506F727454696D65727344697361626C6513764D42506F727454696D657273456E61626C65066875617274311D764170706C69636174696F6E47657449646C655461736B4D656D6F7279124D585F5553425F4445564943455F496E69741F5553455F48414C5F554152545F52454749535445525F43414C4C4241434B5311716D69383635385F77726974655F726567086932635F73656E73026454027538076C646F75626C650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3546,8 +3546,8 @@ 59392 File - 2941 - 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE80300000000000000000000000000000000000000000000000100000001000000960000000200205000000000195F5F48414C5F554152545F434C4541525F49444C45464C414796000000000000001400195F5F48414C5F554152545F434C4541525F49444C45464C41470773656E64696E670B434F4D4D5F73657453656C1B48414C5F5541525445785F52656365697665546F49646C655F49541948414C5F554152545F49646C6543706C7443616C6C6261636B0673726569616C14764D42506F727454696D65727344697361626C6513764D42506F727454696D657273456E61626C65066875617274311D764170706C69636174696F6E47657449646C655461736B4D656D6F7279124D585F5553425F4445564943455F496E69741F5553455F48414C5F554152545F52454749535445525F43414C4C4241434B5311716D69383635385F77726974655F726567086932635F73656E73026454027538076C646F75626C65067072696E74660728693D303B693C066D616C6C6F630000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000100150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 + 2972 + 00200000010000002800FFFF01001100434D4643546F6F6C426172427574746F6E00E100000000000000000000000000000000000000000000000100000001000000018001E100000000000001000000000000000000000000000000000100000001000000018003E1000000000000020000000000000000000000000000000001000000010000000180CD7F0000000000000300000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018023E100000000040004000000000000000000000000000000000100000001000000018022E100000000040005000000000000000000000000000000000100000001000000018025E10000000000000600000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001802BE10000000000000700000000000000000000000000000000010000000100000001802CE10000000004000800000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001807A8A0000000000000900000000000000000000000000000000010000000100000001807B8A0000000004000A00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180D3B00000000000000B000000000000000000000000000000000100000001000000018015B10000000004000C0000000000000000000000000000000001000000010000000180F4B00000000004000D000000000000000000000000000000000100000001000000018036B10000000004000E00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FF88000000000400460000000000000000000000000000000001000000010000000180FE880000000004004500000000000000000000000000000000010000000100000001800B810000000004001300000000000000000000000000000000010000000100000001800C810000000004001400000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180F0880000020000000F000000000000000000000000000000000100000001000000FFFF0100120043555646696E64436F6D626F427574746F6EE803000000000000000000000000000000000000000000000001000000010000009600000002002050000000001141543234433235365F414444525F4C454E960000000000000014001141543234433235365F414444525F4C454E1741543234433235365F574149545F54494D455F55494E541241543234433235365F504147455F53495A45195F5F48414C5F554152545F434C4541525F49444C45464C41470773656E64696E670B434F4D4D5F73657453656C1B48414C5F5541525445785F52656365697665546F49646C655F49541948414C5F554152545F49646C6543706C7443616C6C6261636B0673726569616C14764D42506F727454696D65727344697361626C6513764D42506F727454696D657273456E61626C65066875617274311D764170706C69636174696F6E47657449646C655461736B4D656D6F7279124D585F5553425F4445564943455F496E69741F5553455F48414C5F554152545F52454749535445525F43414C4C4241434B5311716D69383635385F77726974655F726567086932635F73656E73026454027538076C646F75626C650000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000018024E10000000000001100000000000000000000000000000000010000000100000001800A810000000000001200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E2280000002000300150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B46350000000000000000000000000100000001000000000000000000000001000000020021802280000000000000150000002153746172742F53746F70202644656275672053657373696F6E094374726C2B4635000000000000000000000000010000000100000000000000000000000100000000002180E0010000000000007500000021456E65726779204D6561737572656D656E742026776974686F75742044656275670000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C488000000000000160000000000000000000000000000000001000000010000000180C988000000000400180000000000000000000000000000000001000000010000000180C788000000000000190000000000000000000000000000000001000000010000002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000003002180C8880000000000001700000027264B696C6C20416C6C20427265616B706F696E747320696E2043757272656E7420546172676574000000000000000000000000010000000100000000000000000000000100000000002180E50100000000000078000000264B696C6C20416C6C20427265616B706F696E747320696E204163746976652050726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180E601000000000000790000002F4B696C6C20416C6C20427265616B706F696E747320696E204D756C74692D50726F6A65637420576F726B73706163650000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000021804C010000020001001A0000000F2650726F6A6563742057696E646F77000000000000000000000000010000000100000000000000000000000100000008002180DD880000000000001A0000000750726F6A656374000000000000000000000000010000000100000000000000000000000100000000002180DC8B0000000000003A00000005426F6F6B73000000000000000000000000010000000100000000000000000000000100000000002180E18B0000000000003B0000000946756E6374696F6E73000000000000000000000000010000000100000000000000000000000100000000002180E28B000000000000400000000954656D706C6174657300000000000000000000000001000000010000000000000000000000010000000000218018890000000000003D0000000E536F757263652042726F777365720000000000000000000000000100000001000000000000000000000001000000000021800000000000000400FFFFFFFF00000000000000000001000000000000000100000000000000000000000100000000002180D988000000000000390000000C4275696C64204F7574707574000000000000000000000000010000000100000000000000000000000100000000002180E38B000000000000410000000B46696E64204F75747075740000000000000000000000000100000001000000000000000000000001000000000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180FB7F0000000000001B000000000000000000000000000000000100000001000000000000000446696C65C6030000 1423 @@ -3563,7 +3563,7 @@ Build 955 - 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0000000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 + 00200000000000001000FFFF01001100434D4643546F6F6C426172427574746F6ECF7F0000000000001C0000000000000000000000000000000001000000010000000180D07F0000000000001D000000000000000000000000000000000100000001000000018030800000000000001E000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6EC7040000000000006A0000000C4261746368204275696C2664000000000000000000000000010000000100000000000000000000000100000004000580C7040000000000006A0000000C4261746368204275696C266400000000000000000000000001000000010000000000000000000000010000000000058046070000000000006B0000000D42617463682052656275696C640000000000000000000000000100000001000000000000000000000001000000000005804707000000000000FFFFFFFF0B426174636820436C65616E0100000000000000010000000000000001000000000000000000000001000000000005809E8A0000000000001F0000000F4261746326682053657475702E2E2E000000000000000000000000010000000100000000000000000000000100000000000180D17F0000000000002000000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001804C8A0000000000002100000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000FFFF01001900434D4643546F6F6C426172436F6D626F426F78427574746F6EBA00000000000000000000000000000000000000000000000001000000010000009600000003002050FFFFFFFF00960000000000000000000180EB880000000000002200000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180C07F000000000000230000000000000000000000000000000001000000010000000180B08A000000000000240000000000000000000000000000000001000000010000000180A8010000000000004E00000000000000000000000000000000010000000100000001807202000000000000530000000000000000000000000000000001000000010000000180BE010000000000005000000000000000000000000000000000010000000100000000000000054275696C64DC010000 583 @@ -3579,7 +3579,7 @@ Debug 2362 - 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000004002600000000000000000000000000000000010000000100000001801D800000000000002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000004002800000000000000000000000000000000010000000100000001801B80000000000400290000000000000000000000000000000001000000010000000180E57F0000000004002A00000000000000000000000000000000010000000100000001801C800000000004002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000004002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720000000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7200000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720000000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720000000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730000000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72000000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 + 00200000010000001900FFFF01001100434D4643546F6F6C426172427574746F6ECC880000000000002500000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018017800000000000002600000000000000000000000000000000010000000100000001801D800000000004002700000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000001801A800000000000002800000000000000000000000000000000010000000100000001801B80000000000000290000000000000000000000000000000001000000010000000180E57F0000000000002A00000000000000000000000000000000010000000100000001801C800000000000002B00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF000000000000000000000000000100000001000000018000890000000000002C00000000000000000000000000000000010000000100000001800000000001000000FFFFFFFF0000000000000000000000000001000000010000000180E48B0000020001002D0000000000000000000000000000000001000000010000000180F07F0000020001002E0000000000000000000000000000000001000000010000000180E8880000020000003700000000000000000000000000000000010000000100000001803B010000020001002F0000000000000000000000000000000001000000010000000180BB8A00000200010030000000000000000000000000000000000100000001000000FFFF01001500434D4643546F6F6C4261724D656E75427574746F6E0E01000002000100310000000D57617463682057696E646F7773000000000000000000000000010000000100000000000000000000000100000003001380D88B00000000000031000000085761746368202631000000000000000000000000010000000100000000000000000000000100000000001380D98B00000000000031000000085761746368202632000000000000000000000000010000000100000000000000000000000100000000001380CE01000000000000FFFFFFFF0C576174636820416E63686F720100000000000000010000000000000001000000000000000000000001000000000013800F0100000200010032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000004001380D28B00000000000032000000094D656D6F7279202631000000000000000000000000010000000100000000000000000000000100000000001380D38B00000000000032000000094D656D6F7279202632000000000000000000000000010000000100000000000000000000000100000000001380D48B00000000000032000000094D656D6F7279202633000000000000000000000000010000000100000000000000000000000100000000001380D58B00000000000032000000094D656D6F72792026340000000000000000000000000100000001000000000000000000000001000000000013801001000002000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000040013809307000000000000330000000855415254202326310000000000000000000000000100000001000000000000000000000001000000000013809407000000000000330000000855415254202326320000000000000000000000000100000001000000000000000000000001000000000013809507000000000000330000000855415254202326330000000000000000000000000100000001000000000000000000000001000000000013809607000000000000330000001626446562756720287072696E746629205669657765720000000000000000000000000100000001000000000000000000000001000000000013803C010000000000007200000010416E616C797369732057696E646F7773000000000000000000000000010000000100000000000000000000000100000004001380658A000000000000340000000F264C6F67696320416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380DC7F0000000000003E0000001526506572666F726D616E636520416E616C797A6572000000000000000000000000010000000100000000000000000000000100000000001380E788000000000000380000000E26436F646520436F766572616765000000000000000000000000010000000100000000000000000000000100000000001380CD01000000000000FFFFFFFF0F416E616C7973697320416E63686F7201000000000000000100000000000000010000000000000000000000010000000000138053010000000000003F0000000D54726163652057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013805401000000000000FFFFFFFF115472616365204D656E7520416E63686F720100000000000000010000000000000001000000000000000000000001000000000013802901000000000000350000001553797374656D205669657765722057696E646F77730000000000000000000000000100000001000000000000000000000001000000010013804B01000000000000FFFFFFFF1453797374656D2056696577657220416E63686F720100000000000000010000000000000001000000000000000000000001000000000001800000000001000000FFFFFFFF00000000000000000000000000010000000100000013800189000002000000360000000F26546F6F6C626F782057696E646F7700000000000000000000000001000000010000000000000000000000010000000300138044C5000000000000FFFFFFFF0E5570646174652057696E646F77730100000000000000010000000000000001000000000000000000000001000000000013800000000000000400FFFFFFFF000000000000000000010000000000000001000000000000000000000001000000000013805B01000000000000FFFFFFFF12546F6F6C626F78204D656E75416E63686F72010000000000000001000000000000000100000000000000000000000100000000000000000005446562756764020000 898 @@ -3603,21 +3603,21 @@ 0 100 - 0 + 3 ..\BSP\drv_at24cxx.c - 67 - 16 - 30 + 0 + 1 + 9 1 0 ..\BSP\drv_at24cxx.h - 57 - 7 - 40 + 43 + 65 + 105 1 0 @@ -3633,9 +3633,9 @@ ../Core/Src/main.c - 4 - 64 - 101 + 0 + 91 + 113 1 0 @@ -3651,9 +3651,9 @@ ../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_def.h - 8 - 23 - 40 + 11 + 31 + 41 1 0 diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.axf b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.axf index 0500a151a67fa5194b448f9749b4feceebc06f5e..1cc95f62258cec43d1620b71278e292a876f38af 100644 GIT binary patch delta 23684 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 delta 12938 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 SvE`$6^J8#oOFHPG((%6%vbO^O diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.build_log.htm b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.build_log.htm index d0b9353..92e836d 100644 --- a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.build_log.htm +++ b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.build_log.htm @@ -28,18 +28,10 @@ Project File Date: 11/07/2024 *** Using Compiler 'V5.03 [Build 24]', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Build target 'STM32-AT24C256' compiling main.c... -compiling drv_at24cxx.c... -..\BSP\drv_at24cxx.c(12): warning: #223-D: function "malloc" declared implicitly - i2c = (I2C_t *)malloc(sizeof(I2C_t)); -..\BSP\drv_at24cxx.c(35): warning: #177-D: variable "cnt" was declared but never referenced - uint16_t cnt = 0; //写入字节计数 -..\BSP\drv_at24cxx.c(74): warning: C4017W: rst may be used before being set - HAL_StatusTypeDef rst; -..\BSP\drv_at24cxx.c: 3 warnings, 0 errors linking... -Program Size: Code=4228 RO-data=312 RW-data=16 ZI-data=1384 +Program Size: Code=6792 RO-data=312 RW-data=28 ZI-data=2788 FromELF: creating hex file... -"STM32-AT24C256\STM32-AT24C256.axf" - 0 Error(s), 3 Warning(s). +"STM32-AT24C256\STM32-AT24C256.axf" - 0 Error(s), 0 Warning(s).

Software Packages used:

diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.hex b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.hex index b20a9fc..ca73a1f 100644 --- a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.hex +++ b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.hex @@ -1,8 +1,8 @@ :020000040800F2 -:1000000078050020010100088F0F0008B10E0008DC -:100010008D0F00086D0100080511000800000000A8 -:10002000000000000000000000000000930F000826 -:100030006F01000800000000910F0008950F0008F4 +:10000000000B00200101000803190008ED1300088F +:1000100001190008E5020008791A00080000000034 +:1000200000000000000000000000000007190008A8 +:10003000E70200080000000005190008091900087F :100040001B0100081B0100081B0100081B01000820 :100050001B0100081B0100081B0100081B01000810 :100060001B0100081B0100081B0100081B01000800 @@ -10,279 +10,440 @@ :100080001B0100081B0100081B0100081B010008E0 :100090001B0100081B0100081B0100081B010008D0 :1000A0001B0100081B0100081B0100081B010008C0 -:1000B0001B0100081B010008F50F00081B010008C8 +:1000B0001B0100081B010008691900081B0100084A :1000C0001B0100081B0100081B0100081B010008A0 :1000D0001B0100081B0100081B0100081B01000890 :1000E0001B0100081B0100081B010008DFF80CD0F1 -:1000F00000F02AF800480047491100087805002060 +:1000F00000F02AF800480047BD1A0008000B002055 :100100000648804706480047FEE7FEE7FEE7FEE7B1 -:10011000FEE7FEE7FEE7FEE7FEE7FEE7F30F000877 +:10011000FEE7FEE7FEE7FEE7FEE7FEE767190008F9 :10012000ED000008D2B201E000F8012B491EFBD21D :1001300070470022F6E710B513460A4604461946F2 :10014000FFF7F0FF204610BD064C074D06E0E068C3 :1001500040F0010394E8070098471034AC42F6D30E -:10016000FFF7C8FF9C110008BC110008FEE77047AC -:1001700072B6FEE72DE9F84FDFF8B0910024A9F13F -:10018000040B23460F2709F1040AABF1040EC6E065 -:100190000125A5402A40AA4276D1DFF894C14E68D5 -:1001A000A6EB0C0866452BD00DDC032E34D005DC05 -:1001B00036B3012E19D0022E2FD11BE0112E16D0EE -:1001C000122E2AD119E0B8F5881F19D006DCB8F52F -:1001D000803F15D0B8F5801F1FD111E0B8F5001F82 -:1001E0000ED0B8F5041F18D10AE0CB6815E0CB6833 -:1001F0001B1D12E0CB6808330FE0CB680C330CE01A -:100200008B682BB1012B4FF0080303D0456104E04C -:10021000042302E0056100E00023FF2A01D806461E -:1002200001E000F104064FEA840501D9A5F120059B -:10023000D6F8008007FA05FC28EA0C0803FA05F551 -:1002400048EA0508C6F800804D68ED0066D5394DCE -:10025000AE6946F00106AE61AD6924F0030605F013 -:1002600001050095344D06EB050CDCF80850A60797 -:10027000360F07FA06F825EA0805DFF8C080404582 -:1002800003D14FF0000817E048E0DFF8B4804045A4 -:1002900002D14FF001080FE0DFF8A880404502D1FD -:1002A0004FF0020808E0DFF8A080404502D14FF08F -:1002B000030801E04FF0040808FA06F848EA0508C8 -:1002C000CCF808804D68D9F80060ED02002D4D464D -:1002D00001DA164300E096432E604D68DAF80060BC -:1002E000AD02002D554601DA164300E096432E601C -:1002F0004D68DBF80060AD03002D5D4601DA164362 -:1003000000E096432E604D68DEF80060ED03002D9E -:10031000754601DA164300E096432E60641C0A68B5 -:1003200032FA04F57FF434AFBDE8F88F08040140D9 -:1003300000001110001002400000014000080140C0 -:10034000000C014000100140001401400AB101619D -:1003500070470904FBE7000001488068704700000F -:100360000000002070B5040025D094F83D00002561 -:1003700020B984F83C50204600F0B2F8242084F8DC -:100380003D002068016821F00101016020680168DA -:1003900041F4004101602068016821F400410160DE -:1003A00000F046FA4A4A6168914201D8494900E0A2 -:1003B0004949884201D2012070BD48492368B0FBF9 -:1003C000F1F15E6826F03F060E435E60636893427B -:1003D00006D94FF4967359434FF47A73B1FBF3F196 -:1003E0002368491C1E6A26F03F0631431962616882 -:1003F00091420AD84900401EB0FBF1F0401CC0F306 -:100400000B0004281ED204201CE0A368F3B301EB08 -:10041000C10202EB0116421EB2FBF6F2521C42F47C -:100420008042120549D093B301EBC10202EB0111E6 -:10043000401EB0FBF1F0401CC0F30B0040F48040C4 -:1004400040F400402168CA694CF6FF739A43104398 -:10045000C861D4E9071001432068026822F0C00295 -:1004600011430160D4E9030101432068826848F226 -:10047000FF339A4311438160D4E9050108432168A1 -:10048000CA6822F0FF021043C86001E00EE016E0E7 -:100490002068016841F0010101602564202084F892 -:1004A0003D00256384F83E50002070BD01EB4106FD -:1004B000421EB2FBF6F2521CB3E70120C2E701EB89 -:1004C0004101401EB0FBF1F0401CC0F30B00B7E748 -:1004D000A086010080841E0000093D0040420F00FC -:1004E00010B586B00021009101910291039100683E -:1004F0000F4988421AD10F4CA06940F00800A06152 -:10050000A069694600F008000490C0200090122005 -:100510000190032003900848FFF72CFEE06940F4A7 -:100520000010E061E06900F40010049006B010BD16 -:100530000054004000100240000C01400248816855 -:10054000027811448160704700000020074810B510 -:10055000016841F010010160032000F0A1F80F20B4 -:1005600000F006F800F050F8002010BD0020024016 -:1005700030B505461F4887B0C16941F00401C1612B -:10058000C06906A900F00400009001A800F030F94D -:100590000498B0B100F04CF940001749174AB0FB7D -:1005A000F1F11748491E0260416040F2E732002134 -:1005B000C0E903218160816100F016FB040003D0D3 -:1005C00015E000F035F9E8E70D4800F033FB0400D2 -:1005D0000DD11E2000F036F8102D07D2002229463A -:1005E0001E2000F03DF80748056000E0012407B038 -:1005F000204630BD0010024040420F00000800407D -:100600002C010020040000200C4808B5816941F04D -:1006100001018161816901F001010091C16941F02D -:100620008051C161C06900F0805000900448416869 -:1006300021F0E06141F00071416008BD001002400E -:100640000000014000280ADB00F01F020121914058 -:1006500040094FF0E02202EB8000C0F80011704723 -:10066000F0B40E4B1B680C46C3F30223C3F107051D -:10067000042D00D90425191D072901D2002300E00B -:10068000DB1E012606FA05F1491E214099409E40D5 -:10069000761E16403143F0BC00F036BD0CED00E094 -:1006A000064900F0070208684FF6FF03184040EAC9 -:1006B0000220034A10430860704700000CED00E080 -:1006C0000000FA052DE9F0470F46050061D0434EC2 -:1006D000306800F00700B84209D2306820F0070007 -:1006E00038433060306800F00700B84251D12868C4 -:1006F0003B4C810712D5400703D5606840F4E060A9 -:1007000060602878000703D5606840F4605060603E -:100710006068A96820F0F000084360602878C0078E -:1007200028D06868012810D02168022810D08907D5 -:1007300000292EDA616821F0030101436160FFF7AF -:100740000BFE804641F288390DE021688903EFE70E -:100750008901EDE7FFF700FEA0EB0801494502D94A -:100760000320BDE8F0876068696800F00C00B0EB1A -:10077000810FEFD1306800F00700B8420BD9306824 -:1007800020F0070038433060306800F00700B842BE -:1007900001D00120E5E72878400705D56068E968C1 -:1007A00020F4E060084360602878000706D56068A0 -:1007B000296920F4605040EAC100606000F058F8F8 -:1007C0006168084AC1F30311515CC84006490860DA -:1007D00006480068FFF7CCFE0020C2E70020024078 -:1007E00000100240821100080C00002004000020CC -:1007F0000F2202600C4A536803F0030343605368FE -:1008000003F0F0038360536803F4E063C36052684D -:100810004FF4E06303EAD20202610448006800F08A -:1008200007000860704700000010024000200240EE -:100830000448054900684968044AC1F30221515C33 -:10084000C84070470C0000200010024092110008C0 -:100850000448054900684968044AC1F3C221515C53 -:10086000C84070470C0000200010024092110008A0 -:100870000E4A51680E4801F00C03042B11D0082BCE -:100880000FD10C48C1F38343C903C05C0AD551683A -:10089000084AC1F34041921E515C054A5043B0FBE7 -:1008A000F1F07047044948437047000000100240CF -:1008B00000127A007211000800093D002DE9F84F7E -:1008C000040070D02078C24DC00749D06868C0F3DA -:1008D0008100012807D06868C0F38100022809D18F -:1008E0006868C00306D52868800339D56068002889 -:1008F000E7D035E06068B0F5803F0BD010B1B0F5BF -:10090000A02F11D0286820F480302860286820F4B7 -:10091000802002E0286840F480302860606890B150 -:10092000FFF71AFD06460AE0286840F48020286098 -:10093000F0E700BFFFF710FD801B642874D828681B -:100940008003F7D50CE0FFF707FD064605E000BF82 -:10095000FFF702FD801B6428F0D828688003F7D4D5 -:1009600020789C4E80074FF001094FF0000839D5E0 -:10097000686810F00C0F07D06868C0F38100022887 -:1009800009D16868C00306D42868800714D5206997 -:10099000012808D110E02069B0B1C6F80090FFF737 -:1009A000DBFC074605E00EE1FFF7D6FCC01B022882 -:1009B000C4D828688007F7D52868616920F0F80056 -:1009C00040EAC10028600DE0C6F80080FFF7C4FCD3 -:1009D000074604E0FFF7C0FCC01B0228AED8286819 -:1009E0008007F7D4207800072ED57B48A169E1B1B4 -:1009F000C0F80090FFF7B0FC074604E0FFF7ACFC3E -:100A0000C01B022810D8686A8007F7D573484FF4D6 -:100A1000FA510068B0FBF1F0009000BF0098411E51 -:100A200000910028F9D10FE082E0C0F80080FFF7C4 -:100A300093FC074605E000BFFFF78EFCC01B0228B1 -:100A400076D8686A8007F7D42078400761D5E869CE -:100A50000027C00008D4E86940F08050E861E869E8 -:100A6000012700F0805000905D480168C90513D44B -:100A70000168834641F480710160FFF76DFC824696 -:100A800006E000BFFFF768FCA0EB0A0064284FD81F -:100A9000DBF80000C005F5D5E06801280AD008B1F0 -:100AA000052813D0286A20F001002862286A20F067 -:100AB000040002E0286A40F001002862E06841F288 -:100AC000883B98B1FFF748FC82460BE0286A40F06B -:100AD00004002862EEE700BFFFF73EFCA0EB0A012E -:100AE00059455CD8286A8007F6D50CE0FFF734FC3E -:100AF000824605E0FFF730FCA0EB0A0159454ED8CD -:100B0000286A8007F6D4012F03D1E86920F08050CD -:100B1000E861E06990B36968C1F38101022945D0B9 -:100B20000228C6F8608004D0FFF716FC044639E0BE -:100B300035E0FFF711FC074605E000BFFFF70CFCAE -:100B4000C01B02282BD828688001F7D4206AB0F592 -:100B5000803F05D16868A16820F4003008436860D0 -:100B6000D4E908010843696821F4741108436860F6 -:100B7000C6F86090FFF7F0FB044606E025E000BFF2 -:100B8000FFF7EAFB001B022809D828688001F7D587 -:100B90001BE000BFFFF7E0FB001B022802D9032087 -:100BA000BDE8F88F28688001F4D40EE00128F7D062 -:100BB0006868226A00F48031914204D1616A00F4CD -:100BC0007010884201D00120EAE70020E8E7000029 -:100BD0000010024000004242800442420C0000200B -:100BE000007000407047704710B5040003D094F8BF -:100BF0003D0010B107E0012010BD002084F83C004A -:100C0000204600F015F8022084F83D00211D2068E0 -:100C100000F0F6F901203D3460726070A070E07061 -:100C200020716071A071E07120722070002010BDF1 -:100C30007047000090F83D10012901D00120704755 -:100C4000022180F83D100168CA6842F00102CA60C2 -:100C500000680B49884208D0B0F1804F05D009499F -:100C6000884202D00849884204D1816801F0070116 -:100C7000062903D0016841F001010160002070479E -:100C8000002C0140000400400008004070472DE99E -:100C9000F04104460068C66805694FF00007A907DF -:100CA00013D5B10711D5F91E016101202077206805 -:100CB00080698007204602D0FFF7E8FF04E000F0DB -:100CC0007EF8204600F07CF82777680716D5700775 -:100CD00014D521686FF00400086102202077206895 -:100CE000806910F4407F204602D0FFF7CFFF04E078 -:100CF00000F065F8204600F063F82777280715D53F -:100D0000300713D521686FF00800086104202077B0 -:100D10002068C0698007204602D0FFF7B7FF04E0D3 -:100D200000F04DF8204600F04BF82777E80616D57E -:100D3000F00614D521686FF01000086108202077B4 -:100D40002068C06910F4407F204602D0FFF79EFF64 -:100D500004E000F034F8204600F032F82777E80786 -:100D600008D0F00706D021686FF001000861204626 -:100D700000F028F8280608D5300606D521686FF05F -:100D8000800008612046FFF72DFF680608D5700631 -:100D900006D521686FF040000861204600F01CF87D -:100DA000A8060AD5B00608D521686FF020000861B2 -:100DB0002046BDE8F041FFF716BFBDE8F08170475F -:100DC0007047000000680349884201D1FFF7B6BBB5 -:100DD0007047000000080040704770B5040004D060 -:100DE00094F84100002510B106E0012070BD84F8A0 -:100DF0004050204600F024F8242084F84100206868 -:100E0000C16821F40051C160204600F035F9206826 -:100E1000016921F4904101612068416921F02A01B2 -:100E200041612068C16841F40051C16065642020BF -:100E300084F8410084F842006563002070BD000022 -:100E400030B585B0002400940194029403940068A6 -:100E50001449884224D11448816941F48041816158 -:100E6000816901F480410491816941F0040181614B -:100E700080690E4D00F0040004904FF40070009063 -:100E8000022001900320039069462846FFF772F97B -:100E90002815CDE90004694628460294FFF76AF94F -:100EA00005B030BD0038014000100240000801408C -:100EB000FEE7000030B585B000241448009401948A -:100EC00002940394816941F004018161816901F018 -:100ED00004010491816941F00801816180690C4D30 -:100EE00000F008000490002220212846FFF72EFA87 -:100EF000202000900120CDE90104032003906946E1 -:100F00002846FFF737F905B030BD00000010024059 -:100F1000000C01400D4810B50B4901600C494160BF -:100F200000214FF480428160C0E903124161816178 -:100F3000C1610162FFF716FA002803D0BDE8104036 -:100F4000FFF716B910BD00000054004090000020CB -:100F5000801A06000C4810B50A4901604FF4E131CF -:100F60004160002181600C22C160C0E904128161EE -:100F7000C161FFF732FF002803D0BDE81040FFF742 -:100F8000F7B810BD00380140E4000020FEE7FEE79E -:100F900070477047704730B58FB028216846FFF71B -:100FA000C8F814210AA8FFF7C4F80225012004900C -:100FB00000951020059000244FF46010CDE9084002 -:100FC00007956846FFF77AFC08B172B6FEE70F2076 -:100FD000CDE90A054FF48060CDE90C4002210AA852 -:100FE0000E94FFF76FFB002801D072B6FEE70FB03A -:100FF00030BD70470148FFF74ABE00002C010020B9 -:10100000F0B50268194B1A4C1A4D4FF080479842C0 -:1010100005D0B84203D0A04201D0A84203D122F0AB -:1010200070064A683243984205D0B84203D0A042C5 -:1010300001D0A84203D122F44074CA6822434C690B -:1010400022F08002224302608A68C2620A688262D9 -:10105000984201D109690163012141610169C90710 -:1010600003D0016921F001010161F0BD002C0140B4 -:10107000000400400008004010B504460068016903 -:10108000E26821F44051114301612169A0680843DD -:10109000616908432168CA6841F20C639A430243BC -:1010A000CA6020684169A26921F44071114341611D -:1010B00013492068884202D1FFF7CAFB01E0FFF71D -:1010C000B7FB00EBC00101EB0010616864228900EE -:1010D000B0FBF1F1B1FBF2F06FF01803434301EB09 -:1010E0008303322101EB0311B1FBF2F101F0F002B5 -:1010F00002EB001001F00F0108442168886010BD68 -:1011000000380140FEE700000907090E002801DB56 -:10111000034A02E0034A00F00F00815470470000C8 -:1011200000E400E014ED00E002E008C8121F08C16E -:10113000002AFAD170477047002001E001C1121F58 -:10114000002AFBD170470000FFF700FAFFF723FFEA -:10115000FFF7B0FEFFF7DEFEFFF7FCFE03490020BD -:101160000854401C8028FBDBFEE700001000002034 -:10117000010202030405060708090A0B0C0D0E0FF5 -:101180001010000000000000000001020304060728 -:10119000080900000000010203040000BC1100085F -:1011A000000000201000000028110008CC110008E9 -:1011B0001000002068050000381100080100000040 -:0C11C000100000000000000000127A0087 +:10016000FFF7C8FFA01B0008C01B000810B504461D +:10017000142001F0C9FCA021046081804FF40071BB +:1001800081604021C160490201820221C180418217 +:100190000149086010BD0000100000203EB50C4B66 +:1001A0001C689CB18318B3F5004F0DD24FF6FF7356 +:1001B0008DE80E00A188E3882468024641F0010121 +:1001C000204600F05BFA014608463EBD01203EBDD8 +:1001D000100000202DE9FE4F404D064617462868C6 +:1001E0008846D0B1C168BA19521EB2FBF1FCB6FB09 +:1001F000F1F300244FF6FF729C4511D1CDF8008039 +:10020000CDE90172C38881880068324600F06AFB3C +:1002100004462868408A78435BE00120BDE8FE8FF1 +:100220005B1C4B43AA469B1B9DB27B1B9FB2B7FB3B +:10023000F1F303FB1171CDE9008502921FFA81F9F8 +:100240009346C38881880068324600F04BFBDAF899 +:100250000000408A684300F049F8A84435441BE098 +:1002600004FB01868AB2CDE9006204FB0151CDF89E +:1002700008B08AB2C3888188006800F033FBDAF8DE +:1002800000100646488AC968484300F02FF80EB1AE +:100290003046C3E7641CA4B2DAF80000C168B7FBBB +:1002A000F1F3A342DCD8DAF800C004FB0151DCF81A +:1002B0000CC08AB204FB0C838DE8080AC3888188CD +:1002C0005646074800F00EFB04463068408A00FBA3 +:1002D00009F000F00BF82046A0E700001000002015 +:1002E0001C040020FEE7704772B6FEE770B50446B6 +:1002F00000F000F90546601C02D004480078044470 +:1003000000F0F8F8401BA042FAD370BD00000020B6 +:100310002DE9F84FDFF8B0910024A9F1040B234632 +:100320000F2709F1040AABF1040EC6E00125A54030 +:100330002A40AA4276D1DFF894C14E68A6EB0C0899 +:1003400066452BD00DDC032E34D005DC36B3012EF0 +:1003500019D0022E2FD11BE0112E16D0122E2AD129 +:1003600019E0B8F5881F19D006DCB8F5803F15D024 +:10037000B8F5801F1FD111E0B8F5001F0ED0B8F5F9 +:10038000041F18D10AE0CB6815E0CB681B1D12E0F2 +:10039000CB6808330FE0CB680C330CE08B682BB1D3 +:1003A000012B4FF0080303D0456104E0042302E071 +:1003B000056100E00023FF2A01D8064601E000F1B4 +:1003C00004064FEA840501D9A5F12005D6F800807E +:1003D00007FA05FC28EA0C0803FA05F548EA0508BF +:1003E000C6F800804D68ED0066D5394DAE6946F01F +:1003F0000106AE61AD6924F0030605F00105009524 +:10040000344D06EB050CDCF80850A607360F07FA4A +:1004100006F825EA0805DFF8C080404503D14FF013 +:10042000000817E048E0DFF8B480404502D14FF003 +:1004300001080FE0DFF8A880404502D14FF0020824 +:1004400008E0DFF8A080404502D14FF0030801E04A +:100450004FF0040808FA06F848EA0508CCF80880C6 +:100460004D68D9F80060ED02002D4D4601DA1643C3 +:1004700000E096432E604D68DAF80060AD02002D72 +:10048000554601DA164300E096432E604D68DBF8CE +:100490000060AD03002D5D4601DA164300E096438F +:1004A0002E604D68DEF80060ED03002D754601DA20 +:1004B000164300E096432E60641C0A6832FA04F585 +:1004C0007FF434AFBDE8F88F08040140000011103C +:1004D000001002400000014000080140000C0140F3 +:1004E00000100140001401400AB101617047090485 +:1004F000FBE7000001488068704700000000002012 +:1005000070B5040025D094F83D00002520B984F88A +:100510003C50204600F082FA242084F83D002068F8 +:10052000016821F0010101602068016841F4004187 +:1005300001602068016821F40041016000F016FCB0 +:100540004A4A6168914201D8494900E049498842D4 +:1005500001D2012070BD48492368B0FBF1F15E680B +:1005600026F03F060E435E606368934206D94FF45F +:10057000967359434FF47A73B1FBF3F12368491C26 +:100580001E6A26F03F0631431962616891420AD81B +:100590004900401EB0FBF1F0401CC0F30B000428E2 +:1005A0001ED204201CE0A368F3B301EBC10202EBEE +:1005B0000116421EB2FBF6F2521C42F480421205B2 +:1005C00049D093B301EBC10202EB0111401EB0FB15 +:1005D000F1F0401CC0F30B0040F4804040F40040B8 +:1005E0002168CA694CF6FF739A431043C861D4E985 +:1005F000071001432068026822F0C0021143016025 +:10060000D4E9030101432068826848F2FF339A432A +:1006100011438160D4E9050108432168CA6822F0CA +:10062000FF021043C86001E00EE016E02068016898 +:1006300041F0010101602564202084F83D0025631C +:1006400084F83E50002070BD01EB4106421EB2FB13 +:10065000F6F2521CB3E70120C2E701EB4101401E54 +:10066000B0FBF1F0401CC0F30B00B7E7A08601001F +:1006700080841E0000093D0040420F002DE9FF4F1D +:1006800083B00025DDE910799A4693460446DDF8EB +:1006900048800095FFF72EFF064694F83D0020287D +:1006A0007DD1192301228B492046009600F0B4FF2A +:1006B0000028F5D194F83C00012870D0012084F87E +:1006C0003C0020680168C90703D1016841F00101BD +:1006D00001602068016821F400610160222084F833 +:1006E0003D00402084F83E0025646762A4F82A900B +:1006F000608D20857848E062CDE9008653465A46F1 +:100700002046049900F08AFE00287DD1208DDFF874 +:10071000CC91202768B1012814D0022820680168F4 +:100720001ED041F4806101602068416980690090B9 +:10073000C5E02068416981690091016841F4007158 +:100740000160BCE02068016821F48061016072B63C +:100750002068416981690091016841F400710AE0F3 +:1007600041F40061016072B62068416981690091BD +:10077000016821F48061016062B6A0E003286AD8B4 +:1007800001280DD0022843464FF00002494620467A +:1007900000960CD000F040FF002862D10CE097E0FA +:1007A00032464146204600F0DDFF68BB7AE000F0AB +:1007B00033FF48BB72B637E02068016821F48061DE +:1007C000016072B620680069616A0870606A00F1B1 +:1007D00001006062208DA0F101002085608DA0F1F4 +:1007E000010060853E4846F2A8110068B0FBF1F0B8 +:1007F000C0EBC00000EB80000090401E009008D0CD +:1008000020684069C04300E02BE040070CD5009809 +:10081000F3E744F8305F6773A573206940F0200068 +:10082000206162B625731CE02068016841F4007104 +:10083000016020680069616A0870606A401C60623B +:10084000218D491E2185618D491E618562B6216811 +:10085000096901702AE032464146204600F082FFD5 +:1008600018B1012007B0BDE8F08F20680069616A07 +:100870000870606A00F101006062208DA0F1010043 +:1008800081B22185608DA0F10100608520684269F8 +:100890006FEA0202520712D4032903D1016821F43E +:1008A0008061016020680069616A0870606A401CAC +:1008B0006062208D401E2085608D401E6085208DE9 +:1008C00000287FF45BAF3C346770A5702570C9E7E2 +:1008D0000220C7E7020010000000FFFF0400010033 +:1008E0000C0000202DE9FF4F83B09A46DDE91197F7 +:1008F00093460446DDF84080FFF7FCFD054694F87A +:100900003D0020287ED1192301224249204600952E +:1009100000F082FE00287AD194F83C00012876D0BD +:10092000012084F83C0020680168C90703D10168F0 +:1009300041F0010101602068016821F4006101605B +:10094000212084F83D00402084F83E0000262664E3 +:10095000C4F82480A4F82A90608D20852E48E06297 +:10096000CDE9007553465A462046049900F0D4FD5F +:1009700070B934E02A463946204600F02AFF58B1C3 +:10098000206C042804D12068016841F400710160E2 +:10099000012007B0BDE8F08F606A21680078086127 +:1009A000606A00F101006062218DA1F1010189B24C +:1009B0002185628DA2F101026285226853696FEA86 +:1009C00003035B070BD469B100781061606A401CB7 +:1009D0006062208D401E2085608D401E6085208DC8 +:1009E0000028C7D12A463946204600F0E9FD0028F4 +:1009F000C6D154F81F0B016841F40071016020203A +:100A0000A07700E003E0E67766770020C1E70220E8 +:100A1000BFE70000020010000000FFFF10B586B025 +:100A20000021009101910291039100680F498842D1 +:100A30001AD10F4CA06940F00800A061A069694676 +:100A400000F008000490C0200090122001900320C4 +:100A500003900848FFF75CFCE06940F40010E06197 +:100A6000E06900F40010049006B010BD005400408E +:100A700000100240000C01400248816802781144D5 +:100A80008160704700000020074810B5016841F000 +:100A900010010160032000F0A1F80F2000F006F81B +:100AA00000F050F8002010BD0020024030B505468F +:100AB0001F4887B0C16941F00401C161C06906A93E +:100AC00000F00400009001A800F030F90498B0B1E3 +:100AD00000F04CF940001749174AB0FBF1F11748F4 +:100AE000491E0260416040F2E7320021C0E9032163 +:100AF0008160816100F016FB040003D015E000F076 +:100B000035F9E8E70D4800F033FB04000DD11E2055 +:100B100000F036F8102D07D2002229461E2000F0E2 +:100B20003DF80748056000E0012407B0204630BDCD +:100B30000010024040420F0000080040B8040020AE +:100B4000040000200C4808B5816941F00101816171 +:100B5000816901F001010091C16941F08051C161D9 +:100B6000C06900F0805000900448416821F0E061C5 +:100B700041F00071416008BD0010024000000140DA +:100B800000280ADB00F01F020121914040094FF0CC +:100B9000E02202EB8000C0F800117047F0B40E4B69 +:100BA0001B680C46C3F30223C3F10705042D00D9CB +:100BB0000425191D072901D2002300E0DB1E0126B0 +:100BC00006FA05F1491E214099409E40761E1640C6 +:100BD0003143F0BC00F052BF0CED00E0064900F0DC +:100BE000070208684FF6FF03184040EA0220034A54 +:100BF00010430860704700000CED00E00000FA05AB +:100C00002DE9F0470F46050061D0434E306800F0F3 +:100C10000700B84209D2306820F00700384330603E +:100C2000306800F00700B84251D128683B4C81077A +:100C300012D5400703D5606840F4E0606060287812 +:100C4000000703D5606840F4605060606068A96880 +:100C500020F0F000084360602878C00728D068685A +:100C6000012810D02168022810D0890700292EDA27 +:100C7000616821F0030101436160FFF73BFC80469E +:100C800041F288390DE021688903EFE78901EDE73A +:100C9000FFF730FCA0EB0801494502D90320BDE86D +:100CA000F0876068696800F00C00B0EB810FEFD14D +:100CB000306800F00700B8420BD9306820F0070018 +:100CC00038433060306800F00700B84201D001209E +:100CD000E5E72878400705D56068E96820F4E0601A +:100CE000084360602878000706D56068296920F409 +:100CF000605040EAC100606000F058F86168084A3E +:100D0000C1F30311515CC8400649086006480068F9 +:100D1000FFF7CCFE0020C2E7002002400010024096 +:100D2000861B00080C000020040000200F22026037 +:100D30000C4A536803F003034360536803F0F00365 +:100D40008360536803F4E063C36052684FF4E06368 +:100D500003EAD20202610448006800F0070008605C +:100D6000704700000010024000200240044805497E +:100D700000684968044AC1F30221515CC8407047C9 +:100D80000C00002000100240961B00080448054992 +:100D900000684968044AC1F3C221515CC8407047E9 +:100DA0000C00002000100240961B00080E4A5168FB +:100DB0000E4801F00C03042B11D0082B0FD10C4866 +:100DC000C1F38343C903C05C0AD55168084AC1F323 +:100DD0004041921E515C054A5043B0FBF1F0704710 +:100DE00004494843704700000010024000127A0096 +:100DF000761B000800093D002DE9F84F040070D073 +:100E00002078C24DC00749D06868C0F3810001282E +:100E100007D06868C0F38100022809D16868C00360 +:100E200006D52868800339D560680028E7D035E00A +:100E30006068B0F5803F0BD010B1B0F5A02F11D095 +:100E4000286820F480302860286820F4802002E0A0 +:100E5000286840F480302860606890B1FFF74AFB52 +:100E600006460AE0286840F480202860F0E700BFCA +:100E7000FFF740FB801B642874D828688003F7D5EF +:100E80000CE0FFF737FB064605E000BFFFF732FB3B +:100E9000801B6428F0D828688003F7D420789C4E03 +:100EA00080074FF001094FF0000839D5686810F04D +:100EB0000C0F07D06868C0F38100022809D1686868 +:100EC000C00306D42868800714D52069012808D1FA +:100ED00010E02069B0B1C6F80090FFF70BFB0746A1 +:100EE00005E00EE1FFF706FBC01B0228C4D8286806 +:100EF0008007F7D52868616920F0F80040EAC10052 +:100F000028600DE0C6F80080FFF7F4FA074604E019 +:100F1000FFF7F0FAC01B0228AED828688007F7D484 +:100F2000207800072ED57B48A169E1B1C0F8009078 +:100F3000FFF7E0FA074604E0FFF7DCFAC01B0228DF +:100F400010D8686A8007F7D573484FF4FA510068E3 +:100F5000B0FBF1F0009000BF0098411E0091002806 +:100F6000F9D10FE082E0C0F80080FFF7C3FA07462E +:100F700005E000BFFFF7BEFAC01B022876D8686AFA +:100F80008007F7D42078400761D5E8690027C000C2 +:100F900008D4E86940F08050E861E869012700F072 +:100FA000805000905D480168C90513D401688346EC +:100FB00041F480710160FFF79DFA824606E000BFB0 +:100FC000FFF798FAA0EB0A0064284FD8DBF800007E +:100FD000C005F5D5E06801280AD008B1052813D06E +:100FE000286A20F001002862286A20F0040002E04C +:100FF000286A40F001002862E06841F2883B98B11D +:10100000FFF778FA82460BE0286A40F00400286275 +:10101000EEE700BFFFF76EFAA0EB0A0159455CD876 +:10102000286A8007F6D50CE0FFF764FA824605E0EF +:10103000FFF760FAA0EB0A0159454ED8286A8007ED +:10104000F6D4012F03D1E86920F08050E861E0690F +:1010500090B36968C1F38101022945D00228C6F81E +:10106000608004D0FFF746FA044639E035E0FFF728 +:1010700041FA074605E000BFFFF73CFAC01B022813 +:101080002BD828688001F7D4206AB0F5803F05D1BD +:101090006868A16820F4003008436860D4E908015A +:1010A0000843696821F4741108436860C6F86090C9 +:1010B000FFF720FA044606E025E000BFFFF71AFA22 +:1010C000001B022809D828688001F7D51BE000BF63 +:1010D000FFF710FA001B022802D90320BDE8F88FA1 +:1010E00028688001F4D40EE00128F7D06868226AED +:1010F00000F48031914204D1616A00F4701088429A +:1011000001D00120EAE70020E8E7000000100240DB +:1011100000004242800442420C0000200070004067 +:101120007047704710B5040003D094F83D0010B12B +:1011300007E0012010BD002084F83C00204600F0AC +:1011400015F8022084F83D00211D206800F012FCF3 +:1011500001203D3460726070A070E0702071607199 +:10116000A071E07120722070002010BD7047000057 +:1011700090F83D10012901D001207047022180F82C +:101180003D100168CA6842F00102CA6000680B495C +:10119000884208D0B0F1804F05D00949884202D07A +:1011A0000849884204D1816801F00701062903D06B +:1011B000016841F00101016000207047002C0140EE +:1011C000000400400008004070472DE9F04104464B +:1011D0000068C66805694FF00007A90713D5B10775 +:1011E00011D5F91E016101202077206880698007F0 +:1011F000204602D0FFF7E8FF04E000F07EF820462A +:1012000000F07CF82777680716D5700714D5216899 +:101210006FF004000861022020772068806910F4D4 +:10122000407F204602D0FFF7CFFF04E000F065F8D2 +:10123000204600F063F82777280715D5300713D527 +:1012400021686FF008000861042020772068C069D9 +:101250008007204602D0FFF7B7FF04E000F04DF80A +:10126000204600F04BF82777E80616D5F00614D58F +:1012700021686FF010000861082020772068C0699D +:1012800010F4407F204602D0FFF79EFF04E000F0FC +:1012900034F8204600F032F82777E80708D0F00746 +:1012A00006D021686FF001000861204600F028F8A0 +:1012B000280608D5300606D521686FF08000086141 +:1012C0002046FFF72DFF680608D5700606D5216871 +:1012D0006FF040000861204600F01CF8A8060AD50F +:1012E000B00608D521686FF0200008612046BDE8EF +:1012F000F041FFF716BFBDE8F0817047704700006E +:1013000000680349884201D1FFF7B6BB704700006F +:1013100000080040704770B5040004D094F8410004 +:10132000002510B106E0012070BD84F84050204631 +:1013300000F024F8242084F841002068C16821F4DA +:101340000051C160204600F051FB2068016921F482 +:10135000904101612068416921F02A0141612068C2 +:10136000C16841F40051C1606564202084F84100E7 +:1013700084F842006563002070BD000030B585B080 +:101380000024009401940294039400681449884254 +:1013900024D11448816941F480418161816901F45B +:1013A00080410491816941F00401816180690E4DA1 +:1013B00000F0040004904FF40070009002200190AF +:1013C0000320039069462846FEF7A2FF2815CDE9C1 +:1013D0000004694628460294FEF79AFF05B030BD26 +:1013E000003801400010024000080140FEE701689B +:1013F0004A69D24352050FD46FF480624A610021DA +:1014000040F8301F202242738173026942F00402C7 +:101410000261017301207047002070472DE9F84FE9 +:101420000446006889460B9D01689846174641F4BA +:10143000806101602068016841F48071016000955D +:101440004FF0011B0022594620460A9B00F0E4F8A9 +:101450004FF4007A40B120680068C00501D5C4F897 +:1014600040A00320BDE8F88F216809F0FE00086164 +:101470002B46284920460A9A00F016F9F0BB20684E +:101480004169806900902A4620460A9900F0A1F936 +:1014900040B1206C04283AD12068016841F4007101 +:1014A000016034E0FEB2B8F1010F09D02168380ABA +:1014B00008612A4620460A9900F08BF90028E8D1F5 +:1014C000206806612A4620460A9900F082F9002821 +:1014D000DFD12068016841F480710160009500222D +:1014E000594620460A9B00F097F80028B3D121689E +:1014F00009F0FF0040F00100086100E007E02B4622 +:10150000044920460A9A00F0CFF80028AAD001200A +:10151000A8E70000020001002DE9F8430446006836 +:101520000D46DDE9089701689846164641F480713A +:1015300001604B4600224FF001112046009700F059 +:101540006BF848B120680068C00502D54FF4007000 +:1015500020640320BDE8F883216805F0FE000861DF +:101560003B464A461549204600F09EF888B9206857 +:101570004169806900903A464946204600F029F9C1 +:1015800048B1206C042804D12068016841F400713E +:1015900001600120DEE7F5B2B8F1010F09D0216842 +:1015A000300A08613A464946204600F012F9002800 +:1015B000E7D1206805610020CCE7000002000100AF +:1015C00070B516460D4604461EE02046FFF70FFF95 +:1015D00008B1012070BD681C16D0FEF78BFF801B80 +:1015E000A84200D885B920684069C04340070BD5A0 +:1015F000002044F8300F20216173A073216941F06D +:10160000200121612073E4E720684069C04340075E +:10161000DBD4002070BD00002DE9F0479846174646 +:101620000D460446C1F30746DDF820902AE000BFCE +:1016300018F1010026D0FEF75DFFA0EB090141453E +:1016400002D8B8F1000F1DD12068012E16D0806994 +:1016500025EA00000004000C12D00020B84211D18D +:10166000002044F8300F20216173A073216941F0FC +:101670002001216120730120BDE8F0874069E7E780 +:101680000120EBE72068012E0AD0806925EA0000DE +:101690000004000C06D00020B842C9D00020EBE7BF +:1016A0004069F3E70120F7E72DE9F0479846164631 +:1016B0000D4604464FF000094FF0200AC1F30747DA +:1016C00023E020684069C043400515D420680168C4 +:1016D00041F40071016021686FF480604861C4F8D2 +:1016E000309084F83DA084F83E90216C41F00401D4 +:1016F000216484F83C9021E0701C06D0FEF7FAFECD +:10170000A0EB0800B04203D816B1012F1FD021E092 +:101710002068012F15D0806925EA00000004000C24 +:1017200018D000BF44F8309F84F80DA084F80E90C4 +:10173000216941F02001216184F80C900120BDE86D +:10174000F087406925EA00000004000CEAD1206817 +:10175000406901E02068806925EA00000004000C6F +:10176000AFD1ECE72DE9F041002590460E46044646 +:10177000202727E04069C043C0060BD454F8201B43 +:101780006FF01000486125616777A577206A2062B5 +:10179000257714E0FEF7AEFEA0EB0800B04200D8BB +:1017A00086B920684069C04340060BD544F8305FD5 +:1017B0006773A573206940F0200020612573012024 +:1017C000BDE8F08120684169C9434906D2D40020B0 +:1017D000F6E770B516460D4604461EE02046FFF7B4 +:1017E00006FE08B1012070BD681C16D0FEF782FE0F +:1017F000801BA84200D885B920684069C043000614 +:101800000BD5002044F8300F20216173A0732169AB +:1018100041F0200121612073E4E720684069C04362 +:101820000006DBD4002070BD30B585B0002414481C +:101830000094019402940394816941F00401816150 +:10184000816901F004010491816941F0080181611D +:1018500080690C4D00F008000490002220212846E9 +:10186000FEF742FE202000900120CDE90104032074 +:10187000039069462846FEF74BFD05B030BD0000D9 +:1018800000100240000C01400D4810B50B490160EA +:101890000C49416000214FF480428160C0E903128D +:1018A00041618161C1610162FEF72AFE002803D017 +:1018B000BDE81040FEF718BD10BD00000054004008 +:1018C0001C040020801A06000C4810B50A4901606B +:1018D0004FF4E1314160002181600C22C160C0E918 +:1018E00004128161C161FFF716FD002803D0BDE835 +:1018F0001040FEF7F9BC10BD003801407004002014 +:10190000FEE7FEE770477047704730B58FB028217B +:101910006846FEF70EFC14210AA8FEF70AFC022511 +:101920000120049000951020059000244FF46010D1 +:10193000CDE9084007956846FFF75EFA08B172B630 +:10194000FEE70F20CDE90A054FF48060CDE90C4099 +:1019500002210AA80E94FFF753F9002801D072B6AD +:10196000FEE70FB030BD70470148FFF72EBC000006 +:10197000B8040020F0B50268194B1A4C1A4D4FF00C +:101980008047984205D0B84203D0A04201D0A84277 +:1019900003D122F070064A683243984205D0B8421B +:1019A00003D0A04201D0A84203D122F44074CA68F7 +:1019B00022434C6922F08002224302608A68C2629C +:1019C0000A688262984201D109690163012141617B +:1019D0000169C90703D0016921F001010161F0BD6E +:1019E000002C0140000400400008004010B50446EF +:1019F00000680169E26821F44051114301612169E5 +:101A0000A0680843616908432168CA6841F20C6311 +:101A10009A430243CA6020684169A26921F4407177 +:101A20001143416113492068884202D1FFF7AEF9A2 +:101A300001E0FFF79BF900EBC00101EB00106168CA +:101A400064228900B0FBF1F1B1FBF2F06FF01803F2 +:101A5000434301EB8303322101EB0311B1FBF2F1AC +:101A600001F0F00202EB001001F00F0108442168C0 +:101A7000886010BD00380140FEE700000907090E2C +:101A8000002801DB034A02E0034A00F00F00815402 +:101A90007047000000E400E014ED00E002E008C838 +:101AA000121F08C1002AFAD170477047002001E0D8 +:101AB00001C1121F002AFBD170470000FEF7E4FFAE +:101AC000FFF723FFFFF7B0FEFFF7DEFEFFF7FCFE98 +:101AD0000A4900200854401CFF28FBDD0848FEF797 +:101AE00045FB4FF48074224604493C20FEF772FB0C +:101AF000224604493C20FEF751FBFEE71C00002073 +:101B00001C0400201C020020F0B50B30154D20F005 +:101B100007010024144A0FE003688B420BD38B4269 +:101B200005D95E1A43184768C3E9006700E04368B7 +:101B3000136002C004E0021D10680028ECD12046AA +:101B4000002802D1286808B10020F0BD064A0748E5 +:101B50001060074A121A22F00702C0E9002401208F +:101B60002860D7E71800002014000020040500209A +:101B700000070020010202030405060708090A0BFA +:101B80000C0D0E0F101000000000000000000102FC +:101B90000304060708090000000001020304000016 +:101BA000C01B0008000000201C0000009C1A000858 +:101BB000DC1B00081C000020E40A0000AC1A00082E +:101BC00001000000100000000000000000127A0078 +:0C1BD00000000000000000000000000009 :04000005080000ED02 :00000001FF diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.htm b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.htm index d1405ab..f7fe48c 100644 --- a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.htm +++ b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.htm @@ -3,11 +3,11 @@ Static Call Graph - [STM32-AT24C256\STM32-AT24C256.axf]

Static Call Graph for image STM32-AT24C256\STM32-AT24C256.axf


-

#<CALLGRAPH># ARM Linker, 5.03 [Build 24]: Last Updated: Thu Nov 07 21:58:21 2024 +

#<CALLGRAPH># ARM Linker, 5.03 [Build 24]: Last Updated: Sat Nov 09 20:35:43 2024

-

Maximum Stack Usage = 172 bytes + Unknown(Cycles, Untraceable Function Pointers)

+

Maximum Stack Usage = 176 bytes + Unknown(Cycles, Untraceable Function Pointers)

Call chain for Maximum Stack Depth:

-main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig +main ⇒ AT24C_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout

Mutually Recursive functions @@ -86,7 +86,7 @@ Global Symbols

__main (Thumb, 0 bytes, Stack size unknown bytes, entry.o(.ARM.Collect$$$$00000000))
[Address Reference Count : 1]

  • startup_stm32f103xb.o(.text)
-

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001)) +

_main_stk (Thumb, 0 bytes, Stack size unknown bytes, entry2.o(.ARM.Collect$$$$00000001))

_main_scatterload (Thumb, 0 bytes, Stack size unknown bytes, entry5.o(.ARM.Collect$$$$00000004))

[Calls]

  • >>   __scatterload @@ -96,15 +96,15 @@ Global Symbols

    [Called By]
    • >>   __scatterload
    -

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) +

    _main_clock (Thumb, 0 bytes, Stack size unknown bytes, entry7b.o(.ARM.Collect$$$$00000008)) -

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) +

    _main_cpp_init (Thumb, 0 bytes, Stack size unknown bytes, entry8b.o(.ARM.Collect$$$$0000000A)) -

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) +

    _main_init (Thumb, 0 bytes, Stack size unknown bytes, entry9a.o(.ARM.Collect$$$$0000000B)) -

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) +

    __rt_final_cpp (Thumb, 0 bytes, Stack size unknown bytes, entry10a.o(.ARM.Collect$$$$0000000D)) -

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F)) +

    __rt_final_exit (Thumb, 0 bytes, Stack size unknown bytes, entry11a.o(.ARM.Collect$$$$0000000F))

    Reset_Handler (Thumb, 8 bytes, Stack size 0 bytes, startup_stm32f103xb.o(.text))
    [Address Reference Count : 1]

    • startup_stm32f103xb.o(RESET) @@ -244,19 +244,19 @@ Global Symbols
    • >>   __aeabi_memclr
    -

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

    __aeabi_memset4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) -

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

    __aeabi_memset8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    __aeabi_memclr (Thumb, 4 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

    [Calls]

    • >>   __aeabi_memset
    -

    __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text)) -

    [Called By]

    • >>   SystemClock_Config +

      __aeabi_memclr4 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text)) +

      [Called By]

      • >>   SystemClock_Config
      -

      __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED) +

      __aeabi_memclr8 (Thumb, 0 bytes, Stack size 0 bytes, memseta.o(.text), UNUSED)

      _memset$wrapper (Thumb, 18 bytes, Stack size 8 bytes, memseta.o(.text), UNUSED)

      [Calls]

      • >>   __aeabi_memset @@ -268,7 +268,32 @@ Global Symbols
        [Called By]
        • >>   _main_scatterload
        -

        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) +

        __scatterload_rt2 (Thumb, 0 bytes, Stack size 0 bytes, init.o(.text), UNUSED) + +

        AT24C_Init (Thumb, 42 bytes, Stack size 8 bytes, drv_at24cxx.o(i.AT24C_Init)) +

        [Stack]

        • Max Depth = 28
        • Call Chain = AT24C_Init ⇒ malloc +
        +
        [Calls]
        • >>   malloc +
        +
        [Called By]
        • >>   main +
        + +

        AT24C_Read (Thumb, 52 bytes, Stack size 24 bytes, drv_at24cxx.o(i.AT24C_Read)) +

        [Stack]

        • Max Depth = 160
        • Call Chain = AT24C_Read ⇒ HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
        +
        [Calls]
        • >>   HAL_I2C_Mem_Read +
        +
        [Called By]
        • >>   main +
        + +

        AT24C_Write (Thumb, 262 bytes, Stack size 48 bytes, drv_at24cxx.o(i.AT24C_Write)) +

        [Stack]

        • Max Depth = 176
        • Call Chain = AT24C_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
        +
        [Calls]
        • >>   HAL_Delay +
        • >>   HAL_I2C_Mem_Write +
        +
        [Called By]
        • >>   main +

        BusFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.BusFault_Handler))

        [Calls]

        • >>   BusFault_Handler @@ -280,207 +305,246 @@ Global Symbols

          DebugMon_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.DebugMon_Handler))
          [Address Reference Count : 1]

          • startup_stm32f103xb.o(RESET)
          -

          Error_Handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.Error_Handler)) -

          [Called By]

          • >>   MX_USART1_UART_Init -
          • >>   MX_I2C1_Init +

            Error_Handler (Thumb, 4 bytes, Stack size 0 bytes, main.o(i.Error_Handler)) +

            [Called By]

            • >>   MX_USART1_UART_Init +
            • >>   MX_I2C1_Init
            -

            HAL_GPIO_Init (Thumb, 440 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init)) +

            HAL_Delay (Thumb, 32 bytes, Stack size 16 bytes, stm32f1xx_hal.o(i.HAL_Delay)) +

            [Stack]

            • Max Depth = 16
            • Call Chain = HAL_Delay +
            +
            [Calls]
            • >>   HAL_GetTick +
            +
            [Called By]
            • >>   AT24C_Write +
            + +

            HAL_GPIO_Init (Thumb, 440 bytes, Stack size 40 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init))

            [Stack]

            • Max Depth = 40
            • Call Chain = HAL_GPIO_Init
            -
            [Called By]
            • >>   HAL_UART_MspInit -
            • >>   HAL_I2C_MspInit -
            • >>   MX_GPIO_Init +
              [Called By]
              • >>   HAL_UART_MspInit +
              • >>   HAL_I2C_MspInit +
              • >>   MX_GPIO_Init
              -

              HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)) -

              [Called By]

              • >>   MX_GPIO_Init +

                HAL_GPIO_WritePin (Thumb, 10 bytes, Stack size 0 bytes, stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin)) +

                [Called By]

                • >>   MX_GPIO_Init
                -

                HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick)) -

                [Called By]

                • >>   HAL_RCC_OscConfig -
                • >>   HAL_RCC_ClockConfig +

                  HAL_GetTick (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_GetTick)) +

                  [Called By]

                  • >>   I2C_WaitOnTXEFlagUntilTimeout +
                  • >>   I2C_WaitOnRXNEFlagUntilTimeout +
                  • >>   I2C_WaitOnMasterAddressFlagUntilTimeout +
                  • >>   I2C_WaitOnFlagUntilTimeout +
                  • >>   I2C_WaitOnBTFFlagUntilTimeout +
                  • >>   HAL_RCC_OscConfig +
                  • >>   HAL_RCC_ClockConfig +
                  • >>   HAL_Delay +
                  • >>   HAL_I2C_Mem_Write +
                  • >>   HAL_I2C_Mem_Read
                  -

                  HAL_I2C_Init (Thumb, 364 bytes, Stack size 16 bytes, stm32f1xx_hal_i2c.o(i.HAL_I2C_Init)) +

                  HAL_I2C_Init (Thumb, 364 bytes, Stack size 16 bytes, stm32f1xx_hal_i2c.o(i.HAL_I2C_Init))

                  [Stack]

                  • Max Depth = 88
                  • Call Chain = HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init
                  -
                  [Calls]
                  • >>   HAL_RCC_GetPCLK1Freq -
                  • >>   HAL_I2C_MspInit +
                    [Calls]
                    • >>   HAL_RCC_GetPCLK1Freq +
                    • >>   HAL_I2C_MspInit
                    -
                    [Called By]
                    • >>   MX_I2C1_Init +
                      [Called By]
                      • >>   MX_I2C1_Init
                      -

                      HAL_I2C_MspInit (Thumb, 80 bytes, Stack size 32 bytes, i2c.o(i.HAL_I2C_MspInit)) +

                      HAL_I2C_Mem_Read (Thumb, 600 bytes, Stack size 64 bytes, stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read)) +

                      [Stack]

                      • Max Depth = 136
                      • Call Chain = HAL_I2C_Mem_Read ⇒ I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
                      +
                      [Calls]
                      • >>   I2C_WaitOnRXNEFlagUntilTimeout +
                      • >>   I2C_WaitOnFlagUntilTimeout +
                      • >>   I2C_RequestMemoryRead +
                      • >>   HAL_GetTick +
                      +
                      [Called By]
                      • >>   AT24C_Read +
                      + +

                      HAL_I2C_Mem_Write (Thumb, 302 bytes, Stack size 64 bytes, stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write)) +

                      [Stack]

                      • Max Depth = 128
                      • Call Chain = HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
                      +
                      [Calls]
                      • >>   I2C_WaitOnTXEFlagUntilTimeout +
                      • >>   I2C_WaitOnFlagUntilTimeout +
                      • >>   I2C_WaitOnBTFFlagUntilTimeout +
                      • >>   I2C_RequestMemoryWrite +
                      • >>   HAL_GetTick +
                      +
                      [Called By]
                      • >>   AT24C_Write +
                      + +

                      HAL_I2C_MspInit (Thumb, 80 bytes, Stack size 32 bytes, i2c.o(i.HAL_I2C_MspInit))

                      [Stack]

                      • Max Depth = 72
                      • Call Chain = HAL_I2C_MspInit ⇒ HAL_GPIO_Init
                      -
                      [Calls]
                      • >>   HAL_GPIO_Init +
                        [Calls]
                        • >>   HAL_GPIO_Init
                        -
                        [Called By]
                        • >>   HAL_I2C_Init +
                          [Called By]
                          • >>   HAL_I2C_Init
                          -

                          HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick)) -

                          [Called By]

                          • >>   HAL_TIM_PeriodElapsedCallback +

                            HAL_IncTick (Thumb, 12 bytes, Stack size 0 bytes, stm32f1xx_hal.o(i.HAL_IncTick)) +

                            [Called By]

                            • >>   HAL_TIM_PeriodElapsedCallback
                            -

                            HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init)) +

                            HAL_Init (Thumb, 32 bytes, Stack size 8 bytes, stm32f1xx_hal.o(i.HAL_Init))

                            [Stack]

                            • Max Depth = 76
                            • Call Chain = HAL_Init ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig
                            -
                            [Calls]
                            • >>   HAL_InitTick -
                            • >>   HAL_MspInit -
                            • >>   HAL_NVIC_SetPriorityGrouping +
                              [Calls]
                              • >>   HAL_InitTick +
                              • >>   HAL_MspInit +
                              • >>   HAL_NVIC_SetPriorityGrouping

                              [Called By]
                              • >>   main
                              -

                              HAL_InitTick (Thumb, 132 bytes, Stack size 40 bytes, stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick)) +

                              HAL_InitTick (Thumb, 132 bytes, Stack size 40 bytes, stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick))

                              [Stack]

                              • Max Depth = 68
                              • Call Chain = HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig
                              -
                              [Calls]
                              • >>   HAL_TIM_Base_Start_IT -
                              • >>   HAL_TIM_Base_Init -
                              • >>   HAL_RCC_GetPCLK1Freq -
                              • >>   HAL_RCC_GetClockConfig -
                              • >>   HAL_NVIC_SetPriority -
                              • >>   HAL_NVIC_EnableIRQ +
                                [Calls]
                                • >>   HAL_TIM_Base_Start_IT +
                                • >>   HAL_TIM_Base_Init +
                                • >>   HAL_RCC_GetPCLK1Freq +
                                • >>   HAL_RCC_GetClockConfig +
                                • >>   HAL_NVIC_SetPriority +
                                • >>   HAL_NVIC_EnableIRQ
                                -
                                [Called By]
                                • >>   HAL_RCC_ClockConfig -
                                • >>   HAL_Init +
                                  [Called By]
                                  • >>   HAL_RCC_ClockConfig +
                                  • >>   HAL_Init
                                  -

                                  HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit)) +

                                  HAL_MspInit (Thumb, 52 bytes, Stack size 8 bytes, stm32f1xx_hal_msp.o(i.HAL_MspInit))

                                  [Stack]

                                  • Max Depth = 8
                                  • Call Chain = HAL_MspInit
                                  -
                                  [Called By]
                                  • >>   HAL_Init +
                                    [Called By]
                                    • >>   HAL_Init
                                    -

                                    HAL_NVIC_EnableIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)) -

                                    [Called By]

                                    • >>   HAL_InitTick +

                                      HAL_NVIC_EnableIRQ (Thumb, 28 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ)) +

                                      [Called By]

                                      • >>   HAL_InitTick
                                      -

                                      HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority)) +

                                      HAL_NVIC_SetPriority (Thumb, 60 bytes, Stack size 16 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority))

                                      [Stack]

                                      • Max Depth = 16
                                      • Call Chain = HAL_NVIC_SetPriority
                                      -
                                      [Calls]
                                      • >>   __NVIC_SetPriority +
                                        [Calls]
                                        • >>   __NVIC_SetPriority
                                        -
                                        [Called By]
                                        • >>   HAL_InitTick +
                                          [Called By]
                                          • >>   HAL_InitTick
                                          -

                                          HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)) -

                                          [Called By]

                                          • >>   HAL_Init +

                                            HAL_NVIC_SetPriorityGrouping (Thumb, 26 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping)) +

                                            [Called By]

                                            • >>   HAL_Init
                                            -

                                            HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig)) +

                                            HAL_RCC_ClockConfig (Thumb, 280 bytes, Stack size 32 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig))

                                            [Stack]

                                            • Max Depth = 100
                                            • Call Chain = HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig
                                            -
                                            [Calls]
                                            • >>   HAL_InitTick -
                                            • >>   HAL_RCC_GetSysClockFreq -
                                            • >>   HAL_GetTick +
                                              [Calls]
                                              • >>   HAL_InitTick +
                                              • >>   HAL_RCC_GetSysClockFreq +
                                              • >>   HAL_GetTick
                                              -
                                              [Called By]
                                              • >>   SystemClock_Config +
                                                [Called By]
                                                • >>   SystemClock_Config
                                                -

                                                HAL_RCC_GetClockConfig (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig)) -

                                                [Called By]

                                                • >>   HAL_InitTick +

                                                  HAL_RCC_GetClockConfig (Thumb, 54 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig)) +

                                                  [Called By]

                                                  • >>   HAL_InitTick
                                                  -

                                                  HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) -

                                                  [Called By]

                                                  • >>   HAL_InitTick -
                                                  • >>   HAL_I2C_Init -
                                                  • >>   UART_SetConfig +

                                                    HAL_RCC_GetPCLK1Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq)) +

                                                    [Called By]

                                                    • >>   HAL_InitTick +
                                                    • >>   HAL_I2C_Init +
                                                    • >>   UART_SetConfig
                                                    -

                                                    HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) -

                                                    [Called By]

                                                    • >>   UART_SetConfig +

                                                      HAL_RCC_GetPCLK2Freq (Thumb, 20 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq)) +

                                                      [Called By]

                                                      • >>   UART_SetConfig
                                                      -

                                                      HAL_RCC_GetSysClockFreq (Thumb, 58 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) -

                                                      [Called By]

                                                      • >>   HAL_RCC_ClockConfig +

                                                        HAL_RCC_GetSysClockFreq (Thumb, 58 bytes, Stack size 0 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq)) +

                                                        [Called By]

                                                        • >>   HAL_RCC_ClockConfig
                                                        -

                                                        HAL_RCC_OscConfig (Thumb, 786 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig)) +

                                                        HAL_RCC_OscConfig (Thumb, 786 bytes, Stack size 40 bytes, stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig))

                                                        [Stack]

                                                        • Max Depth = 40
                                                        • Call Chain = HAL_RCC_OscConfig
                                                        -
                                                        [Calls]
                                                        • >>   HAL_GetTick +
                                                          [Calls]
                                                          • >>   HAL_GetTick
                                                          -
                                                          [Called By]
                                                          • >>   SystemClock_Config +
                                                            [Called By]
                                                            • >>   SystemClock_Config
                                                            -

                                                            HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback)) -

                                                            [Called By]

                                                            • >>   HAL_TIM_IRQHandler +

                                                              HAL_TIMEx_BreakCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback)) +

                                                              [Called By]

                                                              • >>   HAL_TIM_IRQHandler
                                                              -

                                                              HAL_TIMEx_CommutCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback)) -

                                                              [Called By]

                                                              • >>   HAL_TIM_IRQHandler +

                                                                HAL_TIMEx_CommutCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback)) +

                                                                [Called By]

                                                                • >>   HAL_TIM_IRQHandler
                                                                -

                                                                HAL_TIM_Base_Init (Thumb, 72 bytes, Stack size 8 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init)) +

                                                                HAL_TIM_Base_Init (Thumb, 72 bytes, Stack size 8 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init))

                                                                [Stack]

                                                                • Max Depth = 28
                                                                • Call Chain = HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig
                                                                -
                                                                [Calls]
                                                                • >>   HAL_TIM_Base_MspInit -
                                                                • >>   TIM_Base_SetConfig +
                                                                  [Calls]
                                                                  • >>   HAL_TIM_Base_MspInit +
                                                                  • >>   TIM_Base_SetConfig
                                                                  -
                                                                  [Called By]
                                                                  • >>   HAL_InitTick +
                                                                    [Called By]
                                                                    • >>   HAL_InitTick
                                                                    -

                                                                    HAL_TIM_Base_MspInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit)) -

                                                                    [Called By]

                                                                    • >>   HAL_TIM_Base_Init +

                                                                      HAL_TIM_Base_MspInit (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit)) +

                                                                      [Called By]

                                                                      • >>   HAL_TIM_Base_Init
                                                                      -

                                                                      HAL_TIM_Base_Start_IT (Thumb, 76 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)) -

                                                                      [Called By]

                                                                      • >>   HAL_InitTick +

                                                                        HAL_TIM_Base_Start_IT (Thumb, 76 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT)) +

                                                                        [Called By]

                                                                        • >>   HAL_InitTick
                                                                        -

                                                                        HAL_TIM_IC_CaptureCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback)) -

                                                                        [Called By]

                                                                        • >>   HAL_TIM_IRQHandler +

                                                                          HAL_TIM_IC_CaptureCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback)) +

                                                                          [Called By]

                                                                          • >>   HAL_TIM_IRQHandler
                                                                          -

                                                                          HAL_TIM_IRQHandler (Thumb, 304 bytes, Stack size 24 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler)) +

                                                                          HAL_TIM_IRQHandler (Thumb, 304 bytes, Stack size 24 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler))

                                                                          [Stack]

                                                                          • Max Depth = 24
                                                                          • Call Chain = HAL_TIM_IRQHandler
                                                                          -
                                                                          [Calls]
                                                                          • >>   HAL_TIM_PeriodElapsedCallback -
                                                                          • >>   HAL_TIM_TriggerCallback -
                                                                          • >>   HAL_TIM_PWM_PulseFinishedCallback -
                                                                          • >>   HAL_TIM_OC_DelayElapsedCallback -
                                                                          • >>   HAL_TIM_IC_CaptureCallback -
                                                                          • >>   HAL_TIMEx_CommutCallback -
                                                                          • >>   HAL_TIMEx_BreakCallback +
                                                                            [Calls]
                                                                            • >>   HAL_TIM_PeriodElapsedCallback +
                                                                            • >>   HAL_TIM_TriggerCallback +
                                                                            • >>   HAL_TIM_PWM_PulseFinishedCallback +
                                                                            • >>   HAL_TIM_OC_DelayElapsedCallback +
                                                                            • >>   HAL_TIM_IC_CaptureCallback +
                                                                            • >>   HAL_TIMEx_CommutCallback +
                                                                            • >>   HAL_TIMEx_BreakCallback

                                                                            [Called By]
                                                                            • >>   TIM4_IRQHandler
                                                                            -

                                                                            HAL_TIM_OC_DelayElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback)) -

                                                                            [Called By]

                                                                            • >>   HAL_TIM_IRQHandler +

                                                                              HAL_TIM_OC_DelayElapsedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback)) +

                                                                              [Called By]

                                                                              • >>   HAL_TIM_IRQHandler
                                                                              -

                                                                              HAL_TIM_PWM_PulseFinishedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback)) -

                                                                              [Called By]

                                                                              • >>   HAL_TIM_IRQHandler +

                                                                                HAL_TIM_PWM_PulseFinishedCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback)) +

                                                                                [Called By]

                                                                                • >>   HAL_TIM_IRQHandler
                                                                                -

                                                                                HAL_TIM_PeriodElapsedCallback (Thumb, 14 bytes, Stack size 0 bytes, main.o(i.HAL_TIM_PeriodElapsedCallback)) -

                                                                                [Calls]

                                                                                • >>   HAL_IncTick +

                                                                                  HAL_TIM_PeriodElapsedCallback (Thumb, 14 bytes, Stack size 0 bytes, main.o(i.HAL_TIM_PeriodElapsedCallback)) +

                                                                                  [Calls]

                                                                                  • >>   HAL_IncTick
                                                                                  -
                                                                                  [Called By]
                                                                                  • >>   HAL_TIM_IRQHandler +
                                                                                    [Called By]
                                                                                    • >>   HAL_TIM_IRQHandler
                                                                                    -

                                                                                    HAL_TIM_TriggerCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback)) -

                                                                                    [Called By]

                                                                                    • >>   HAL_TIM_IRQHandler +

                                                                                      HAL_TIM_TriggerCallback (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback)) +

                                                                                      [Called By]

                                                                                      • >>   HAL_TIM_IRQHandler
                                                                                      -

                                                                                      HAL_UART_Init (Thumb, 100 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init)) +

                                                                                      HAL_UART_Init (Thumb, 100 bytes, Stack size 16 bytes, stm32f1xx_hal_uart.o(i.HAL_UART_Init))

                                                                                      [Stack]

                                                                                      • Max Depth = 88
                                                                                      • Call Chain = HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                      -
                                                                                      [Calls]
                                                                                      • >>   HAL_UART_MspInit -
                                                                                      • >>   UART_SetConfig +
                                                                                        [Calls]
                                                                                        • >>   HAL_UART_MspInit +
                                                                                        • >>   UART_SetConfig
                                                                                        -
                                                                                        [Called By]
                                                                                        • >>   MX_USART1_UART_Init +
                                                                                          [Called By]
                                                                                          • >>   MX_USART1_UART_Init
                                                                                          -

                                                                                          HAL_UART_MspInit (Thumb, 100 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit)) +

                                                                                          HAL_UART_MspInit (Thumb, 100 bytes, Stack size 32 bytes, usart.o(i.HAL_UART_MspInit))

                                                                                          [Stack]

                                                                                          • Max Depth = 72
                                                                                          • Call Chain = HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                          -
                                                                                          [Calls]
                                                                                          • >>   HAL_GPIO_Init +
                                                                                            [Calls]
                                                                                            • >>   HAL_GPIO_Init
                                                                                            -
                                                                                            [Called By]
                                                                                            • >>   HAL_UART_Init +
                                                                                              [Called By]
                                                                                              • >>   HAL_UART_Init

                                                                                              HardFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.HardFault_Handler)) @@ -490,29 +554,29 @@ Global Symbols


                                                                                            [Address Reference Count : 1]
                                                                                            • startup_stm32f103xb.o(RESET)
                                                                                            -

                                                                                            MX_GPIO_Init (Thumb, 86 bytes, Stack size 32 bytes, gpio.o(i.MX_GPIO_Init)) +

                                                                                            MX_GPIO_Init (Thumb, 86 bytes, Stack size 32 bytes, gpio.o(i.MX_GPIO_Init))

                                                                                            [Stack]

                                                                                            • Max Depth = 72
                                                                                            • Call Chain = MX_GPIO_Init ⇒ HAL_GPIO_Init
                                                                                            -
                                                                                            [Calls]
                                                                                            • >>   HAL_GPIO_WritePin -
                                                                                            • >>   HAL_GPIO_Init +
                                                                                              [Calls]
                                                                                              • >>   HAL_GPIO_WritePin +
                                                                                              • >>   HAL_GPIO_Init

                                                                                              [Called By]
                                                                                              • >>   main
                                                                                              -

                                                                                              MX_I2C1_Init (Thumb, 50 bytes, Stack size 8 bytes, i2c.o(i.MX_I2C1_Init)) +

                                                                                              MX_I2C1_Init (Thumb, 50 bytes, Stack size 8 bytes, i2c.o(i.MX_I2C1_Init))

                                                                                              [Stack]

                                                                                              • Max Depth = 96
                                                                                              • Call Chain = MX_I2C1_Init ⇒ HAL_I2C_Init ⇒ HAL_I2C_MspInit ⇒ HAL_GPIO_Init
                                                                                              -
                                                                                              [Calls]
                                                                                              • >>   HAL_I2C_Init -
                                                                                              • >>   Error_Handler +
                                                                                                [Calls]
                                                                                                • >>   HAL_I2C_Init +
                                                                                                • >>   Error_Handler

                                                                                                [Called By]
                                                                                                • >>   main
                                                                                                -

                                                                                                MX_USART1_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init)) +

                                                                                                MX_USART1_UART_Init (Thumb, 48 bytes, Stack size 8 bytes, usart.o(i.MX_USART1_UART_Init))

                                                                                                [Stack]

                                                                                                • Max Depth = 96
                                                                                                • Call Chain = MX_USART1_UART_Init ⇒ HAL_UART_Init ⇒ HAL_UART_MspInit ⇒ HAL_GPIO_Init
                                                                                                -
                                                                                                [Calls]
                                                                                                • >>   HAL_UART_Init -
                                                                                                • >>   Error_Handler +
                                                                                                  [Calls]
                                                                                                  • >>   HAL_UART_Init +
                                                                                                  • >>   Error_Handler

                                                                                                  [Called By]
                                                                                                  • >>   main
                                                                                                  @@ -540,12 +604,12 @@ Global Symbols

                                                                                                  SysTick_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.SysTick_Handler))
                                                                                                  [Address Reference Count : 1]

                                                                                                  • startup_stm32f103xb.o(RESET)
                                                                                                  -

                                                                                                  SystemClock_Config (Thumb, 92 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config)) +

                                                                                                  SystemClock_Config (Thumb, 92 bytes, Stack size 72 bytes, main.o(i.SystemClock_Config))

                                                                                                  [Stack]

                                                                                                  • Max Depth = 172
                                                                                                  • Call Chain = SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig
                                                                                                  -
                                                                                                  [Calls]
                                                                                                  • >>   HAL_RCC_OscConfig -
                                                                                                  • >>   HAL_RCC_ClockConfig -
                                                                                                  • >>   __aeabi_memclr4 +
                                                                                                    [Calls]
                                                                                                    • >>   HAL_RCC_OscConfig +
                                                                                                    • >>   HAL_RCC_ClockConfig +
                                                                                                    • >>   __aeabi_memclr4

                                                                                                    [Called By]
                                                                                                    • >>   main
                                                                                                    @@ -556,14 +620,14 @@ Global Symbols

                                                                                                    TIM4_IRQHandler (Thumb, 6 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.TIM4_IRQHandler))

                                                                                                    [Stack]

                                                                                                    • Max Depth = 24
                                                                                                    • Call Chain = TIM4_IRQHandler ⇒ HAL_TIM_IRQHandler
                                                                                                    -
                                                                                                    [Calls]
                                                                                                    • >>   HAL_TIM_IRQHandler +
                                                                                                      [Calls]
                                                                                                      • >>   HAL_TIM_IRQHandler

                                                                                                      [Address Reference Count : 1]
                                                                                                      • startup_stm32f103xb.o(RESET)
                                                                                                      -

                                                                                                      TIM_Base_SetConfig (Thumb, 108 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig)) +

                                                                                                      TIM_Base_SetConfig (Thumb, 108 bytes, Stack size 20 bytes, stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig))

                                                                                                      [Stack]

                                                                                                      • Max Depth = 20
                                                                                                      • Call Chain = TIM_Base_SetConfig
                                                                                                      -
                                                                                                      [Called By]
                                                                                                      • >>   HAL_TIM_Base_Init +
                                                                                                        [Called By]
                                                                                                        • >>   HAL_TIM_Base_Init

                                                                                                        UsageFault_Handler (Thumb, 2 bytes, Stack size 0 bytes, stm32f1xx_it.o(i.UsageFault_Handler)) @@ -573,37 +637,119 @@ Global Symbols


                                                                                                      [Address Reference Count : 1]
                                                                                                      • startup_stm32f103xb.o(RESET)
                                                                                                      -

                                                                                                      __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) +

                                                                                                      __scatterload_copy (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_copy), UNUSED) -

                                                                                                      __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) +

                                                                                                      __scatterload_null (Thumb, 2 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_null), UNUSED) -

                                                                                                      __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) +

                                                                                                      __scatterload_zeroinit (Thumb, 14 bytes, Stack size unknown bytes, handlers.o(i.__scatterload_zeroinit), UNUSED) -

                                                                                                      main (Thumb, 34 bytes, Stack size 0 bytes, main.o(i.main)) -

                                                                                                      [Stack]

                                                                                                      • Max Depth = 172
                                                                                                      • Call Chain = main ⇒ SystemClock_Config ⇒ HAL_RCC_ClockConfig ⇒ HAL_InitTick ⇒ HAL_TIM_Base_Init ⇒ TIM_Base_SetConfig +

                                                                                                        main (Thumb, 64 bytes, Stack size 0 bytes, main.o(i.main)) +

                                                                                                        [Stack]

                                                                                                        • Max Depth = 176
                                                                                                        • Call Chain = main ⇒ AT24C_Write ⇒ HAL_I2C_Mem_Write ⇒ I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout
                                                                                                        -
                                                                                                        [Calls]
                                                                                                        • >>   MX_USART1_UART_Init -
                                                                                                        • >>   MX_I2C1_Init -
                                                                                                        • >>   MX_GPIO_Init -
                                                                                                        • >>   HAL_Init -
                                                                                                        • >>   SystemClock_Config +
                                                                                                          [Calls]
                                                                                                          • >>   MX_USART1_UART_Init +
                                                                                                          • >>   MX_I2C1_Init +
                                                                                                          • >>   MX_GPIO_Init +
                                                                                                          • >>   HAL_Init +
                                                                                                          • >>   AT24C_Write +
                                                                                                          • >>   AT24C_Read +
                                                                                                          • >>   AT24C_Init +
                                                                                                          • >>   SystemClock_Config

                                                                                                          [Address Reference Count : 1]
                                                                                                          • entry9a.o(.ARM.Collect$$$$0000000B) -

                                                                                                          +

                                                                                                        +

                                                                                                        malloc (Thumb, 92 bytes, Stack size 20 bytes, malloc.o(i.malloc)) +

                                                                                                        [Stack]

                                                                                                        • Max Depth = 20
                                                                                                        • Call Chain = malloc +
                                                                                                        +
                                                                                                        [Called By]
                                                                                                        • >>   AT24C_Init +
                                                                                                        +

                                                                                                        Local Symbols

                                                                                                        -

                                                                                                        __NVIC_SetPriority (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)) -

                                                                                                        [Called By]

                                                                                                        • >>   HAL_NVIC_SetPriority +

                                                                                                          I2C_IsAcknowledgeFailed (Thumb, 46 bytes, Stack size 0 bytes, stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed)) +

                                                                                                          [Called By]

                                                                                                          • >>   I2C_WaitOnTXEFlagUntilTimeout +
                                                                                                          • >>   I2C_WaitOnBTFFlagUntilTimeout
                                                                                                          -

                                                                                                          UART_SetConfig (Thumb, 136 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig)) +

                                                                                                          I2C_RequestMemoryRead (Thumb, 246 bytes, Stack size 40 bytes, stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryRead)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 72
                                                                                                          • Call Chain = I2C_RequestMemoryRead ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   I2C_WaitOnTXEFlagUntilTimeout +
                                                                                                          • >>   I2C_WaitOnMasterAddressFlagUntilTimeout +
                                                                                                          • >>   I2C_WaitOnFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   HAL_I2C_Mem_Read +
                                                                                                          + +

                                                                                                          I2C_RequestMemoryWrite (Thumb, 162 bytes, Stack size 32 bytes, stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 64
                                                                                                          • Call Chain = I2C_RequestMemoryWrite ⇒ I2C_WaitOnMasterAddressFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   I2C_WaitOnTXEFlagUntilTimeout +
                                                                                                          • >>   I2C_WaitOnMasterAddressFlagUntilTimeout +
                                                                                                          • >>   I2C_WaitOnFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   HAL_I2C_Mem_Write +
                                                                                                          + +

                                                                                                          I2C_WaitOnBTFFlagUntilTimeout (Thumb, 86 bytes, Stack size 16 bytes, stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 16
                                                                                                          • Call Chain = I2C_WaitOnBTFFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   I2C_IsAcknowledgeFailed +
                                                                                                          • >>   HAL_GetTick +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   HAL_I2C_Mem_Write +
                                                                                                          + +

                                                                                                          I2C_WaitOnFlagUntilTimeout (Thumb, 144 bytes, Stack size 32 bytes, stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 32
                                                                                                          • Call Chain = I2C_WaitOnFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   HAL_GetTick +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   I2C_RequestMemoryWrite +
                                                                                                          • >>   I2C_RequestMemoryRead +
                                                                                                          • >>   HAL_I2C_Mem_Write +
                                                                                                          • >>   HAL_I2C_Mem_Read +
                                                                                                          + +

                                                                                                          I2C_WaitOnMasterAddressFlagUntilTimeout (Thumb, 188 bytes, Stack size 32 bytes, stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 32
                                                                                                          • Call Chain = I2C_WaitOnMasterAddressFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   HAL_GetTick +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   I2C_RequestMemoryWrite +
                                                                                                          • >>   I2C_RequestMemoryRead +
                                                                                                          + +

                                                                                                          I2C_WaitOnRXNEFlagUntilTimeout (Thumb, 110 bytes, Stack size 24 bytes, stm32f1xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 24
                                                                                                          • Call Chain = I2C_WaitOnRXNEFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   HAL_GetTick +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   HAL_I2C_Mem_Read +
                                                                                                          + +

                                                                                                          I2C_WaitOnTXEFlagUntilTimeout (Thumb, 86 bytes, Stack size 16 bytes, stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout)) +

                                                                                                          [Stack]

                                                                                                          • Max Depth = 16
                                                                                                          • Call Chain = I2C_WaitOnTXEFlagUntilTimeout +
                                                                                                          +
                                                                                                          [Calls]
                                                                                                          • >>   I2C_IsAcknowledgeFailed +
                                                                                                          • >>   HAL_GetTick +
                                                                                                          +
                                                                                                          [Called By]
                                                                                                          • >>   I2C_RequestMemoryWrite +
                                                                                                          • >>   I2C_RequestMemoryRead +
                                                                                                          • >>   HAL_I2C_Mem_Write +
                                                                                                          + +

                                                                                                          __NVIC_SetPriority (Thumb, 22 bytes, Stack size 0 bytes, stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority)) +

                                                                                                          [Called By]

                                                                                                          • >>   HAL_NVIC_SetPriority +
                                                                                                          + +

                                                                                                          UART_SetConfig (Thumb, 136 bytes, Stack size 8 bytes, stm32f1xx_hal_uart.o(i.UART_SetConfig))

                                                                                                          [Stack]

                                                                                                          • Max Depth = 8
                                                                                                          • Call Chain = UART_SetConfig
                                                                                                          -
                                                                                                          [Calls]
                                                                                                          • >>   HAL_RCC_GetPCLK1Freq -
                                                                                                          • >>   HAL_RCC_GetPCLK2Freq +
                                                                                                            [Calls]
                                                                                                            • >>   HAL_RCC_GetPCLK1Freq +
                                                                                                            • >>   HAL_RCC_GetPCLK2Freq
                                                                                                            -
                                                                                                            [Called By]
                                                                                                            • >>   HAL_UART_Init +
                                                                                                              [Called By]
                                                                                                              • >>   HAL_UART_Init

                                                                                                              diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.map b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.map index 96bc6a9..f976810 100644 --- a/MDK-ARM/STM32-AT24C256/STM32-AT24C256.map +++ b/MDK-ARM/STM32-AT24C256/STM32-AT24C256.map @@ -27,7 +27,11 @@ Section Cross References main.o(i.main) refers to gpio.o(i.MX_GPIO_Init) for MX_GPIO_Init main.o(i.main) refers to i2c.o(i.MX_I2C1_Init) for MX_I2C1_Init main.o(i.main) refers to usart.o(i.MX_USART1_UART_Init) for MX_USART1_UART_Init + main.o(i.main) refers to drv_at24cxx.o(i.AT24C_Init) for AT24C_Init + main.o(i.main) refers to drv_at24cxx.o(i.AT24C_Write) for AT24C_Write + main.o(i.main) refers to drv_at24cxx.o(i.AT24C_Read) for AT24C_Read main.o(i.main) refers to main.o(.bss) for .bss + main.o(i.main) refers to i2c.o(.bss) for hi2c1 gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) for HAL_GPIO_WritePin gpio.o(i.MX_GPIO_Init) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) for HAL_GPIO_Init i2c.o(i.HAL_I2C_MspDeInit) refers to stm32f1xx_hal_gpio.o(i.HAL_GPIO_DeInit) for HAL_GPIO_DeInit @@ -625,11 +629,9 @@ Section Cross References Removing Unused input sections from the image. - Removing startup_stm32f103xb.o(HEAP), (512 bytes). Removing main.o(.rev16_text), (4 bytes). Removing main.o(.revsh_text), (4 bytes). Removing main.o(.rrx_text), (6 bytes). - Removing main.o(.bss), (128 bytes). Removing gpio.o(.rev16_text), (4 bytes). Removing gpio.o(.revsh_text), (4 bytes). Removing gpio.o(.rrx_text), (6 bytes). @@ -689,10 +691,8 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Master_Transmit_IT), (184 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_MemRxCpltCallback), (2 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_MemTxCpltCallback), (2 bytes). - Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read), (616 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read_DMA), (444 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read_IT), (220 bytes). - Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write), (312 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write_DMA), (384 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write_IT), (208 bytes). Removing stm32f1xx_hal_i2c.o(i.HAL_I2C_MspDeInit), (2 bytes). @@ -714,7 +714,6 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal_i2c.o(i.I2C_DMAXferCplt), (274 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_Flush_DR), (16 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_ITError), (344 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed), (46 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_MasterReceive_BTF), (218 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_MasterReceive_RXNE), (244 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_MasterRequestRead), (236 bytes). @@ -724,16 +723,9 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal_i2c.o(i.I2C_Master_ADDR), (344 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_Master_SB), (140 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_MemoryTransmit_TXE_BTF), (168 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryRead), (252 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite), (168 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_Slave_ADDR), (70 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_Slave_AF), (144 bytes). Removing stm32f1xx_hal_i2c.o(i.I2C_Slave_STOPF), (352 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout), (86 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout), (144 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout), (188 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout), (110 bytes). - Removing stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout), (86 bytes). Removing stm32f1xx_hal.o(.rev16_text), (4 bytes). Removing stm32f1xx_hal.o(.revsh_text), (4 bytes). Removing stm32f1xx_hal.o(.rrx_text), (6 bytes). @@ -744,7 +736,6 @@ Removing Unused input sections from the image. Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStandbyMode), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_DBGMCU_EnableDBGStopMode), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_DeInit), (32 bytes). - Removing stm32f1xx_hal.o(i.HAL_Delay), (36 bytes). Removing stm32f1xx_hal.o(i.HAL_GetDEVID), (16 bytes). Removing stm32f1xx_hal.o(i.HAL_GetHalVersion), (8 bytes). Removing stm32f1xx_hal.o(i.HAL_GetREVID), (12 bytes). @@ -1107,12 +1098,8 @@ Removing Unused input sections from the image. Removing drv_at24cxx.o(.rrx_text), (6 bytes). Removing drv_at24cxx.o(i.AT24C_Check), (62 bytes). Removing drv_at24cxx.o(i.AT24C_Fill), (54 bytes). - Removing drv_at24cxx.o(i.AT24C_Init), (28 bytes). - Removing drv_at24cxx.o(i.AT24C_Read), (52 bytes). - Removing drv_at24cxx.o(i.AT24C_Write), (228 bytes). - Removing drv_at24cxx.o(.data), (4 bytes). -486 unused section(s) (total 41662 bytes) removed from the image. +469 unused section(s) (total 38666 bytes) removed from the image. ============================================================================== @@ -1145,24 +1132,24 @@ Image Symbol Table ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim.c 0x00000000 Number 0 stm32f1xx_hal_tim.o ABSOLUTE ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_tim_ex.c 0x00000000 Number 0 stm32f1xx_hal_tim_ex.o ABSOLUTE ../Drivers/STM32F1xx_HAL_Driver/Src/stm32f1xx_hal_uart.c 0x00000000 Number 0 stm32f1xx_hal_uart.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry10a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE + ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7a.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry2.o ABSOLUTE ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry5.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry7b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry8a.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry11b.o ABSOLUTE - ../clib/microlib/init/entry.s 0x00000000 Number 0 entry9b.o ABSOLUTE ../clib/microlib/longlong.c 0x00000000 Number 0 llushr.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloc.o ABSOLUTE - ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocr.o ABSOLUTE ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 malloca.o ABSOLUTE + ../clib/microlib/malloc/malloc.c 0x00000000 Number 0 mallocra.o ABSOLUTE ../clib/microlib/malloc/mvars.c 0x00000000 Number 0 mvars.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpyb.o ABSOLUTE ../clib/microlib/string/memcpy.c 0x00000000 Number 0 memcpya.o ABSOLUTE @@ -1210,74 +1197,102 @@ Image Symbol Table .text 0x08000100 Section 36 startup_stm32f103xb.o(.text) .text 0x08000124 Section 0 memseta.o(.text) .text 0x08000148 Section 36 init.o(.text) - i.BusFault_Handler 0x0800016c Section 0 stm32f1xx_it.o(i.BusFault_Handler) - i.DebugMon_Handler 0x0800016e Section 0 stm32f1xx_it.o(i.DebugMon_Handler) - i.Error_Handler 0x08000170 Section 0 main.o(i.Error_Handler) - i.HAL_GPIO_Init 0x08000174 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - i.HAL_GPIO_WritePin 0x0800034c Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - i.HAL_GetTick 0x08000358 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) - i.HAL_I2C_Init 0x08000364 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init) - i.HAL_I2C_MspInit 0x080004e0 Section 0 i2c.o(i.HAL_I2C_MspInit) - i.HAL_IncTick 0x0800053c Section 0 stm32f1xx_hal.o(i.HAL_IncTick) - i.HAL_Init 0x0800054c Section 0 stm32f1xx_hal.o(i.HAL_Init) - i.HAL_InitTick 0x08000570 Section 0 stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick) - i.HAL_MspInit 0x08000608 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) - i.HAL_NVIC_EnableIRQ 0x08000644 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) - i.HAL_NVIC_SetPriority 0x08000660 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - i.HAL_NVIC_SetPriorityGrouping 0x080006a0 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - i.HAL_RCC_ClockConfig 0x080006c4 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - i.HAL_RCC_GetClockConfig 0x080007f0 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) - i.HAL_RCC_GetPCLK1Freq 0x08000830 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - i.HAL_RCC_GetPCLK2Freq 0x08000850 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - i.HAL_RCC_GetSysClockFreq 0x08000870 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - i.HAL_RCC_OscConfig 0x080008bc Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - i.HAL_TIMEx_BreakCallback 0x08000be4 Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) - i.HAL_TIMEx_CommutCallback 0x08000be6 Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) - i.HAL_TIM_Base_Init 0x08000be8 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init) - i.HAL_TIM_Base_MspInit 0x08000c30 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit) - i.HAL_TIM_Base_Start_IT 0x08000c34 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) - i.HAL_TIM_IC_CaptureCallback 0x08000c8c Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) - i.HAL_TIM_IRQHandler 0x08000c8e Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler) - i.HAL_TIM_OC_DelayElapsedCallback 0x08000dbe Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) - i.HAL_TIM_PWM_PulseFinishedCallback 0x08000dc0 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) - i.HAL_TIM_PeriodElapsedCallback 0x08000dc4 Section 0 main.o(i.HAL_TIM_PeriodElapsedCallback) - i.HAL_TIM_TriggerCallback 0x08000dd8 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback) - i.HAL_UART_Init 0x08000dda Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - i.HAL_UART_MspInit 0x08000e40 Section 0 usart.o(i.HAL_UART_MspInit) - i.HardFault_Handler 0x08000eb0 Section 0 stm32f1xx_it.o(i.HardFault_Handler) - i.MX_GPIO_Init 0x08000eb4 Section 0 gpio.o(i.MX_GPIO_Init) - i.MX_I2C1_Init 0x08000f14 Section 0 i2c.o(i.MX_I2C1_Init) - i.MX_USART1_UART_Init 0x08000f54 Section 0 usart.o(i.MX_USART1_UART_Init) - i.MemManage_Handler 0x08000f8c Section 0 stm32f1xx_it.o(i.MemManage_Handler) - i.NMI_Handler 0x08000f8e Section 0 stm32f1xx_it.o(i.NMI_Handler) - i.PendSV_Handler 0x08000f90 Section 0 stm32f1xx_it.o(i.PendSV_Handler) - i.SVC_Handler 0x08000f92 Section 0 stm32f1xx_it.o(i.SVC_Handler) - i.SysTick_Handler 0x08000f94 Section 0 stm32f1xx_it.o(i.SysTick_Handler) - i.SystemClock_Config 0x08000f96 Section 0 main.o(i.SystemClock_Config) - i.SystemInit 0x08000ff2 Section 0 system_stm32f1xx.o(i.SystemInit) - i.TIM4_IRQHandler 0x08000ff4 Section 0 stm32f1xx_it.o(i.TIM4_IRQHandler) - i.TIM_Base_SetConfig 0x08001000 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - i.UART_SetConfig 0x08001078 Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) - UART_SetConfig 0x08001079 Thumb Code 136 stm32f1xx_hal_uart.o(i.UART_SetConfig) - i.UsageFault_Handler 0x08001104 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) - i.__NVIC_SetPriority 0x08001108 Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - __NVIC_SetPriority 0x08001109 Thumb Code 22 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) - i.__scatterload_copy 0x08001128 Section 14 handlers.o(i.__scatterload_copy) - i.__scatterload_null 0x08001136 Section 2 handlers.o(i.__scatterload_null) - i.__scatterload_zeroinit 0x08001138 Section 14 handlers.o(i.__scatterload_zeroinit) - i.main 0x08001148 Section 0 main.o(i.main) - .constdata 0x08001170 Section 18 stm32f1xx_hal_rcc.o(.constdata) - aPredivFactorTable 0x08001170 Data 2 stm32f1xx_hal_rcc.o(.constdata) - aPLLMULFactorTable 0x08001172 Data 16 stm32f1xx_hal_rcc.o(.constdata) - .constdata 0x08001182 Section 16 system_stm32f1xx.o(.constdata) - .constdata 0x08001192 Section 8 system_stm32f1xx.o(.constdata) + i.AT24C_Init 0x0800016c Section 0 drv_at24cxx.o(i.AT24C_Init) + i.AT24C_Read 0x0800019c Section 0 drv_at24cxx.o(i.AT24C_Read) + i.AT24C_Write 0x080001d4 Section 0 drv_at24cxx.o(i.AT24C_Write) + i.BusFault_Handler 0x080002e4 Section 0 stm32f1xx_it.o(i.BusFault_Handler) + i.DebugMon_Handler 0x080002e6 Section 0 stm32f1xx_it.o(i.DebugMon_Handler) + i.Error_Handler 0x080002e8 Section 0 main.o(i.Error_Handler) + i.HAL_Delay 0x080002ec Section 0 stm32f1xx_hal.o(i.HAL_Delay) + i.HAL_GPIO_Init 0x08000310 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + i.HAL_GPIO_WritePin 0x080004e8 Section 0 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + i.HAL_GetTick 0x080004f4 Section 0 stm32f1xx_hal.o(i.HAL_GetTick) + i.HAL_I2C_Init 0x08000500 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init) + i.HAL_I2C_Mem_Read 0x0800067c Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read) + i.HAL_I2C_Mem_Write 0x080008e4 Section 0 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write) + i.HAL_I2C_MspInit 0x08000a1c Section 0 i2c.o(i.HAL_I2C_MspInit) + i.HAL_IncTick 0x08000a78 Section 0 stm32f1xx_hal.o(i.HAL_IncTick) + i.HAL_Init 0x08000a88 Section 0 stm32f1xx_hal.o(i.HAL_Init) + i.HAL_InitTick 0x08000aac Section 0 stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick) + i.HAL_MspInit 0x08000b44 Section 0 stm32f1xx_hal_msp.o(i.HAL_MspInit) + i.HAL_NVIC_EnableIRQ 0x08000b80 Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + i.HAL_NVIC_SetPriority 0x08000b9c Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + i.HAL_NVIC_SetPriorityGrouping 0x08000bdc Section 0 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + i.HAL_RCC_ClockConfig 0x08000c00 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + i.HAL_RCC_GetClockConfig 0x08000d2c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) + i.HAL_RCC_GetPCLK1Freq 0x08000d6c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + i.HAL_RCC_GetPCLK2Freq 0x08000d8c Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + i.HAL_RCC_GetSysClockFreq 0x08000dac Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + i.HAL_RCC_OscConfig 0x08000df8 Section 0 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + i.HAL_TIMEx_BreakCallback 0x08001120 Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) + i.HAL_TIMEx_CommutCallback 0x08001122 Section 0 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) + i.HAL_TIM_Base_Init 0x08001124 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init) + i.HAL_TIM_Base_MspInit 0x0800116c Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit) + i.HAL_TIM_Base_Start_IT 0x08001170 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) + i.HAL_TIM_IC_CaptureCallback 0x080011c8 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) + i.HAL_TIM_IRQHandler 0x080011ca Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler) + i.HAL_TIM_OC_DelayElapsedCallback 0x080012fa Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) + i.HAL_TIM_PWM_PulseFinishedCallback 0x080012fc Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) + i.HAL_TIM_PeriodElapsedCallback 0x08001300 Section 0 main.o(i.HAL_TIM_PeriodElapsedCallback) + i.HAL_TIM_TriggerCallback 0x08001314 Section 0 stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback) + i.HAL_UART_Init 0x08001316 Section 0 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + i.HAL_UART_MspInit 0x0800137c Section 0 usart.o(i.HAL_UART_MspInit) + i.HardFault_Handler 0x080013ec Section 0 stm32f1xx_it.o(i.HardFault_Handler) + i.I2C_IsAcknowledgeFailed 0x080013ee Section 0 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed) + I2C_IsAcknowledgeFailed 0x080013ef Thumb Code 46 stm32f1xx_hal_i2c.o(i.I2C_IsAcknowledgeFailed) + i.I2C_RequestMemoryRead 0x0800141c Section 0 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryRead) + I2C_RequestMemoryRead 0x0800141d Thumb Code 246 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryRead) + i.I2C_RequestMemoryWrite 0x08001518 Section 0 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite) + I2C_RequestMemoryWrite 0x08001519 Thumb Code 162 stm32f1xx_hal_i2c.o(i.I2C_RequestMemoryWrite) + i.I2C_WaitOnBTFFlagUntilTimeout 0x080015c0 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout) + I2C_WaitOnBTFFlagUntilTimeout 0x080015c1 Thumb Code 86 stm32f1xx_hal_i2c.o(i.I2C_WaitOnBTFFlagUntilTimeout) + i.I2C_WaitOnFlagUntilTimeout 0x08001618 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) + I2C_WaitOnFlagUntilTimeout 0x08001619 Thumb Code 144 stm32f1xx_hal_i2c.o(i.I2C_WaitOnFlagUntilTimeout) + i.I2C_WaitOnMasterAddressFlagUntilTimeout 0x080016a8 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout) + I2C_WaitOnMasterAddressFlagUntilTimeout 0x080016a9 Thumb Code 188 stm32f1xx_hal_i2c.o(i.I2C_WaitOnMasterAddressFlagUntilTimeout) + i.I2C_WaitOnRXNEFlagUntilTimeout 0x08001764 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) + I2C_WaitOnRXNEFlagUntilTimeout 0x08001765 Thumb Code 110 stm32f1xx_hal_i2c.o(i.I2C_WaitOnRXNEFlagUntilTimeout) + i.I2C_WaitOnTXEFlagUntilTimeout 0x080017d2 Section 0 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout) + I2C_WaitOnTXEFlagUntilTimeout 0x080017d3 Thumb Code 86 stm32f1xx_hal_i2c.o(i.I2C_WaitOnTXEFlagUntilTimeout) + i.MX_GPIO_Init 0x08001828 Section 0 gpio.o(i.MX_GPIO_Init) + i.MX_I2C1_Init 0x08001888 Section 0 i2c.o(i.MX_I2C1_Init) + i.MX_USART1_UART_Init 0x080018c8 Section 0 usart.o(i.MX_USART1_UART_Init) + i.MemManage_Handler 0x08001900 Section 0 stm32f1xx_it.o(i.MemManage_Handler) + i.NMI_Handler 0x08001902 Section 0 stm32f1xx_it.o(i.NMI_Handler) + i.PendSV_Handler 0x08001904 Section 0 stm32f1xx_it.o(i.PendSV_Handler) + i.SVC_Handler 0x08001906 Section 0 stm32f1xx_it.o(i.SVC_Handler) + i.SysTick_Handler 0x08001908 Section 0 stm32f1xx_it.o(i.SysTick_Handler) + i.SystemClock_Config 0x0800190a Section 0 main.o(i.SystemClock_Config) + i.SystemInit 0x08001966 Section 0 system_stm32f1xx.o(i.SystemInit) + i.TIM4_IRQHandler 0x08001968 Section 0 stm32f1xx_it.o(i.TIM4_IRQHandler) + i.TIM_Base_SetConfig 0x08001974 Section 0 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + i.UART_SetConfig 0x080019ec Section 0 stm32f1xx_hal_uart.o(i.UART_SetConfig) + UART_SetConfig 0x080019ed Thumb Code 136 stm32f1xx_hal_uart.o(i.UART_SetConfig) + i.UsageFault_Handler 0x08001a78 Section 0 stm32f1xx_it.o(i.UsageFault_Handler) + i.__NVIC_SetPriority 0x08001a7c Section 0 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + __NVIC_SetPriority 0x08001a7d Thumb Code 22 stm32f1xx_hal_cortex.o(i.__NVIC_SetPriority) + i.__scatterload_copy 0x08001a9c Section 14 handlers.o(i.__scatterload_copy) + i.__scatterload_null 0x08001aaa Section 2 handlers.o(i.__scatterload_null) + i.__scatterload_zeroinit 0x08001aac Section 14 handlers.o(i.__scatterload_zeroinit) + i.main 0x08001abc Section 0 main.o(i.main) + i.malloc 0x08001b08 Section 0 malloc.o(i.malloc) + .constdata 0x08001b74 Section 18 stm32f1xx_hal_rcc.o(.constdata) + aPredivFactorTable 0x08001b74 Data 2 stm32f1xx_hal_rcc.o(.constdata) + aPLLMULFactorTable 0x08001b76 Data 16 stm32f1xx_hal_rcc.o(.constdata) + .constdata 0x08001b86 Section 16 system_stm32f1xx.o(.constdata) + .constdata 0x08001b96 Section 8 system_stm32f1xx.o(.constdata) .data 0x20000000 Section 12 stm32f1xx_hal.o(.data) .data 0x2000000c Section 4 system_stm32f1xx.o(.data) - .bss 0x20000010 Section 128 main.o(.bss) - .bss 0x20000090 Section 84 i2c.o(.bss) - .bss 0x200000e4 Section 72 usart.o(.bss) - .bss 0x2000012c Section 72 stm32f1xx_hal_timebase_tim.o(.bss) - STACK 0x20000178 Section 1024 startup_stm32f103xb.o(STACK) + .data 0x20000010 Section 4 drv_at24cxx.o(.data) + prv_i2c 0x20000010 Data 4 drv_at24cxx.o(.data) + .data 0x20000014 Section 4 mvars.o(.data) + .data 0x20000018 Section 4 mvars.o(.data) + .bss 0x2000001c Section 1024 main.o(.bss) + .bss 0x2000041c Section 84 i2c.o(.bss) + .bss 0x20000470 Section 72 usart.o(.bss) + .bss 0x200004b8 Section 72 stm32f1xx_hal_timebase_tim.o(.bss) + HEAP 0x20000500 Section 512 startup_stm32f103xb.o(HEAP) + STACK 0x20000700 Section 1024 startup_stm32f103xb.o(STACK) Global Symbols @@ -1354,71 +1369,83 @@ Image Symbol Table _memset$wrapper 0x08000137 Thumb Code 18 memseta.o(.text) __scatterload 0x08000149 Thumb Code 28 init.o(.text) __scatterload_rt2 0x08000149 Thumb Code 0 init.o(.text) - BusFault_Handler 0x0800016d Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) - DebugMon_Handler 0x0800016f Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) - Error_Handler 0x08000171 Thumb Code 4 main.o(i.Error_Handler) - HAL_GPIO_Init 0x08000175 Thumb Code 440 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) - HAL_GPIO_WritePin 0x0800034d Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) - HAL_GetTick 0x08000359 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) - HAL_I2C_Init 0x08000365 Thumb Code 364 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init) - HAL_I2C_MspInit 0x080004e1 Thumb Code 80 i2c.o(i.HAL_I2C_MspInit) - HAL_IncTick 0x0800053d Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) - HAL_Init 0x0800054d Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) - HAL_InitTick 0x08000571 Thumb Code 132 stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick) - HAL_MspInit 0x08000609 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) - HAL_NVIC_EnableIRQ 0x08000645 Thumb Code 28 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) - HAL_NVIC_SetPriority 0x08000661 Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) - HAL_NVIC_SetPriorityGrouping 0x080006a1 Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) - HAL_RCC_ClockConfig 0x080006c5 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) - HAL_RCC_GetClockConfig 0x080007f1 Thumb Code 54 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) - HAL_RCC_GetPCLK1Freq 0x08000831 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) - HAL_RCC_GetPCLK2Freq 0x08000851 Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) - HAL_RCC_GetSysClockFreq 0x08000871 Thumb Code 58 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) - HAL_RCC_OscConfig 0x080008bd Thumb Code 786 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) - HAL_TIMEx_BreakCallback 0x08000be5 Thumb Code 2 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) - HAL_TIMEx_CommutCallback 0x08000be7 Thumb Code 2 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) - HAL_TIM_Base_Init 0x08000be9 Thumb Code 72 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init) - HAL_TIM_Base_MspInit 0x08000c31 Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit) - HAL_TIM_Base_Start_IT 0x08000c35 Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) - HAL_TIM_IC_CaptureCallback 0x08000c8d Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) - HAL_TIM_IRQHandler 0x08000c8f Thumb Code 304 stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler) - HAL_TIM_OC_DelayElapsedCallback 0x08000dbf Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) - HAL_TIM_PWM_PulseFinishedCallback 0x08000dc1 Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) - HAL_TIM_PeriodElapsedCallback 0x08000dc5 Thumb Code 14 main.o(i.HAL_TIM_PeriodElapsedCallback) - HAL_TIM_TriggerCallback 0x08000dd9 Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback) - HAL_UART_Init 0x08000ddb Thumb Code 100 stm32f1xx_hal_uart.o(i.HAL_UART_Init) - HAL_UART_MspInit 0x08000e41 Thumb Code 100 usart.o(i.HAL_UART_MspInit) - HardFault_Handler 0x08000eb1 Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler) - MX_GPIO_Init 0x08000eb5 Thumb Code 86 gpio.o(i.MX_GPIO_Init) - MX_I2C1_Init 0x08000f15 Thumb Code 50 i2c.o(i.MX_I2C1_Init) - MX_USART1_UART_Init 0x08000f55 Thumb Code 48 usart.o(i.MX_USART1_UART_Init) - MemManage_Handler 0x08000f8d Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) - NMI_Handler 0x08000f8f Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler) - PendSV_Handler 0x08000f91 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) - SVC_Handler 0x08000f93 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) - SysTick_Handler 0x08000f95 Thumb Code 2 stm32f1xx_it.o(i.SysTick_Handler) - SystemClock_Config 0x08000f97 Thumb Code 92 main.o(i.SystemClock_Config) - SystemInit 0x08000ff3 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) - TIM4_IRQHandler 0x08000ff5 Thumb Code 6 stm32f1xx_it.o(i.TIM4_IRQHandler) - TIM_Base_SetConfig 0x08001001 Thumb Code 108 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) - UsageFault_Handler 0x08001105 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) - __scatterload_copy 0x08001129 Thumb Code 14 handlers.o(i.__scatterload_copy) - __scatterload_null 0x08001137 Thumb Code 2 handlers.o(i.__scatterload_null) - __scatterload_zeroinit 0x08001139 Thumb Code 14 handlers.o(i.__scatterload_zeroinit) - main 0x08001149 Thumb Code 34 main.o(i.main) - AHBPrescTable 0x08001182 Data 16 system_stm32f1xx.o(.constdata) - APBPrescTable 0x08001192 Data 8 system_stm32f1xx.o(.constdata) - Region$$Table$$Base 0x0800119c Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x080011bc Number 0 anon$$obj.o(Region$$Table) + AT24C_Init 0x0800016d Thumb Code 42 drv_at24cxx.o(i.AT24C_Init) + AT24C_Read 0x0800019d Thumb Code 52 drv_at24cxx.o(i.AT24C_Read) + AT24C_Write 0x080001d5 Thumb Code 262 drv_at24cxx.o(i.AT24C_Write) + BusFault_Handler 0x080002e5 Thumb Code 2 stm32f1xx_it.o(i.BusFault_Handler) + DebugMon_Handler 0x080002e7 Thumb Code 2 stm32f1xx_it.o(i.DebugMon_Handler) + Error_Handler 0x080002e9 Thumb Code 4 main.o(i.Error_Handler) + HAL_Delay 0x080002ed Thumb Code 32 stm32f1xx_hal.o(i.HAL_Delay) + HAL_GPIO_Init 0x08000311 Thumb Code 440 stm32f1xx_hal_gpio.o(i.HAL_GPIO_Init) + HAL_GPIO_WritePin 0x080004e9 Thumb Code 10 stm32f1xx_hal_gpio.o(i.HAL_GPIO_WritePin) + HAL_GetTick 0x080004f5 Thumb Code 6 stm32f1xx_hal.o(i.HAL_GetTick) + HAL_I2C_Init 0x08000501 Thumb Code 364 stm32f1xx_hal_i2c.o(i.HAL_I2C_Init) + HAL_I2C_Mem_Read 0x0800067d Thumb Code 600 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Read) + HAL_I2C_Mem_Write 0x080008e5 Thumb Code 302 stm32f1xx_hal_i2c.o(i.HAL_I2C_Mem_Write) + HAL_I2C_MspInit 0x08000a1d Thumb Code 80 i2c.o(i.HAL_I2C_MspInit) + HAL_IncTick 0x08000a79 Thumb Code 12 stm32f1xx_hal.o(i.HAL_IncTick) + HAL_Init 0x08000a89 Thumb Code 32 stm32f1xx_hal.o(i.HAL_Init) + HAL_InitTick 0x08000aad Thumb Code 132 stm32f1xx_hal_timebase_tim.o(i.HAL_InitTick) + HAL_MspInit 0x08000b45 Thumb Code 52 stm32f1xx_hal_msp.o(i.HAL_MspInit) + HAL_NVIC_EnableIRQ 0x08000b81 Thumb Code 28 stm32f1xx_hal_cortex.o(i.HAL_NVIC_EnableIRQ) + HAL_NVIC_SetPriority 0x08000b9d Thumb Code 60 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriority) + HAL_NVIC_SetPriorityGrouping 0x08000bdd Thumb Code 26 stm32f1xx_hal_cortex.o(i.HAL_NVIC_SetPriorityGrouping) + HAL_RCC_ClockConfig 0x08000c01 Thumb Code 280 stm32f1xx_hal_rcc.o(i.HAL_RCC_ClockConfig) + HAL_RCC_GetClockConfig 0x08000d2d Thumb Code 54 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetClockConfig) + HAL_RCC_GetPCLK1Freq 0x08000d6d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK1Freq) + HAL_RCC_GetPCLK2Freq 0x08000d8d Thumb Code 20 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetPCLK2Freq) + HAL_RCC_GetSysClockFreq 0x08000dad Thumb Code 58 stm32f1xx_hal_rcc.o(i.HAL_RCC_GetSysClockFreq) + HAL_RCC_OscConfig 0x08000df9 Thumb Code 786 stm32f1xx_hal_rcc.o(i.HAL_RCC_OscConfig) + HAL_TIMEx_BreakCallback 0x08001121 Thumb Code 2 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_BreakCallback) + HAL_TIMEx_CommutCallback 0x08001123 Thumb Code 2 stm32f1xx_hal_tim_ex.o(i.HAL_TIMEx_CommutCallback) + HAL_TIM_Base_Init 0x08001125 Thumb Code 72 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Init) + HAL_TIM_Base_MspInit 0x0800116d Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_MspInit) + HAL_TIM_Base_Start_IT 0x08001171 Thumb Code 76 stm32f1xx_hal_tim.o(i.HAL_TIM_Base_Start_IT) + HAL_TIM_IC_CaptureCallback 0x080011c9 Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_IC_CaptureCallback) + HAL_TIM_IRQHandler 0x080011cb Thumb Code 304 stm32f1xx_hal_tim.o(i.HAL_TIM_IRQHandler) + HAL_TIM_OC_DelayElapsedCallback 0x080012fb Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_OC_DelayElapsedCallback) + HAL_TIM_PWM_PulseFinishedCallback 0x080012fd Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_PWM_PulseFinishedCallback) + HAL_TIM_PeriodElapsedCallback 0x08001301 Thumb Code 14 main.o(i.HAL_TIM_PeriodElapsedCallback) + HAL_TIM_TriggerCallback 0x08001315 Thumb Code 2 stm32f1xx_hal_tim.o(i.HAL_TIM_TriggerCallback) + HAL_UART_Init 0x08001317 Thumb Code 100 stm32f1xx_hal_uart.o(i.HAL_UART_Init) + HAL_UART_MspInit 0x0800137d Thumb Code 100 usart.o(i.HAL_UART_MspInit) + HardFault_Handler 0x080013ed Thumb Code 2 stm32f1xx_it.o(i.HardFault_Handler) + MX_GPIO_Init 0x08001829 Thumb Code 86 gpio.o(i.MX_GPIO_Init) + MX_I2C1_Init 0x08001889 Thumb Code 50 i2c.o(i.MX_I2C1_Init) + MX_USART1_UART_Init 0x080018c9 Thumb Code 48 usart.o(i.MX_USART1_UART_Init) + MemManage_Handler 0x08001901 Thumb Code 2 stm32f1xx_it.o(i.MemManage_Handler) + NMI_Handler 0x08001903 Thumb Code 2 stm32f1xx_it.o(i.NMI_Handler) + PendSV_Handler 0x08001905 Thumb Code 2 stm32f1xx_it.o(i.PendSV_Handler) + SVC_Handler 0x08001907 Thumb Code 2 stm32f1xx_it.o(i.SVC_Handler) + SysTick_Handler 0x08001909 Thumb Code 2 stm32f1xx_it.o(i.SysTick_Handler) + SystemClock_Config 0x0800190b Thumb Code 92 main.o(i.SystemClock_Config) + SystemInit 0x08001967 Thumb Code 2 system_stm32f1xx.o(i.SystemInit) + TIM4_IRQHandler 0x08001969 Thumb Code 6 stm32f1xx_it.o(i.TIM4_IRQHandler) + TIM_Base_SetConfig 0x08001975 Thumb Code 108 stm32f1xx_hal_tim.o(i.TIM_Base_SetConfig) + UsageFault_Handler 0x08001a79 Thumb Code 2 stm32f1xx_it.o(i.UsageFault_Handler) + __scatterload_copy 0x08001a9d Thumb Code 14 handlers.o(i.__scatterload_copy) + __scatterload_null 0x08001aab Thumb Code 2 handlers.o(i.__scatterload_null) + __scatterload_zeroinit 0x08001aad Thumb Code 14 handlers.o(i.__scatterload_zeroinit) + main 0x08001abd Thumb Code 64 main.o(i.main) + malloc 0x08001b09 Thumb Code 92 malloc.o(i.malloc) + AHBPrescTable 0x08001b86 Data 16 system_stm32f1xx.o(.constdata) + APBPrescTable 0x08001b96 Data 8 system_stm32f1xx.o(.constdata) + Region$$Table$$Base 0x08001ba0 Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x08001bc0 Number 0 anon$$obj.o(Region$$Table) uwTickFreq 0x20000000 Data 1 stm32f1xx_hal.o(.data) uwTickPrio 0x20000004 Data 4 stm32f1xx_hal.o(.data) uwTick 0x20000008 Data 4 stm32f1xx_hal.o(.data) SystemCoreClock 0x2000000c Data 4 system_stm32f1xx.o(.data) - buff_send 0x20000010 Data 128 main.o(.bss) - hi2c1 0x20000090 Data 84 i2c.o(.bss) - huart1 0x200000e4 Data 72 usart.o(.bss) - htim4 0x2000012c Data 72 stm32f1xx_hal_timebase_tim.o(.bss) - __initial_sp 0x20000578 Data 0 startup_stm32f103xb.o(STACK) + __microlib_freelist 0x20000014 Data 4 mvars.o(.data) + __microlib_freelist_initialised 0x20000018 Data 4 mvars.o(.data) + buff_send 0x2000001c Data 512 main.o(.bss) + buff_recv 0x2000021c Data 512 main.o(.bss) + hi2c1 0x2000041c Data 84 i2c.o(.bss) + huart1 0x20000470 Data 72 usart.o(.bss) + htim4 0x200004b8 Data 72 stm32f1xx_hal_timebase_tim.o(.bss) + __heap_base 0x20000500 Data 0 startup_stm32f103xb.o(HEAP) + __heap_limit 0x20000700 Data 0 startup_stm32f103xb.o(HEAP) + __initial_sp 0x20000b00 Data 0 startup_stm32f103xb.o(STACK) @@ -1428,105 +1455,123 @@ Memory Map of the image Image Entry point : 0x080000ed - Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000011cc, Max: 0x00010000, ABSOLUTE) + Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00001bdc, Max: 0x00010000, ABSOLUTE) - Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000011bc, Max: 0x00010000, ABSOLUTE) + Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00001bc0, Max: 0x00010000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object 0x08000000 0x08000000 0x000000ec Data RO 3 RESET startup_stm32f103xb.o - 0x080000ec 0x080000ec 0x00000000 Code RO 3296 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) - 0x080000ec 0x080000ec 0x00000004 Code RO 3331 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) - 0x080000f0 0x080000f0 0x00000004 Code RO 3334 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 3336 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) - 0x080000f4 0x080000f4 0x00000000 Code RO 3338 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) - 0x080000f4 0x080000f4 0x00000008 Code RO 3339 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 3341 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) - 0x080000fc 0x080000fc 0x00000000 Code RO 3343 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) - 0x080000fc 0x080000fc 0x00000004 Code RO 3332 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) + 0x080000ec 0x080000ec 0x00000000 Code RO 3295 * .ARM.Collect$$$$00000000 mc_w.l(entry.o) + 0x080000ec 0x080000ec 0x00000004 Code RO 3330 .ARM.Collect$$$$00000001 mc_w.l(entry2.o) + 0x080000f0 0x080000f0 0x00000004 Code RO 3333 .ARM.Collect$$$$00000004 mc_w.l(entry5.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 3335 .ARM.Collect$$$$00000008 mc_w.l(entry7b.o) + 0x080000f4 0x080000f4 0x00000000 Code RO 3337 .ARM.Collect$$$$0000000A mc_w.l(entry8b.o) + 0x080000f4 0x080000f4 0x00000008 Code RO 3338 .ARM.Collect$$$$0000000B mc_w.l(entry9a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 3340 .ARM.Collect$$$$0000000D mc_w.l(entry10a.o) + 0x080000fc 0x080000fc 0x00000000 Code RO 3342 .ARM.Collect$$$$0000000F mc_w.l(entry11a.o) + 0x080000fc 0x080000fc 0x00000004 Code RO 3331 .ARM.Collect$$$$00002712 mc_w.l(entry2.o) 0x08000100 0x08000100 0x00000024 Code RO 4 .text startup_stm32f103xb.o - 0x08000124 0x08000124 0x00000024 Code RO 3301 .text mc_w.l(memseta.o) - 0x08000148 0x08000148 0x00000024 Code RO 3351 .text mc_w.l(init.o) - 0x0800016c 0x0800016c 0x00000002 Code RO 273 i.BusFault_Handler stm32f1xx_it.o - 0x0800016e 0x0800016e 0x00000002 Code RO 274 i.DebugMon_Handler stm32f1xx_it.o - 0x08000170 0x08000170 0x00000004 Code RO 13 i.Error_Handler main.o - 0x08000174 0x08000174 0x000001d8 Code RO 1208 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o - 0x0800034c 0x0800034c 0x0000000a Code RO 1212 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o - 0x08000356 0x08000356 0x00000002 PAD - 0x08000358 0x08000358 0x0000000c Code RO 902 i.HAL_GetTick stm32f1xx_hal.o - 0x08000364 0x08000364 0x0000017c Code RO 465 i.HAL_I2C_Init stm32f1xx_hal_i2c.o - 0x080004e0 0x080004e0 0x0000005c Code RO 190 i.HAL_I2C_MspInit i2c.o - 0x0800053c 0x0800053c 0x00000010 Code RO 908 i.HAL_IncTick stm32f1xx_hal.o - 0x0800054c 0x0800054c 0x00000024 Code RO 909 i.HAL_Init stm32f1xx_hal.o - 0x08000570 0x08000570 0x00000098 Code RO 379 i.HAL_InitTick stm32f1xx_hal_timebase_tim.o - 0x08000608 0x08000608 0x0000003c Code RO 355 i.HAL_MspInit stm32f1xx_hal_msp.o - 0x08000644 0x08000644 0x0000001c Code RO 1368 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o - 0x08000660 0x08000660 0x00000040 Code RO 1374 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x080006a0 0x080006a0 0x00000024 Code RO 1375 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o - 0x080006c4 0x080006c4 0x0000012c Code RO 1066 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o - 0x080007f0 0x080007f0 0x00000040 Code RO 1070 i.HAL_RCC_GetClockConfig stm32f1xx_hal_rcc.o - 0x08000830 0x08000830 0x00000020 Code RO 1073 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o - 0x08000850 0x08000850 0x00000020 Code RO 1074 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o - 0x08000870 0x08000870 0x0000004c Code RO 1075 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o - 0x080008bc 0x080008bc 0x00000328 Code RO 1078 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o - 0x08000be4 0x08000be4 0x00000002 Code RO 2574 i.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o - 0x08000be6 0x08000be6 0x00000002 Code RO 2575 i.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o - 0x08000be8 0x08000be8 0x00000048 Code RO 1870 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o - 0x08000c30 0x08000c30 0x00000002 Code RO 1872 i.HAL_TIM_Base_MspInit stm32f1xx_hal_tim.o - 0x08000c32 0x08000c32 0x00000002 PAD - 0x08000c34 0x08000c34 0x00000058 Code RO 1875 i.HAL_TIM_Base_Start_IT stm32f1xx_hal_tim.o - 0x08000c8c 0x08000c8c 0x00000002 Code RO 1904 i.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o - 0x08000c8e 0x08000c8e 0x00000130 Code RO 1918 i.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o - 0x08000dbe 0x08000dbe 0x00000002 Code RO 1921 i.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o - 0x08000dc0 0x08000dc0 0x00000002 Code RO 1948 i.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o - 0x08000dc2 0x08000dc2 0x00000002 PAD - 0x08000dc4 0x08000dc4 0x00000014 Code RO 14 i.HAL_TIM_PeriodElapsedCallback main.o - 0x08000dd8 0x08000dd8 0x00000002 Code RO 1961 i.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o - 0x08000dda 0x08000dda 0x00000064 Code RO 2871 i.HAL_UART_Init stm32f1xx_hal_uart.o - 0x08000e3e 0x08000e3e 0x00000002 PAD - 0x08000e40 0x08000e40 0x00000070 Code RO 232 i.HAL_UART_MspInit usart.o - 0x08000eb0 0x08000eb0 0x00000002 Code RO 275 i.HardFault_Handler stm32f1xx_it.o - 0x08000eb2 0x08000eb2 0x00000002 PAD - 0x08000eb4 0x08000eb4 0x00000060 Code RO 165 i.MX_GPIO_Init gpio.o - 0x08000f14 0x08000f14 0x00000040 Code RO 191 i.MX_I2C1_Init i2c.o - 0x08000f54 0x08000f54 0x00000038 Code RO 233 i.MX_USART1_UART_Init usart.o - 0x08000f8c 0x08000f8c 0x00000002 Code RO 276 i.MemManage_Handler stm32f1xx_it.o - 0x08000f8e 0x08000f8e 0x00000002 Code RO 277 i.NMI_Handler stm32f1xx_it.o - 0x08000f90 0x08000f90 0x00000002 Code RO 278 i.PendSV_Handler stm32f1xx_it.o - 0x08000f92 0x08000f92 0x00000002 Code RO 279 i.SVC_Handler stm32f1xx_it.o - 0x08000f94 0x08000f94 0x00000002 Code RO 280 i.SysTick_Handler stm32f1xx_it.o - 0x08000f96 0x08000f96 0x0000005c Code RO 15 i.SystemClock_Config main.o - 0x08000ff2 0x08000ff2 0x00000002 Code RO 3205 i.SystemInit system_stm32f1xx.o - 0x08000ff4 0x08000ff4 0x0000000c Code RO 281 i.TIM4_IRQHandler stm32f1xx_it.o - 0x08001000 0x08001000 0x00000078 Code RO 1963 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o - 0x08001078 0x08001078 0x0000008c Code RO 2897 i.UART_SetConfig stm32f1xx_hal_uart.o - 0x08001104 0x08001104 0x00000002 Code RO 282 i.UsageFault_Handler stm32f1xx_it.o - 0x08001106 0x08001106 0x00000002 PAD - 0x08001108 0x08001108 0x00000020 Code RO 1381 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o - 0x08001128 0x08001128 0x0000000e Code RO 3355 i.__scatterload_copy mc_w.l(handlers.o) - 0x08001136 0x08001136 0x00000002 Code RO 3356 i.__scatterload_null mc_w.l(handlers.o) - 0x08001138 0x08001138 0x0000000e Code RO 3357 i.__scatterload_zeroinit mc_w.l(handlers.o) - 0x08001146 0x08001146 0x00000002 PAD - 0x08001148 0x08001148 0x00000028 Code RO 16 i.main main.o - 0x08001170 0x08001170 0x00000012 Data RO 1079 .constdata stm32f1xx_hal_rcc.o - 0x08001182 0x08001182 0x00000010 Data RO 3206 .constdata system_stm32f1xx.o - 0x08001192 0x08001192 0x00000008 Data RO 3207 .constdata system_stm32f1xx.o - 0x0800119a 0x0800119a 0x00000002 PAD - 0x0800119c 0x0800119c 0x00000020 Data RO 3353 Region$$Table anon$$obj.o + 0x08000124 0x08000124 0x00000024 Code RO 3300 .text mc_w.l(memseta.o) + 0x08000148 0x08000148 0x00000024 Code RO 3350 .text mc_w.l(init.o) + 0x0800016c 0x0800016c 0x00000030 Code RO 3243 i.AT24C_Init drv_at24cxx.o + 0x0800019c 0x0800019c 0x00000038 Code RO 3244 i.AT24C_Read drv_at24cxx.o + 0x080001d4 0x080001d4 0x00000110 Code RO 3245 i.AT24C_Write drv_at24cxx.o + 0x080002e4 0x080002e4 0x00000002 Code RO 272 i.BusFault_Handler stm32f1xx_it.o + 0x080002e6 0x080002e6 0x00000002 Code RO 273 i.DebugMon_Handler stm32f1xx_it.o + 0x080002e8 0x080002e8 0x00000004 Code RO 13 i.Error_Handler main.o + 0x080002ec 0x080002ec 0x00000024 Code RO 897 i.HAL_Delay stm32f1xx_hal.o + 0x08000310 0x08000310 0x000001d8 Code RO 1207 i.HAL_GPIO_Init stm32f1xx_hal_gpio.o + 0x080004e8 0x080004e8 0x0000000a Code RO 1211 i.HAL_GPIO_WritePin stm32f1xx_hal_gpio.o + 0x080004f2 0x080004f2 0x00000002 PAD + 0x080004f4 0x080004f4 0x0000000c Code RO 901 i.HAL_GetTick stm32f1xx_hal.o + 0x08000500 0x08000500 0x0000017c Code RO 464 i.HAL_I2C_Init stm32f1xx_hal_i2c.o + 0x0800067c 0x0800067c 0x00000268 Code RO 482 i.HAL_I2C_Mem_Read stm32f1xx_hal_i2c.o + 0x080008e4 0x080008e4 0x00000138 Code RO 485 i.HAL_I2C_Mem_Write stm32f1xx_hal_i2c.o + 0x08000a1c 0x08000a1c 0x0000005c Code RO 189 i.HAL_I2C_MspInit i2c.o + 0x08000a78 0x08000a78 0x00000010 Code RO 907 i.HAL_IncTick stm32f1xx_hal.o + 0x08000a88 0x08000a88 0x00000024 Code RO 908 i.HAL_Init stm32f1xx_hal.o + 0x08000aac 0x08000aac 0x00000098 Code RO 378 i.HAL_InitTick stm32f1xx_hal_timebase_tim.o + 0x08000b44 0x08000b44 0x0000003c Code RO 354 i.HAL_MspInit stm32f1xx_hal_msp.o + 0x08000b80 0x08000b80 0x0000001c Code RO 1367 i.HAL_NVIC_EnableIRQ stm32f1xx_hal_cortex.o + 0x08000b9c 0x08000b9c 0x00000040 Code RO 1373 i.HAL_NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08000bdc 0x08000bdc 0x00000024 Code RO 1374 i.HAL_NVIC_SetPriorityGrouping stm32f1xx_hal_cortex.o + 0x08000c00 0x08000c00 0x0000012c Code RO 1065 i.HAL_RCC_ClockConfig stm32f1xx_hal_rcc.o + 0x08000d2c 0x08000d2c 0x00000040 Code RO 1069 i.HAL_RCC_GetClockConfig stm32f1xx_hal_rcc.o + 0x08000d6c 0x08000d6c 0x00000020 Code RO 1072 i.HAL_RCC_GetPCLK1Freq stm32f1xx_hal_rcc.o + 0x08000d8c 0x08000d8c 0x00000020 Code RO 1073 i.HAL_RCC_GetPCLK2Freq stm32f1xx_hal_rcc.o + 0x08000dac 0x08000dac 0x0000004c Code RO 1074 i.HAL_RCC_GetSysClockFreq stm32f1xx_hal_rcc.o + 0x08000df8 0x08000df8 0x00000328 Code RO 1077 i.HAL_RCC_OscConfig stm32f1xx_hal_rcc.o + 0x08001120 0x08001120 0x00000002 Code RO 2573 i.HAL_TIMEx_BreakCallback stm32f1xx_hal_tim_ex.o + 0x08001122 0x08001122 0x00000002 Code RO 2574 i.HAL_TIMEx_CommutCallback stm32f1xx_hal_tim_ex.o + 0x08001124 0x08001124 0x00000048 Code RO 1869 i.HAL_TIM_Base_Init stm32f1xx_hal_tim.o + 0x0800116c 0x0800116c 0x00000002 Code RO 1871 i.HAL_TIM_Base_MspInit stm32f1xx_hal_tim.o + 0x0800116e 0x0800116e 0x00000002 PAD + 0x08001170 0x08001170 0x00000058 Code RO 1874 i.HAL_TIM_Base_Start_IT stm32f1xx_hal_tim.o + 0x080011c8 0x080011c8 0x00000002 Code RO 1903 i.HAL_TIM_IC_CaptureCallback stm32f1xx_hal_tim.o + 0x080011ca 0x080011ca 0x00000130 Code RO 1917 i.HAL_TIM_IRQHandler stm32f1xx_hal_tim.o + 0x080012fa 0x080012fa 0x00000002 Code RO 1920 i.HAL_TIM_OC_DelayElapsedCallback stm32f1xx_hal_tim.o + 0x080012fc 0x080012fc 0x00000002 Code RO 1947 i.HAL_TIM_PWM_PulseFinishedCallback stm32f1xx_hal_tim.o + 0x080012fe 0x080012fe 0x00000002 PAD + 0x08001300 0x08001300 0x00000014 Code RO 14 i.HAL_TIM_PeriodElapsedCallback main.o + 0x08001314 0x08001314 0x00000002 Code RO 1960 i.HAL_TIM_TriggerCallback stm32f1xx_hal_tim.o + 0x08001316 0x08001316 0x00000064 Code RO 2870 i.HAL_UART_Init stm32f1xx_hal_uart.o + 0x0800137a 0x0800137a 0x00000002 PAD + 0x0800137c 0x0800137c 0x00000070 Code RO 231 i.HAL_UART_MspInit usart.o + 0x080013ec 0x080013ec 0x00000002 Code RO 274 i.HardFault_Handler stm32f1xx_it.o + 0x080013ee 0x080013ee 0x0000002e Code RO 507 i.I2C_IsAcknowledgeFailed stm32f1xx_hal_i2c.o + 0x0800141c 0x0800141c 0x000000fc Code RO 517 i.I2C_RequestMemoryRead stm32f1xx_hal_i2c.o + 0x08001518 0x08001518 0x000000a8 Code RO 518 i.I2C_RequestMemoryWrite stm32f1xx_hal_i2c.o + 0x080015c0 0x080015c0 0x00000056 Code RO 522 i.I2C_WaitOnBTFFlagUntilTimeout stm32f1xx_hal_i2c.o + 0x08001616 0x08001616 0x00000002 PAD + 0x08001618 0x08001618 0x00000090 Code RO 523 i.I2C_WaitOnFlagUntilTimeout stm32f1xx_hal_i2c.o + 0x080016a8 0x080016a8 0x000000bc Code RO 524 i.I2C_WaitOnMasterAddressFlagUntilTimeout stm32f1xx_hal_i2c.o + 0x08001764 0x08001764 0x0000006e Code RO 525 i.I2C_WaitOnRXNEFlagUntilTimeout stm32f1xx_hal_i2c.o + 0x080017d2 0x080017d2 0x00000056 Code RO 526 i.I2C_WaitOnTXEFlagUntilTimeout stm32f1xx_hal_i2c.o + 0x08001828 0x08001828 0x00000060 Code RO 164 i.MX_GPIO_Init gpio.o + 0x08001888 0x08001888 0x00000040 Code RO 190 i.MX_I2C1_Init i2c.o + 0x080018c8 0x080018c8 0x00000038 Code RO 232 i.MX_USART1_UART_Init usart.o + 0x08001900 0x08001900 0x00000002 Code RO 275 i.MemManage_Handler stm32f1xx_it.o + 0x08001902 0x08001902 0x00000002 Code RO 276 i.NMI_Handler stm32f1xx_it.o + 0x08001904 0x08001904 0x00000002 Code RO 277 i.PendSV_Handler stm32f1xx_it.o + 0x08001906 0x08001906 0x00000002 Code RO 278 i.SVC_Handler stm32f1xx_it.o + 0x08001908 0x08001908 0x00000002 Code RO 279 i.SysTick_Handler stm32f1xx_it.o + 0x0800190a 0x0800190a 0x0000005c Code RO 15 i.SystemClock_Config main.o + 0x08001966 0x08001966 0x00000002 Code RO 3204 i.SystemInit system_stm32f1xx.o + 0x08001968 0x08001968 0x0000000c Code RO 280 i.TIM4_IRQHandler stm32f1xx_it.o + 0x08001974 0x08001974 0x00000078 Code RO 1962 i.TIM_Base_SetConfig stm32f1xx_hal_tim.o + 0x080019ec 0x080019ec 0x0000008c Code RO 2896 i.UART_SetConfig stm32f1xx_hal_uart.o + 0x08001a78 0x08001a78 0x00000002 Code RO 281 i.UsageFault_Handler stm32f1xx_it.o + 0x08001a7a 0x08001a7a 0x00000002 PAD + 0x08001a7c 0x08001a7c 0x00000020 Code RO 1380 i.__NVIC_SetPriority stm32f1xx_hal_cortex.o + 0x08001a9c 0x08001a9c 0x0000000e Code RO 3354 i.__scatterload_copy mc_w.l(handlers.o) + 0x08001aaa 0x08001aaa 0x00000002 Code RO 3355 i.__scatterload_null mc_w.l(handlers.o) + 0x08001aac 0x08001aac 0x0000000e Code RO 3356 i.__scatterload_zeroinit mc_w.l(handlers.o) + 0x08001aba 0x08001aba 0x00000002 PAD + 0x08001abc 0x08001abc 0x0000004c Code RO 16 i.main main.o + 0x08001b08 0x08001b08 0x0000006c Code RO 3303 i.malloc mc_w.l(malloc.o) + 0x08001b74 0x08001b74 0x00000012 Data RO 1078 .constdata stm32f1xx_hal_rcc.o + 0x08001b86 0x08001b86 0x00000010 Data RO 3205 .constdata system_stm32f1xx.o + 0x08001b96 0x08001b96 0x00000008 Data RO 3206 .constdata system_stm32f1xx.o + 0x08001b9e 0x08001b9e 0x00000002 PAD + 0x08001ba0 0x08001ba0 0x00000020 Data RO 3352 Region$$Table anon$$obj.o - Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080011bc, Size: 0x00000578, Max: 0x00005000, ABSOLUTE) + Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08001bc0, Size: 0x00000b00, Max: 0x00005000, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x20000000 0x080011bc 0x0000000c Data RW 916 .data stm32f1xx_hal.o - 0x2000000c 0x080011c8 0x00000004 Data RW 3208 .data system_stm32f1xx.o - 0x20000010 - 0x00000080 Zero RW 17 .bss main.o - 0x20000090 - 0x00000054 Zero RW 192 .bss i2c.o - 0x200000e4 - 0x00000048 Zero RW 234 .bss usart.o - 0x2000012c - 0x00000048 Zero RW 382 .bss stm32f1xx_hal_timebase_tim.o - 0x20000174 0x080011cc 0x00000004 PAD - 0x20000178 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o + 0x20000000 0x08001bc0 0x0000000c Data RW 915 .data stm32f1xx_hal.o + 0x2000000c 0x08001bcc 0x00000004 Data RW 3207 .data system_stm32f1xx.o + 0x20000010 0x08001bd0 0x00000004 Data RW 3246 .data drv_at24cxx.o + 0x20000014 0x08001bd4 0x00000004 Data RW 3348 .data mc_w.l(mvars.o) + 0x20000018 0x08001bd8 0x00000004 Data RW 3349 .data mc_w.l(mvars.o) + 0x2000001c - 0x00000400 Zero RW 17 .bss main.o + 0x2000041c - 0x00000054 Zero RW 191 .bss i2c.o + 0x20000470 - 0x00000048 Zero RW 233 .bss usart.o + 0x200004b8 - 0x00000048 Zero RW 381 .bss stm32f1xx_hal_timebase_tim.o + 0x20000500 - 0x00000200 Zero RW 2 HEAP startup_stm32f103xb.o + 0x20000700 - 0x00000400 Zero RW 1 STACK startup_stm32f103xb.o ============================================================================== @@ -1536,14 +1581,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name + 376 20 0 4 0 2172 drv_at24cxx.o 96 10 0 0 0 759 gpio.o 156 26 0 0 84 1381 i2c.o - 156 12 0 0 128 434978 main.o - 36 8 236 0 1024 740 startup_stm32f103xb.o - 64 14 0 12 0 4302 stm32f1xx_hal.o + 192 18 0 0 1024 435596 main.o + 36 8 236 0 1536 740 startup_stm32f103xb.o + 100 18 0 12 0 4810 stm32f1xx_hal.o 160 24 0 0 0 27554 stm32f1xx_hal_cortex.o 482 32 0 0 0 2396 stm32f1xx_hal_gpio.o - 380 16 0 0 0 2943 stm32f1xx_hal_i2c.o + 2388 54 0 0 0 10402 stm32f1xx_hal_i2c.o 60 8 0 0 0 762 stm32f1xx_hal_msp.o 1312 94 18 0 0 5053 stm32f1xx_hal_rcc.o 594 24 0 0 0 6392 stm32f1xx_hal_tim.o @@ -1555,9 +1601,9 @@ Image component sizes 168 20 0 0 72 1430 usart.o ---------------------------------------------------------------------- - 4104 318 312 16 1384 497745 Object Totals + 6560 386 312 20 2788 508502 Object Totals 0 0 32 0 0 0 (incl. Generated) - 12 0 2 0 4 0 (incl. Padding) + 12 0 2 0 0 0 (incl. Padding) ---------------------------------------------------------------------- @@ -1573,20 +1619,22 @@ Image component sizes 8 4 0 0 0 0 entry9a.o 30 0 0 0 0 0 handlers.o 36 8 0 0 0 68 init.o + 108 16 0 0 0 84 malloc.o 36 0 0 0 0 108 memseta.o + 0 0 0 8 0 0 mvars.o ---------------------------------------------------------------------- - 124 16 0 0 0 176 Library Totals + 232 32 0 8 0 260 Library Totals 2 0 0 0 0 0 (incl. Padding) ---------------------------------------------------------------------- Code (inc. data) RO Data RW Data ZI Data Debug Library Name - 122 16 0 0 0 176 mc_w.l + 230 32 0 8 0 260 mc_w.l ---------------------------------------------------------------------- - 124 16 0 0 0 176 Library Totals + 232 32 0 8 0 260 Library Totals ---------------------------------------------------------------------- @@ -1595,15 +1643,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 4228 334 312 16 1384 495425 Grand Totals - 4228 334 312 16 1384 495425 ELF Image Totals - 4228 334 312 16 0 0 ROM Totals + 6792 418 312 28 2788 505486 Grand Totals + 6792 418 312 28 2788 505486 ELF Image Totals + 6792 418 312 28 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 4540 ( 4.43kB) - Total RW Size (RW Data + ZI Data) 1400 ( 1.37kB) - Total ROM Size (Code + RO Data + RW Data) 4556 ( 4.45kB) + Total RO Size (Code + RO Data) 7104 ( 6.94kB) + Total RW Size (RW Data + ZI Data) 2816 ( 2.75kB) + Total ROM Size (Code + RO Data + RW Data) 7132 ( 6.96kB) ============================================================================== diff --git a/MDK-ARM/STM32-AT24C256/STM32-AT24C256_STM32-AT24C256.dep b/MDK-ARM/STM32-AT24C256/STM32-AT24C256_STM32-AT24C256.dep index f7db24c..f9ba03a 100644 --- a/MDK-ARM/STM32-AT24C256/STM32-AT24C256_STM32-AT24C256.dep +++ b/MDK-ARM/STM32-AT24C256/STM32-AT24C256_STM32-AT24C256.dep @@ -1,7 +1,7 @@ Dependencies for Project 'STM32-AT24C256', Target 'STM32-AT24C256': (DO NOT MODIFY !) CompilerVersion: 5030024::V5.03 [Build 24]::.\ARMCC F (startup_stm32f103xb.s)(0x672C96C5)(--cpu Cortex-M3 -g --apcs=interwork --pd "__MICROLIB SETA 1" -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include --pd "__UVISION_VERSION SETA 538" --pd "_RTE_ SETA 1" --pd "STM32F10X_MD SETA 1" --pd "_RTE_ SETA 1" --list startup_stm32f103xb.lst --xref -o stm32-at24c256\startup_stm32f103xb.o --depend stm32-at24c256\startup_stm32f103xb.d) -F (../Core/Src/main.c)(0x672CBCD7)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ..\BSP -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o stm32-at24c256\main.o --omf_browse stm32-at24c256\main.crf --depend stm32-at24c256\main.d) +F (../Core/Src/main.c)(0x672F571E)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ..\BSP -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o stm32-at24c256\main.o --omf_browse stm32-at24c256\main.crf --depend stm32-at24c256\main.d) I (../Core/Inc/main.h)(0x672C96C3) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66DEEC26) I (../Core/Inc/stm32f1xx_hal_conf.h)(0x672C96C3) @@ -34,7 +34,7 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66DEEC26) I (../Core/Inc/i2c.h)(0x672C96C2) I (../Core/Inc/usart.h)(0x672C96C2) I (../Core/Inc/gpio.h)(0x672C96C2) -I (..\BSP\drv_at24cxx.h)(0x672CC779) +I (..\BSP\drv_at24cxx.h)(0x672F56E7) F (../Core/Src/gpio.c)(0x672C96C1)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ..\BSP -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o stm32-at24c256\gpio.o --omf_browse stm32-at24c256\gpio.crf --depend stm32-at24c256\gpio.d) I (../Core/Inc/gpio.h)(0x672C96C2) I (../Core/Inc/main.h)(0x672C96C3) @@ -682,8 +682,8 @@ I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_pwr.h)(0x66DEEC26) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim.h)(0x66DEEC26) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_tim_ex.h)(0x66DEEC26) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_uart.h)(0x66DEEC26) -F (..\BSP\drv_at24cxx.c)(0x672CC754)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ..\BSP -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o stm32-at24c256\drv_at24cxx.o --omf_browse stm32-at24c256\drv_at24cxx.crf --depend stm32-at24c256\drv_at24cxx.d) -I (..\BSP\drv_at24cxx.h)(0x672CC779) +F (..\BSP\drv_at24cxx.c)(0x672F56E2)(--c99 -c --cpu Cortex-M3 -D__MICROLIB -g -O3 --apcs=interwork --split_sections -I ../Core/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc -I ../Drivers/STM32F1xx_HAL_Driver/Inc/Legacy -I ../Drivers/CMSIS/Device/ST/STM32F1xx/Include -I ../Drivers/CMSIS/Include -I ..\BSP -I.\RTE\_STM32-AT24C256 -IC:\Users\gxms0\AppData\Local\Arm\Packs\ARM\CMSIS\5.9.0\CMSIS\Core\Include -IC:\Users\gxms0\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.0\Device\Include -D__UVISION_VERSION="538" -D_RTE_ -DSTM32F10X_MD -D_RTE_ -DUSE_HAL_DRIVER -DSTM32F103xB -o stm32-at24c256\drv_at24cxx.o --omf_browse stm32-at24c256\drv_at24cxx.crf --depend stm32-at24c256\drv_at24cxx.d) +I (..\BSP\drv_at24cxx.h)(0x672F56E7) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal.h)(0x66DEEC26) I (../Core/Inc/stm32f1xx_hal_conf.h)(0x672C96C3) I (../Drivers/STM32F1xx_HAL_Driver/Inc/stm32f1xx_hal_rcc.h)(0x66DEEC26) diff --git a/MDK-ARM/STM32-AT24C256/drv_at24cxx.crf b/MDK-ARM/STM32-AT24C256/drv_at24cxx.crf index a33963f6bcda27a0483c02554c03dc15c4749ccb..0d3af9ac6bacecf7880e9cf5391ec36c3c20f9de 100644 GIT binary patch delta 4239 zcmZ9Q33wDm8iwm1CX-GKNjMh?N>$ggyYhfQOb~Hl10f=YBXX?-<76Zgh=#6~L|0+m z=@2ftuT zb!VBED>tOG8|x#Nb=EzDrPpgmx_i%2xAY!x)U3f|LSCQ#Il;jr2C*Ua%^S2tPa8HM zKZp71TQ`Ww*?sc*WDgiVD(Dq#|Gl73zkWl5eMb$CHM22td3TxJ($UJL?)v474C)uy z-Kf^1o#(0~eN3=u!UHTBqv35#V*V3W+&HN0I6U!WD83Vx5h^O05H2fY<@GHti3wT^ zTKA8~%TNhA~qm27}}8_G+_VYey9ZE+j_I zHcZTCuw{5tb=LB04`EDk>a`uP$Y-ti@uAXEHHPiQe0K6?&rxxDqS$p>@m_;+_x;7i ztQ8u%SjS%)w%BytvIzs^DF1}Aa`vzKBxW?U67iL=sk%Z#-ap1FXHTQii$dJEaHxol zY^;=qi_2NB#!7jpq?Gm6R=j4WG??q470(qJrbEu>;`=p|UVLeQAU> zHU>Ci^Z3Bg#E$nmMB^Qj5@{&X7^JX632q8oMY0&Vhmj%<{i(L~gMoFv5qCPY%gts_ z5f$Lo5KyfJ0W#Ox*n+uQdcD14N|UapcPp`4h^quJ1O9%P+s)R%)r1D z3OZEe#{N&|AW3)vpM;x{j*YU<)TZL=*rD5S!P!*;~g672H4#E z)PejJH<3M>ANLn7a~wMBCbN0@ao2JAXLLH!p|-VqMjGTdIwCvDp)R#wv z5=aRSg=_DbVXSPDnt^ODq`pYG4qX*(JKMO!k1;Q;ePFgBd#7fipf^%B(m;o8EE>RNvzT%S{U5XF zHm-|TAamTJTrOKUv<%IBZ_!|fPC)*_qLEytIJ6M6c*3H5p5wM+CoLMyWwK9ZU?wmT zBnv3ywqZY7bSG*z(sOmuQ52oBB2<75t}Hv?Ca}{M1>x1_ce}DP78Sy!Po|T8Zt|X+ zN#e=!dO~M-vN84gaq;?37KJbl-+4Iu*`gvYTlr)rmcXkvkVd&C`^6$7%xSD%&FDuT z8m%KP#`&wIm7Sp9EWOG*FygZw$pk(T@;OV#?z^D#9=!v);L+P|3+5%h0gc$Vf#?yb7czB(f(kP_27?SkIa&D46~NF%-7ICL;wi8OT3 zj$Z{gGnDA=&=7YZdnCGhmvLL@B`oetC2rv>0JD_n&zA#cD=~;K2Fy`nFkb|it3gM? zqe=|n^W9W7Pl-G(&cvbZ1p$YuQ8r(Rk$eWaS)c@V4|j*Kh0#g7jX`lC7+e_Lx!brs zQs4@

                                                                                                              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 delta 5056 zcmaJ@4N#QVxjyIH{l5JUF0cqFgdZ1{AX+2~A=Wl(ATE2wNF+!Tl8S5M(vSuXB2khH zN*c^1GuVKuzJ`E7L#&P1_!G0HZH$?5rZ$64Y-z_y)z};F)I{vq8ExquWA1alvkPX% zTxJgMd*0_c?|II9e!lIvk$dubZnvA~^<>e;#v{7l>36!n`PZ#)v~qn#N4vSA@k3_) z%|G&T%HbPqN&Fv{{PUZ&n=i*PN4e&Ssqg7bs@MFb*Eo0kFBuw?2^(^PrPGo9&|H`&$F=tMVvG!9NzvNAtXQq|L?r&iW zFaAor&r4>nOMCy&M`<4&TJja85C4NXPkqT=aa`$2-{OD6uWgz3zg_>1j%s95!U5lX zzLbk4+2)mwgw2-?yMCp^^|M2N8DmWIywu6+CCBi$Tg#ks(Ch#3@~zi`>4S&9_udtn z_QfADZ1U#Ic0&!*JOf$ALOI0lU-DJCHG$jzKZozurrT3eRBf#PQ}Dkuv9-g#$@WTU zh2hgaW1&696TILscf89(L1$Bpq{zSdBcXheS`_Wp*FRIVlDR?>s(&&VY+^1Chrc`! zXsTQLd_yyHZAO<@CWW3AFU!2wMB0?h_|od4;st@nnx1K{V?5zSIsCJbZ_@ptWidW} zIdsrmqZLSQO3GK9FO1Nu>YfZn*#%(FoH{X0!i&5zpFiHT7BhYtdUet!ULA^e{*kW^ zec|lk%R*=39>@{~HxhNtNHY>`F-EHGg+w@xM4cN`G|o65ldO%Iie(c7V)PRF;p7AfRBVW#s4S&dx*OpSRnUOV{I}Wcgf#yIn!&{QY+Jud!b#{vG zn;j_i`KsLBmQpX{G2aRX7MDHjE@FJrx1*0$l~ivi8A->V#edf%@}dQSW|pvyd$cu}DtQ}$=e{w2m5BDP7||7L7^ zq`x!LKN;!&A<{nwE5~1C;h05Y4^KEC12v2tmv$**r|E--#OM4{c-LaFJ}z}%1pX*u zPe<(8aOsc5KA!a41*LQ-RsrYeieqGZl-906f?7Xw%B3bq$Yt zgMq?uPp#NuCf^AvqQZJHCH(MDMA3H<9$77B(nqU>e#c2^*Gpn5d7l#^Jhocw{;nj2 zjUtUcSuYa4J4x7R5xI^#E`Ull3U~6I)?7##D}|paqucytrz=aPbk0coS0E_91r{Tkv! z^vG7>;e9l#M@-kpaD-Jv8?;eD4@kIrQPL2dk|a}S%tvQ>#Cl#SjYrEd=(Oav8@MG_ zNdFY>V&$eg7^|T|5cOubEy^8*+o9Y>oZ+*U%NNrA5TWBf)2!_niJ{dGvBb2r890C#Sdtmt2Rp}H%J zmLn9Kl089QLywS1)AJBYr!|BM`)0_xTLZdh&@DNj0Uw`e_9iu;6`>qT*nt59aJ#AS z9g#!*uZ!ui$M0bbOSH5!TWoFQ9{T(15Yybw*npLrC(*oKEPc)v#yoO!aOir4i!YEl-VFTdZl!Z&D+Fs$%u7#-J4al3jbwXYnop~L2+Z#yYds}CpMrS*P zNbKdXJ}zyel6EspnSGE}a!hCKYT3t+(P|lT9@p9ZO50E$v@N6$`;fK<;T5V@M}McY zz1ARo#Yr8voe=e^=?-CpZpgDUlC zKQ7eXTDk?ceiZQoYTfnA9oXbGyRdF}#}&D2Cv>z@|4!)W3OI1YKPHrJ7^Tx&o^r6u z5iu(rEKiC_r2IFLzB5Sk-xRsVjvz8+Qp|wx*k5+wBFSymKZQG{*u#>2auZ#U?6aF3 z%&eiAJHbBhz#d!d#tRM<%F5j^0QR-dX~O{6?4pD1m`c6-!2Z{GZr7LtJ8tc-a~IeL z#wc?a*vApSF6h_2B3pk?Go#6UHj{Z(@*&W14?f%_rW+l0ljR8dWG`~ZnygtVNslw} z09Z;E??&!{cv`+2xevsfY+)q#Sc(~4W@D-ul`;xCchT3ok=uQj$!^BdPY01ZZ(PU_ z+!Eriqk>&;A@^uL?R*QlZ|0lKZBuNoOr5YB8w4-1$oxTME~a^d^86K=I4GsP(G41W za9m6J0+XGLlpG_pOFp_Vi2c9rlbNh(=e{Kp?Byogsur8K$Yj?eWq%uU;EcZw_4$iU zb}d!u`N?=?y5TmeG|oLBGs@Tlvg=usEpw`(H>@9LUxaJDo{2OBwsy3Ij_rY%lP##a zI*g-mBc~-E}2eN67pWP+mh{OH%zmO;(wqNJkSz zWFvV#J--(u7xlv!?i9gXG4xfR@X%ER^iGdZ4?RxvFEOK&=KT`k^c=w!DtSS;jjB!~ zaIFsnZiOT-rt^}#;%>oG=nNhyJG>IbJqj0Jkm!TL=Th4{cqM9b#rP|+PCa)G2-(%5 z`*verrVG}oa*V+po5-PG%M&b99r$JYFu#jd?Zf;zGo;vw%i8cg!Ir5EC*k(d8Z4Iw zDRu|~MrNS`kr%Xw4!$GO?TB=$wKfz8oGN)0`7rI5^y+&i=+7&?L4=aja^ZE;nYZye zSL_FQ&?}hy#V5ZM4-?1Z&xfcVh^=zApf_I=$#iZ%bXU_=1o;U{{uN9$&6B2q>ZEC< z&C+zy5o!A9JdAd!oQ!uxE*|z-?_!?xMZ)?8Dd%xg!n>GfF||pg`Zgp^AsuuI2om0q zrjIfXfHwqQv#=?;;WdbYF2c$ z{Sv9Z4e=;s8C?Z}%}zcH(?IiJVw-Q{&7!Qs(1S8dq~kW^9;K&?&P!wvi2T(qYy1O+ z{FY|D2c&q(1X8LHR9_+^RTE167NVW2qSNo8cJ`$c&_imFlQNEA&{iOMk%^Wnao7rp zoB$G)P!mbFl#U%iy6d+=cm`#KofP{%2IW-ajz-eeE2NKVC2}1|G#!3xsWJN{;`5gRUR!ESpN~G&C!RADe9SS)? z^Ns=;eq6A<5oACi&9qq}T~AD?-W#3gyhKg_iQcyT7NQR$R6>Ox2v4l@#}nuwH7<$T mKESyA+mNtAis=*(T%sG&;FsaAVJfK%M&I^xdCBEh_WuCp3t3_S diff --git a/MDK-ARM/STM32-AT24C256/main.crf b/MDK-ARM/STM32-AT24C256/main.crf index f0fc49cece73a207f2116cf6301cfdbd092bdabf..2e2f76babf53ab5d9d55e3714b6d52749ccc7e41 100644 GIT binary patch delta 2146 zcmZ8h3v5(H6rFjUeLK5sOFx?;q0nK5C>jHFEgu1+xPTULTWrzrSlDhq=!(q4Z9x#E zkB=1577CFUD<1`aprA(OK`IzOC}0el7=pV&Vo(tk6v0ybfOj4%0!?Rg&bfEy-gobv z*|JESUn~NLeF$k7iPa|RdMi*vZ$7?l_bwg5UyrYg5iS@oU|`rx)(@;q)()H*Psjna zXv6l5M|4R$ZEmL+mIf;e7J=n)+Nu6|RZ}jiKnNp5=Y~qdp}|AY#Z-5YAR6*2X;29o zag7o}!>>_F(XeZjVW{+KrDO;ie6?~*2n|g&T@`FdDGH@jMk>6UQAubRWR#al(pNF+ zt}(I5qSPs8$IT}nA(79?6PTkQB$Y%JeUa8q7x9E<#3F&PD$f+b;sy{tnk zAWH5?aJ4dOvc7f>TAIp6xqUoPc#j$(=z0KAsuFK8wFFv_DnhgfX#W*v{=MOFth}MN zOePvD8WU&oHHBLrXt5D^>lY!VSoR)KA}60SvZ{bqRp6BTli5Yv``O?@a)7E z_Bn}N`j^}5yx>d$-D13YV=*{iP&ZUp!xY&aS49)%4XfPUeu|3oj$ z5~~3Z0@LnnZwF;A9RPGsw)edZy}9|&e%(2=-+SYYo)^Ho(k5rTLtHrCx&4ecHOapQ zWT9+vN0iZhq|Yj><){7VC4-bQ(T25bATJwas0yG_+ZUm1SUc9vg1prrVJ6mL?G%vL z3^JC9^;kOrH5G|DMhTbs9R29O)hTR;Y{X8uI zBlepS8V#zl^;I8Zkf$&cD}na5Svd{WtpcclXr-s{w&ERy{ zAV1|M*s{Rl!%Sisp5J%Sx=3!})E|yuUCb=>oJmns)(o zD6gujD(1m-AzBm7TcR{q> zZKKH?&q0ujoPRp#EbQ3@c#56eO;6`M15j*MKObYZ%zk7KWdT1rDvJe3)5$`+eGiQ` z`O$I7eT?5_;WqftA0^MW@O6MrNFKCsE})+zFS4)~(9e>?=8J%Sk^CkLp96GK@{sDC z7oC#)Rtx_C=vT?_u<$o&9sMTx-E1g;(~_65!2o`jd>p$4z!}NMv!)VoKP!2}!k>Zm zhvfIMegHZpH&`)%bCOSCy#aJd9%a1%oR@qm>j~gb$z!Y#z+aMAvmk)KC6BXw0RKo{ z$8yp+=z`?+j6ZOxq$YwO!fHm1k~&zRk`IZ>H)q_x=6rjS?TU*g(*rQN)@apFk1?9_>|csMleyM zi3C}Z_MxXuF_MWHBo{uR#S~$-KAn$RO;OE6H5S!bq6WkN)U-e=O&BpIU~J(n($tt< zIg(-xCbz+pxylsF!3*xWy58zmtIMqJFuWDyMaZysn<-$F1Wei3G)1dTu@5HZjl%>X H4e@^g8o_1E delta 1915 zcmY+E4NMeA6vt5TSZ&jx64W7a&PndzmJ=_ z_hxpaneExgZ2gf4aTu|7KSE#GD#*-{t%r{a2tFAX(-2O`$jEf~1HQ~90dHnqd5x0c zMHfcC9?iJY(oNdB2?pc9BEWbsi`GqqpWIDJs1PBHkUhtpHQSLjCtJ?R%`HNn(3Ef> zeq2D#bLOL@P)azMI6hchmyB0a+rLKH8!lB9Gl(?~!Mb1U$*4&}kaEv&evU_=<6LqRvN`;iBA;q$y zCd-R%hvE^nix_c33MsFw4EXBn(V9@=m@{fsd9_cjuX)plJ`GJAb4Sf~CVQoW)9 zWy2~@enY7A)t0YAi$iua$rut6Tv-me0lE;2VpG6jBb9+Q@-$=Z8KD?7a}xOY(Y<&L zZ3oR+jGdqt)hbyy$8c1|>Z&Ta-ltTej!*)Mod+qwus7iIu0d_;;xb`!?j}E1gIZx4 zBt^t1z1bgMVkdsOUGQP9?}{542!9dkOn4#rGps-;Uc3jQL9h{eFDx?UuqQcuuJP|6td=8 zdT|ijw4aX(zhILesXfPpR1=5QAC3uGCSE<#CmbA2*q|LgE^H9kW++^*+t41HwZlqH zxenxBn{{hguGNZ838mQ51(~U8?`dI|r5o_RDxDE_B<=+K4GIQr)=N&;xF?U&?hz?48KIK~@gP2$0!8XCtbM$ERrNoyQ z>jiO%dMlqywX_2+R-Y*#o8^t$<|ZbO2f)a!TU&Ktu&O4Dz(Z z?+wc#kY^-*AIJ|OIso#l#P1Kwo9e>?l4`bISD!5;>1OM{R~Hr%$!vWO0+vxCfB31#?BZ6}{()dxR;kC!kJG++*-VPmNX@ z9qiYW(EFaa7LM{QMiX`zO=yLmwrQEKk%ib|O!c1DxSX8iEXHse)m#sG&YW4T_PU2G zNHRG=>kW_xgiIMd#>=$c_2i8Nz8B*pZPqrD7-2aC#a-IMPVz}Ie+biVZSVjI*eyST zJ58(XBdf6G2ym%-@i-Z_cLK6q#^WTW+tmIOghpD?B_)jov0dfABc3J!T~kCtgSvpO zD`FIV3*d$#M$`2GHx1u#MMVvtE0d6T`0#yKp6mc@G2Dq(= zQ>YJMSP_${7vPQ}rcxQ;t|F$<5`cS(DAMJ+y$SuLh>VKUM*ndiH2QDFPEM z1@yqAL7)+n27n$a#udK-^vI;^K>wI@4d`E!t^z$)j90)Fp#My|3>5SmzB1j~gf^Ne z>l0A3pUs9=xxt#DU3w&H@w2&W%@!NhLAr6WE1Fe28*#H0l diff --git a/MDK-ARM/STM32-AT24C256/main.o b/MDK-ARM/STM32-AT24C256/main.o index bbdd2938758cc0e9f909ed55eb20a19120d012b3..565095262df0f8a74f6228b6a7473800bce98e57 100644 GIT binary patch delta 13542 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 delta 13413 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 Y#0EwR9EC5viZ{$j_&