完成flash对结构体的读写
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
#include "stm32f10x.h"
|
||||
#include "iic.h"
|
||||
|
||||
#include "flash.h"
|
||||
|
||||
|
||||
|
||||
@@ -23,6 +23,7 @@ int main(){
|
||||
|
||||
|
||||
test();
|
||||
flash_Test();
|
||||
|
||||
while(1);
|
||||
|
||||
|
||||
90
DEV/flash.c
Normal file
90
DEV/flash.c
Normal file
@@ -0,0 +1,90 @@
|
||||
#include "flash.h"
|
||||
|
||||
#include "stm32f10x.h"
|
||||
#include <string.h>
|
||||
|
||||
|
||||
|
||||
typedef struct {
|
||||
uint32_t version; // 序号/标志位
|
||||
uint32_t write_count;
|
||||
uint32_t error_count;
|
||||
float temperature;
|
||||
uint32_t crc32; // 最后一个成员:CRC校验
|
||||
} FlashData_t;
|
||||
|
||||
|
||||
|
||||
// 最后一页页号(从0开始)
|
||||
#define FLASH_PAGE_NUM 63
|
||||
|
||||
// 每页大小
|
||||
#define FLASH_PAGE_SIZE 1024
|
||||
|
||||
// Flash起始地址
|
||||
#define FLASH_BASE_ADDR 0x08000000
|
||||
|
||||
// 最后一页的地址
|
||||
#define FLASH_LAST_PAGE_ADDR (FLASH_BASE_ADDR + FLASH_PAGE_NUM * FLASH_PAGE_SIZE)
|
||||
// 即:0x08000000 + 63 * 1024 = 0x0800FC00
|
||||
|
||||
|
||||
#define FLASH_TARGET_ADDR ((uint32_t)FLASH_LAST_PAGE_ADDR) // 最后1KB起始地址
|
||||
|
||||
|
||||
|
||||
// 擦除对应页(1KB)
|
||||
void Flash_ErasePage(uint32_t page_addr) {
|
||||
FLASH_Unlock();
|
||||
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
|
||||
FLASH_ErasePage(page_addr);
|
||||
FLASH_Lock();
|
||||
}
|
||||
|
||||
// 写入结构体到 Flash(页擦除+按字写入)
|
||||
void Flash_WriteStruct(uint32_t addr, void* data, uint16_t size) {
|
||||
uint16_t i;
|
||||
uint32_t* pData = (uint32_t*)data;
|
||||
|
||||
FLASH_Unlock();
|
||||
FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);
|
||||
FLASH_ErasePage(addr); // 注意:必须按页擦除
|
||||
|
||||
for (i = 0; i < (size + 3) / 4; i++) { // 以 4 字节为单位写入
|
||||
FLASH_ProgramWord(addr + i * 4, pData[i]);
|
||||
}
|
||||
|
||||
FLASH_Lock();
|
||||
}
|
||||
|
||||
// 从 Flash 读取结构体
|
||||
void Flash_ReadStruct(uint32_t addr, void* data, uint16_t size) {
|
||||
memcpy(data, (void*)addr, size);
|
||||
}
|
||||
FlashData_t readData;
|
||||
|
||||
|
||||
|
||||
|
||||
void flash_Test(){
|
||||
|
||||
FlashData_t myData = {
|
||||
.write_count = 123,
|
||||
.error_count = 456,
|
||||
.temperature = 36.5f
|
||||
};
|
||||
|
||||
FlashData_t readData;
|
||||
|
||||
// 写入结构体
|
||||
Flash_WriteStruct(FLASH_TARGET_ADDR, &myData, sizeof(FlashData_t));
|
||||
|
||||
// 读取结构体
|
||||
Flash_ReadStruct(FLASH_TARGET_ADDR, &readData,sizeof(FlashData_t));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
10
DEV/flash.h
Normal file
10
DEV/flash.h
Normal file
@@ -0,0 +1,10 @@
|
||||
#ifndef _FLASH_H_
|
||||
#define _FLASH_H_
|
||||
|
||||
|
||||
|
||||
|
||||
void flash_Test();
|
||||
|
||||
|
||||
#endif
|
||||
10
DEV/iic.c
10
DEV/iic.c
@@ -443,17 +443,7 @@ void test(){
|
||||
|
||||
OLED_Refresh();
|
||||
|
||||
while(1){
|
||||
|
||||
//OLED_Fill(0xFF); // 清屏
|
||||
//delay_ms_simple(1000);
|
||||
|
||||
//OLED_Fill(0x00);
|
||||
//delay_ms_simple(1000);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ Section Cross References
|
||||
main.o(.text.main) refers to stm32f10x_gpio.o(.text.GPIO_Init) for GPIO_Init
|
||||
main.o(.text.main) refers to stm32f10x_gpio.o(.text.GPIO_ResetBits) for GPIO_ResetBits
|
||||
main.o(.text.main) refers to iic.o(.text.test) for test
|
||||
main.o(.text.main) refers to flash.o(.text.flash_Test) for flash_Test
|
||||
main.o(.ARM.exidx.text.main) refers to main.o(.text.main) for [Anonymous Symbol]
|
||||
iic.o(.ARM.exidx.text.delay) refers to iic.o(.text.delay) for [Anonymous Symbol]
|
||||
iic.o(.ARM.exidx.text.delay_us_simple) refers to iic.o(.text.delay_us_simple) for [Anonymous Symbol]
|
||||
@@ -82,6 +83,23 @@ Section Cross References
|
||||
iic.o(.text.test) refers to iic.o(.text.lcd_show_all_ascii_lowercase) for lcd_show_all_ascii_lowercase
|
||||
iic.o(.text.test) refers to iic.o(.text.OLED_Refresh) for OLED_Refresh
|
||||
iic.o(.ARM.exidx.text.test) refers to iic.o(.text.test) for [Anonymous Symbol]
|
||||
flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_Unlock) for FLASH_Unlock
|
||||
flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_ClearFlag) for FLASH_ClearFlag
|
||||
flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_ErasePage) for FLASH_ErasePage
|
||||
flash.o(.text.Flash_ErasePage) refers to stm32f10x_flash.o(.text.FLASH_Lock) for FLASH_Lock
|
||||
flash.o(.ARM.exidx.text.Flash_ErasePage) refers to flash.o(.text.Flash_ErasePage) for [Anonymous Symbol]
|
||||
flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_Unlock) for FLASH_Unlock
|
||||
flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ClearFlag) for FLASH_ClearFlag
|
||||
flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ErasePage) for FLASH_ErasePage
|
||||
flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_ProgramWord) for FLASH_ProgramWord
|
||||
flash.o(.text.Flash_WriteStruct) refers to stm32f10x_flash.o(.text.FLASH_Lock) for FLASH_Lock
|
||||
flash.o(.ARM.exidx.text.Flash_WriteStruct) refers to flash.o(.text.Flash_WriteStruct) for [Anonymous Symbol]
|
||||
flash.o(.text.Flash_ReadStruct) refers to rt_memcpy_v6.o(.text) for __aeabi_memcpy
|
||||
flash.o(.ARM.exidx.text.Flash_ReadStruct) refers to flash.o(.text.Flash_ReadStruct) for [Anonymous Symbol]
|
||||
flash.o(.text.flash_Test) refers to flash.o(.rodata..L__const.flash_Test.myData) for .L__const.flash_Test.myData
|
||||
flash.o(.text.flash_Test) refers to flash.o(.text.Flash_WriteStruct) for Flash_WriteStruct
|
||||
flash.o(.text.flash_Test) refers to flash.o(.text.Flash_ReadStruct) for Flash_ReadStruct
|
||||
flash.o(.ARM.exidx.text.flash_Test) refers to flash.o(.text.flash_Test) for [Anonymous Symbol]
|
||||
misc.o(.ARM.exidx.text.NVIC_PriorityGroupConfig) refers to misc.o(.text.NVIC_PriorityGroupConfig) for [Anonymous Symbol]
|
||||
misc.o(.ARM.exidx.text.NVIC_Init) refers to misc.o(.text.NVIC_Init) for [Anonymous Symbol]
|
||||
misc.o(.ARM.exidx.text.NVIC_SetVectorTable) refers to misc.o(.text.NVIC_SetVectorTable) for [Anonymous Symbol]
|
||||
@@ -411,6 +429,7 @@ Section Cross References
|
||||
system_stm32f10x.o(.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.rodata.AHBPrescTable) for AHBPrescTable
|
||||
system_stm32f10x.o(.ARM.exidx.text.SystemCoreClockUpdate) refers to system_stm32f10x.o(.text.SystemCoreClockUpdate) for [Anonymous Symbol]
|
||||
system_stm32f10x.o(.ARM.exidx.text.SetSysClockTo72) refers to system_stm32f10x.o(.text.SetSysClockTo72) for [Anonymous Symbol]
|
||||
rt_memcpy_v6.o(.text) refers to rt_memcpy_w.o(.text) for __aeabi_memcpy4
|
||||
__main.o(!!!main) refers to __rtentry.o(.ARM.Collect$$rtentry$$00000000) for __rt_entry
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000A) for __rt_entry_li
|
||||
__rtentry.o(.ARM.Collect$$rtentry$$00000000) refers (Special) to __rtentry2.o(.ARM.Collect$$rtentry$$0000000D) for __rt_entry_main
|
||||
@@ -552,6 +571,13 @@ Removing Unused input sections from the image.
|
||||
Removing iic.o(.ARM.exidx.text.OLED_ShowChar), (8 bytes).
|
||||
Removing iic.o(.ARM.exidx.text.lcd_show_all_ascii_lowercase), (8 bytes).
|
||||
Removing iic.o(.ARM.exidx.text.test), (8 bytes).
|
||||
Removing flash.o(.text), (0 bytes).
|
||||
Removing flash.o(.text.Flash_ErasePage), (30 bytes).
|
||||
Removing flash.o(.ARM.exidx.text.Flash_ErasePage), (8 bytes).
|
||||
Removing flash.o(.ARM.exidx.text.Flash_WriteStruct), (8 bytes).
|
||||
Removing flash.o(.ARM.exidx.text.Flash_ReadStruct), (8 bytes).
|
||||
Removing flash.o(.ARM.exidx.text.flash_Test), (8 bytes).
|
||||
Removing flash.o(.bss.readData), (20 bytes).
|
||||
Removing misc.o(.text), (0 bytes).
|
||||
Removing misc.o(.text.NVIC_PriorityGroupConfig), (28 bytes).
|
||||
Removing misc.o(.ARM.exidx.text.NVIC_PriorityGroupConfig), (8 bytes).
|
||||
@@ -570,17 +596,13 @@ Removing Unused input sections from the image.
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_HalfCycleAccessCmd), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_PrefetchBufferCmd), (32 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_PrefetchBufferCmd), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_Unlock), (30 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_Unlock), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_UnlockBank1), (30 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_UnlockBank1), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_Lock), (18 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_Lock), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_LockBank1), (18 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_LockBank1), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_ErasePage), (106 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ErasePage), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_WaitForLastOperation), (94 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_WaitForLastOperation), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_EraseAllPages), (92 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_EraseAllPages), (8 bytes).
|
||||
@@ -592,7 +614,6 @@ Removing Unused input sections from the image.
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_EraseOptionBytes), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_GetReadOutProtectionStatus), (50 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetReadOutProtectionStatus), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_ProgramWord), (160 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ProgramWord), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_ProgramHalfWord), (98 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ProgramHalfWord), (8 bytes).
|
||||
@@ -614,11 +635,9 @@ Removing Unused input sections from the image.
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ITConfig), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_GetFlagStatus), (96 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetFlagStatus), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_ClearFlag), (20 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_ClearFlag), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_GetStatus), (104 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetStatus), (8 bytes).
|
||||
Removing stm32f10x_flash.o(.text.FLASH_GetBank1Status), (104 bytes).
|
||||
Removing stm32f10x_flash.o(.ARM.exidx.text.FLASH_GetBank1Status), (8 bytes).
|
||||
Removing stm32f10x_gpio.o(.text), (0 bytes).
|
||||
Removing stm32f10x_gpio.o(.text.GPIO_DeInit), (276 bytes).
|
||||
@@ -1093,7 +1112,7 @@ Removing Unused input sections from the image.
|
||||
Removing system_stm32f10x.o(.data.SystemCoreClock), (4 bytes).
|
||||
Removing system_stm32f10x.o(.rodata.AHBPrescTable), (16 bytes).
|
||||
|
||||
570 unused section(s) (total 23036 bytes) removed from the image.
|
||||
570 unused section(s) (total 22586 bytes) removed from the image.
|
||||
|
||||
==============================================================================
|
||||
|
||||
@@ -1136,6 +1155,8 @@ Image Symbol Table
|
||||
../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE
|
||||
../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE
|
||||
../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE
|
||||
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_v6.o ABSOLUTE
|
||||
../clib/memcpset.s 0x00000000 Number 0 rt_memcpy_w.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE
|
||||
../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE
|
||||
@@ -1157,6 +1178,7 @@ Image Symbol Table
|
||||
GPIO_STM32F10x.c 0x00000000 Number 0 gpio_stm32f10x.o ABSOLUTE
|
||||
RTE/Device/STM32F103C8/startup_stm32f10x_md.s 0x00000000 Number 0 startup_stm32f10x_md.o ABSOLUTE
|
||||
dc.s 0x00000000 Number 0 dc.o ABSOLUTE
|
||||
flash.c 0x00000000 Number 0 flash.o ABSOLUTE
|
||||
iic.c 0x00000000 Number 0 iic.o ABSOLUTE
|
||||
main.c 0x00000000 Number 0 main.o ABSOLUTE
|
||||
misc.c 0x00000000 Number 0 misc.o ABSOLUTE
|
||||
@@ -1216,40 +1238,53 @@ Image Symbol Table
|
||||
.ARM.Collect$$rtexit$$00000003 0x0800018c Section 4 rtexit2.o(.ARM.Collect$$rtexit$$00000003)
|
||||
.ARM.Collect$$rtexit$$00000004 0x08000190 Section 6 rtexit2.o(.ARM.Collect$$rtexit$$00000004)
|
||||
.text 0x08000198 Section 64 startup_stm32f10x_md.o(.text)
|
||||
.text 0x080001d8 Section 0 heapauxi.o(.text)
|
||||
.text 0x080001de Section 74 sys_stackheap_outer.o(.text)
|
||||
.text 0x08000228 Section 0 exit.o(.text)
|
||||
.text 0x0800023c Section 8 libspace.o(.text)
|
||||
.text 0x08000244 Section 0 sys_exit.o(.text)
|
||||
.text 0x08000250 Section 2 use_no_semi.o(.text)
|
||||
.text 0x08000252 Section 0 indicate_semi.o(.text)
|
||||
[Anonymous Symbol] 0x08000254 Section 0 stm32f10x_gpio.o(.text.GPIO_Init)
|
||||
[Anonymous Symbol] 0x080003dc Section 0 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit)
|
||||
[Anonymous Symbol] 0x08000410 Section 0 stm32f10x_gpio.o(.text.GPIO_ResetBits)
|
||||
[Anonymous Symbol] 0x08000424 Section 0 stm32f10x_gpio.o(.text.GPIO_SetBits)
|
||||
[Anonymous Symbol] 0x08000438 Section 0 iic.o(.text.IIC_Delay)
|
||||
[Anonymous Symbol] 0x0800043c Section 0 iic.o(.text.IIC_GPIO_Init)
|
||||
[Anonymous Symbol] 0x08000484 Section 0 iic.o(.text.IIC_Send_Byte)
|
||||
[Anonymous Symbol] 0x0800050c Section 0 iic.o(.text.IIC_Start)
|
||||
[Anonymous Symbol] 0x08000550 Section 0 iic.o(.text.IIC_Stop)
|
||||
[Anonymous Symbol] 0x08000588 Section 0 iic.o(.text.IIC_Wait_Ack)
|
||||
[Anonymous Symbol] 0x08000610 Section 0 iic.o(.text.OLED_Fill)
|
||||
[Anonymous Symbol] 0x08000680 Section 0 iic.o(.text.OLED_Init)
|
||||
[Anonymous Symbol] 0x08000744 Section 0 iic.o(.text.OLED_Refresh)
|
||||
[Anonymous Symbol] 0x080007c0 Section 0 iic.o(.text.OLED_ShowChar)
|
||||
[Anonymous Symbol] 0x08000844 Section 0 iic.o(.text.OLED_WriteCommand)
|
||||
[Anonymous Symbol] 0x08000878 Section 0 iic.o(.text.OLED_WriteData)
|
||||
[Anonymous Symbol] 0x080008ac Section 0 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd)
|
||||
SetSysClock 0x080008e5 Thumb Code 8 system_stm32f10x.o(.text.SetSysClock)
|
||||
[Anonymous Symbol] 0x080008e4 Section 0 system_stm32f10x.o(.text.SetSysClock)
|
||||
SetSysClockTo72 0x080008ed Thumb Code 290 system_stm32f10x.o(.text.SetSysClockTo72)
|
||||
[Anonymous Symbol] 0x080008ec Section 0 system_stm32f10x.o(.text.SetSysClockTo72)
|
||||
[Anonymous Symbol] 0x08000a10 Section 0 system_stm32f10x.o(.text.SystemInit)
|
||||
[Anonymous Symbol] 0x08000a78 Section 0 iic.o(.text.delay_ms_simple)
|
||||
[Anonymous Symbol] 0x08000a98 Section 0 iic.o(.text.delay_us_simple)
|
||||
[Anonymous Symbol] 0x08000ac8 Section 0 iic.o(.text.lcd_show_all_ascii_lowercase)
|
||||
[Anonymous Symbol] 0x08000b54 Section 0 main.o(.text.main)
|
||||
[Anonymous Symbol] 0x08000b9c Section 0 iic.o(.text.test)
|
||||
.text 0x080001d8 Section 138 rt_memcpy_v6.o(.text)
|
||||
.text 0x08000262 Section 0 heapauxi.o(.text)
|
||||
.text 0x08000268 Section 100 rt_memcpy_w.o(.text)
|
||||
.text 0x080002cc Section 74 sys_stackheap_outer.o(.text)
|
||||
.text 0x08000316 Section 0 exit.o(.text)
|
||||
.text 0x08000328 Section 8 libspace.o(.text)
|
||||
.text 0x08000330 Section 0 sys_exit.o(.text)
|
||||
.text 0x0800033c Section 2 use_no_semi.o(.text)
|
||||
.text 0x0800033e Section 0 indicate_semi.o(.text)
|
||||
[Anonymous Symbol] 0x08000340 Section 0 stm32f10x_flash.o(.text.FLASH_ClearFlag)
|
||||
[Anonymous Symbol] 0x08000354 Section 0 stm32f10x_flash.o(.text.FLASH_ErasePage)
|
||||
[Anonymous Symbol] 0x080003c0 Section 0 stm32f10x_flash.o(.text.FLASH_GetBank1Status)
|
||||
[Anonymous Symbol] 0x08000428 Section 0 stm32f10x_flash.o(.text.FLASH_Lock)
|
||||
[Anonymous Symbol] 0x0800043c Section 0 stm32f10x_flash.o(.text.FLASH_ProgramWord)
|
||||
[Anonymous Symbol] 0x080004dc Section 0 stm32f10x_flash.o(.text.FLASH_Unlock)
|
||||
[Anonymous Symbol] 0x080004fc Section 0 stm32f10x_flash.o(.text.FLASH_WaitForLastOperation)
|
||||
[Anonymous Symbol] 0x0800055c Section 0 flash.o(.text.Flash_ReadStruct)
|
||||
[Anonymous Symbol] 0x08000578 Section 0 flash.o(.text.Flash_WriteStruct)
|
||||
[Anonymous Symbol] 0x080005dc Section 0 stm32f10x_gpio.o(.text.GPIO_Init)
|
||||
[Anonymous Symbol] 0x08000764 Section 0 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit)
|
||||
[Anonymous Symbol] 0x08000798 Section 0 stm32f10x_gpio.o(.text.GPIO_ResetBits)
|
||||
[Anonymous Symbol] 0x080007ac Section 0 stm32f10x_gpio.o(.text.GPIO_SetBits)
|
||||
[Anonymous Symbol] 0x080007c0 Section 0 iic.o(.text.IIC_Delay)
|
||||
[Anonymous Symbol] 0x080007c4 Section 0 iic.o(.text.IIC_GPIO_Init)
|
||||
[Anonymous Symbol] 0x0800080c Section 0 iic.o(.text.IIC_Send_Byte)
|
||||
[Anonymous Symbol] 0x08000894 Section 0 iic.o(.text.IIC_Start)
|
||||
[Anonymous Symbol] 0x080008d8 Section 0 iic.o(.text.IIC_Stop)
|
||||
[Anonymous Symbol] 0x08000910 Section 0 iic.o(.text.IIC_Wait_Ack)
|
||||
[Anonymous Symbol] 0x08000998 Section 0 iic.o(.text.OLED_Fill)
|
||||
[Anonymous Symbol] 0x08000a08 Section 0 iic.o(.text.OLED_Init)
|
||||
[Anonymous Symbol] 0x08000acc Section 0 iic.o(.text.OLED_Refresh)
|
||||
[Anonymous Symbol] 0x08000b48 Section 0 iic.o(.text.OLED_ShowChar)
|
||||
[Anonymous Symbol] 0x08000bcc Section 0 iic.o(.text.OLED_WriteCommand)
|
||||
[Anonymous Symbol] 0x08000c00 Section 0 iic.o(.text.OLED_WriteData)
|
||||
[Anonymous Symbol] 0x08000c34 Section 0 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd)
|
||||
SetSysClock 0x08000c6d Thumb Code 8 system_stm32f10x.o(.text.SetSysClock)
|
||||
[Anonymous Symbol] 0x08000c6c Section 0 system_stm32f10x.o(.text.SetSysClock)
|
||||
SetSysClockTo72 0x08000c75 Thumb Code 290 system_stm32f10x.o(.text.SetSysClockTo72)
|
||||
[Anonymous Symbol] 0x08000c74 Section 0 system_stm32f10x.o(.text.SetSysClockTo72)
|
||||
[Anonymous Symbol] 0x08000d98 Section 0 system_stm32f10x.o(.text.SystemInit)
|
||||
[Anonymous Symbol] 0x08000e00 Section 0 iic.o(.text.delay_ms_simple)
|
||||
[Anonymous Symbol] 0x08000e20 Section 0 iic.o(.text.delay_us_simple)
|
||||
[Anonymous Symbol] 0x08000e50 Section 0 flash.o(.text.flash_Test)
|
||||
[Anonymous Symbol] 0x08000ea0 Section 0 iic.o(.text.lcd_show_all_ascii_lowercase)
|
||||
[Anonymous Symbol] 0x08000f2c Section 0 main.o(.text.main)
|
||||
[Anonymous Symbol] 0x08000f78 Section 0 iic.o(.text.test)
|
||||
.L__const.flash_Test.myData 0x08000f8c Data 20 flash.o(.rodata..L__const.flash_Test.myData)
|
||||
.bss 0x20000000 Section 96 libspace.o(.bss)
|
||||
Heap_Mem 0x20000460 Data 512 startup_stm32f10x_md.o(HEAP)
|
||||
HEAP 0x20000460 Section 512 startup_stm32f10x_md.o(HEAP)
|
||||
@@ -1398,44 +1433,61 @@ Image Symbol Table
|
||||
USB_LP_CAN1_RX0_IRQHandler 0x080001b3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
WWDG_IRQHandler 0x080001b3 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
__user_initial_stackheap 0x080001b5 Thumb Code 0 startup_stm32f10x_md.o(.text)
|
||||
__use_two_region_memory 0x080001d9 Thumb Code 2 heapauxi.o(.text)
|
||||
__rt_heap_escrow$2region 0x080001db Thumb Code 2 heapauxi.o(.text)
|
||||
__rt_heap_expand$2region 0x080001dd Thumb Code 2 heapauxi.o(.text)
|
||||
__user_setup_stackheap 0x080001df Thumb Code 74 sys_stackheap_outer.o(.text)
|
||||
exit 0x08000229 Thumb Code 18 exit.o(.text)
|
||||
__user_libspace 0x0800023d Thumb Code 8 libspace.o(.text)
|
||||
__user_perproc_libspace 0x0800023d Thumb Code 0 libspace.o(.text)
|
||||
__user_perthread_libspace 0x0800023d Thumb Code 0 libspace.o(.text)
|
||||
_sys_exit 0x08000245 Thumb Code 8 sys_exit.o(.text)
|
||||
__I$use$semihosting 0x08000251 Thumb Code 0 use_no_semi.o(.text)
|
||||
__use_no_semihosting_swi 0x08000251 Thumb Code 2 use_no_semi.o(.text)
|
||||
__semihosting_library_function 0x08000253 Thumb Code 0 indicate_semi.o(.text)
|
||||
GPIO_Init 0x08000255 Thumb Code 390 stm32f10x_gpio.o(.text.GPIO_Init)
|
||||
GPIO_ReadInputDataBit 0x080003dd Thumb Code 52 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit)
|
||||
GPIO_ResetBits 0x08000411 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_ResetBits)
|
||||
GPIO_SetBits 0x08000425 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_SetBits)
|
||||
IIC_Delay 0x08000439 Thumb Code 2 iic.o(.text.IIC_Delay)
|
||||
IIC_GPIO_Init 0x0800043d Thumb Code 72 iic.o(.text.IIC_GPIO_Init)
|
||||
IIC_Send_Byte 0x08000485 Thumb Code 134 iic.o(.text.IIC_Send_Byte)
|
||||
IIC_Start 0x0800050d Thumb Code 68 iic.o(.text.IIC_Start)
|
||||
IIC_Stop 0x08000551 Thumb Code 54 iic.o(.text.IIC_Stop)
|
||||
IIC_Wait_Ack 0x08000589 Thumb Code 134 iic.o(.text.IIC_Wait_Ack)
|
||||
OLED_Fill 0x08000611 Thumb Code 110 iic.o(.text.OLED_Fill)
|
||||
OLED_Init 0x08000681 Thumb Code 196 iic.o(.text.OLED_Init)
|
||||
OLED_Refresh 0x08000745 Thumb Code 124 iic.o(.text.OLED_Refresh)
|
||||
OLED_ShowChar 0x080007c1 Thumb Code 132 iic.o(.text.OLED_ShowChar)
|
||||
OLED_WriteCommand 0x08000845 Thumb Code 52 iic.o(.text.OLED_WriteCommand)
|
||||
OLED_WriteData 0x08000879 Thumb Code 52 iic.o(.text.OLED_WriteData)
|
||||
RCC_APB2PeriphClockCmd 0x080008ad Thumb Code 56 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd)
|
||||
SystemInit 0x08000a11 Thumb Code 102 system_stm32f10x.o(.text.SystemInit)
|
||||
delay_ms_simple 0x08000a79 Thumb Code 32 iic.o(.text.delay_ms_simple)
|
||||
delay_us_simple 0x08000a99 Thumb Code 46 iic.o(.text.delay_us_simple)
|
||||
lcd_show_all_ascii_lowercase 0x08000ac9 Thumb Code 140 iic.o(.text.lcd_show_all_ascii_lowercase)
|
||||
main 0x08000b55 Thumb Code 72 main.o(.text.main)
|
||||
test 0x08000b9d Thumb Code 22 iic.o(.text.test)
|
||||
Font6x8 0x08000bb2 Data 570 iic.o(.rodata.Font6x8)
|
||||
Region$$Table$$Base 0x08000dec Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x08000dfc Number 0 anon$$obj.o(Region$$Table)
|
||||
__aeabi_memcpy 0x080001d9 Thumb Code 0 rt_memcpy_v6.o(.text)
|
||||
__rt_memcpy 0x080001d9 Thumb Code 138 rt_memcpy_v6.o(.text)
|
||||
_memcpy_lastbytes 0x0800023f Thumb Code 0 rt_memcpy_v6.o(.text)
|
||||
__use_two_region_memory 0x08000263 Thumb Code 2 heapauxi.o(.text)
|
||||
__rt_heap_escrow$2region 0x08000265 Thumb Code 2 heapauxi.o(.text)
|
||||
__rt_heap_expand$2region 0x08000267 Thumb Code 2 heapauxi.o(.text)
|
||||
__aeabi_memcpy4 0x08000269 Thumb Code 0 rt_memcpy_w.o(.text)
|
||||
__aeabi_memcpy8 0x08000269 Thumb Code 0 rt_memcpy_w.o(.text)
|
||||
__rt_memcpy_w 0x08000269 Thumb Code 100 rt_memcpy_w.o(.text)
|
||||
_memcpy_lastbytes_aligned 0x080002b1 Thumb Code 0 rt_memcpy_w.o(.text)
|
||||
__user_setup_stackheap 0x080002cd Thumb Code 74 sys_stackheap_outer.o(.text)
|
||||
exit 0x08000317 Thumb Code 18 exit.o(.text)
|
||||
__user_libspace 0x08000329 Thumb Code 8 libspace.o(.text)
|
||||
__user_perproc_libspace 0x08000329 Thumb Code 0 libspace.o(.text)
|
||||
__user_perthread_libspace 0x08000329 Thumb Code 0 libspace.o(.text)
|
||||
_sys_exit 0x08000331 Thumb Code 8 sys_exit.o(.text)
|
||||
__I$use$semihosting 0x0800033d Thumb Code 0 use_no_semi.o(.text)
|
||||
__use_no_semihosting_swi 0x0800033d Thumb Code 2 use_no_semi.o(.text)
|
||||
__semihosting_library_function 0x0800033f Thumb Code 0 indicate_semi.o(.text)
|
||||
FLASH_ClearFlag 0x08000341 Thumb Code 20 stm32f10x_flash.o(.text.FLASH_ClearFlag)
|
||||
FLASH_ErasePage 0x08000355 Thumb Code 106 stm32f10x_flash.o(.text.FLASH_ErasePage)
|
||||
FLASH_GetBank1Status 0x080003c1 Thumb Code 104 stm32f10x_flash.o(.text.FLASH_GetBank1Status)
|
||||
FLASH_Lock 0x08000429 Thumb Code 18 stm32f10x_flash.o(.text.FLASH_Lock)
|
||||
FLASH_ProgramWord 0x0800043d Thumb Code 160 stm32f10x_flash.o(.text.FLASH_ProgramWord)
|
||||
FLASH_Unlock 0x080004dd Thumb Code 30 stm32f10x_flash.o(.text.FLASH_Unlock)
|
||||
FLASH_WaitForLastOperation 0x080004fd Thumb Code 94 stm32f10x_flash.o(.text.FLASH_WaitForLastOperation)
|
||||
Flash_ReadStruct 0x0800055d Thumb Code 28 flash.o(.text.Flash_ReadStruct)
|
||||
Flash_WriteStruct 0x08000579 Thumb Code 100 flash.o(.text.Flash_WriteStruct)
|
||||
GPIO_Init 0x080005dd Thumb Code 390 stm32f10x_gpio.o(.text.GPIO_Init)
|
||||
GPIO_ReadInputDataBit 0x08000765 Thumb Code 52 stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit)
|
||||
GPIO_ResetBits 0x08000799 Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_ResetBits)
|
||||
GPIO_SetBits 0x080007ad Thumb Code 20 stm32f10x_gpio.o(.text.GPIO_SetBits)
|
||||
IIC_Delay 0x080007c1 Thumb Code 2 iic.o(.text.IIC_Delay)
|
||||
IIC_GPIO_Init 0x080007c5 Thumb Code 72 iic.o(.text.IIC_GPIO_Init)
|
||||
IIC_Send_Byte 0x0800080d Thumb Code 134 iic.o(.text.IIC_Send_Byte)
|
||||
IIC_Start 0x08000895 Thumb Code 68 iic.o(.text.IIC_Start)
|
||||
IIC_Stop 0x080008d9 Thumb Code 54 iic.o(.text.IIC_Stop)
|
||||
IIC_Wait_Ack 0x08000911 Thumb Code 134 iic.o(.text.IIC_Wait_Ack)
|
||||
OLED_Fill 0x08000999 Thumb Code 110 iic.o(.text.OLED_Fill)
|
||||
OLED_Init 0x08000a09 Thumb Code 196 iic.o(.text.OLED_Init)
|
||||
OLED_Refresh 0x08000acd Thumb Code 124 iic.o(.text.OLED_Refresh)
|
||||
OLED_ShowChar 0x08000b49 Thumb Code 132 iic.o(.text.OLED_ShowChar)
|
||||
OLED_WriteCommand 0x08000bcd Thumb Code 52 iic.o(.text.OLED_WriteCommand)
|
||||
OLED_WriteData 0x08000c01 Thumb Code 52 iic.o(.text.OLED_WriteData)
|
||||
RCC_APB2PeriphClockCmd 0x08000c35 Thumb Code 56 stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd)
|
||||
SystemInit 0x08000d99 Thumb Code 102 system_stm32f10x.o(.text.SystemInit)
|
||||
delay_ms_simple 0x08000e01 Thumb Code 32 iic.o(.text.delay_ms_simple)
|
||||
delay_us_simple 0x08000e21 Thumb Code 46 iic.o(.text.delay_us_simple)
|
||||
flash_Test 0x08000e51 Thumb Code 78 flash.o(.text.flash_Test)
|
||||
lcd_show_all_ascii_lowercase 0x08000ea1 Thumb Code 140 iic.o(.text.lcd_show_all_ascii_lowercase)
|
||||
main 0x08000f2d Thumb Code 76 main.o(.text.main)
|
||||
test 0x08000f79 Thumb Code 20 iic.o(.text.test)
|
||||
Font6x8 0x08000fa0 Data 570 iic.o(.rodata.Font6x8)
|
||||
Region$$Table$$Base 0x080011dc Number 0 anon$$obj.o(Region$$Table)
|
||||
Region$$Table$$Limit 0x080011ec Number 0 anon$$obj.o(Region$$Table)
|
||||
__libspace_start 0x20000000 Data 96 libspace.o(.bss)
|
||||
OLED_GRAM 0x20000060 Data 1024 iic.o(.bss.OLED_GRAM)
|
||||
__temporary_stack_top$libspace 0x20000060 Data 0 libspace.o(.bss)
|
||||
@@ -1448,117 +1500,135 @@ Memory Map of the image
|
||||
|
||||
Image Entry point : 0x080000ed
|
||||
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x00000dfc, Max: 0x00010000, ABSOLUTE)
|
||||
Load Region LR_IROM1 (Base: 0x08000000, Size: 0x000011ec, Max: 0x00010000, ABSOLUTE)
|
||||
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x00000dfc, Max: 0x00010000, ABSOLUTE)
|
||||
Execution Region ER_IROM1 (Exec base: 0x08000000, Load base: 0x08000000, Size: 0x000011ec, Max: 0x00010000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x08000000 0x08000000 0x000000ec Data RO 654 RESET startup_stm32f10x_md.o
|
||||
0x080000ec 0x080000ec 0x00000008 Code RO 682 * !!!main c_w.l(__main.o)
|
||||
0x080000f4 0x080000f4 0x0000005c Code RO 847 !!!scatter c_w.l(__scatter.o)
|
||||
0x08000150 0x08000150 0x00000002 Code RO 848 !!handler_null c_w.l(__scatter.o)
|
||||
0x08000000 0x08000000 0x000000ec Data RO 671 RESET startup_stm32f10x_md.o
|
||||
0x080000ec 0x080000ec 0x00000008 Code RO 701 * !!!main c_w.l(__main.o)
|
||||
0x080000f4 0x080000f4 0x0000005c Code RO 868 !!!scatter c_w.l(__scatter.o)
|
||||
0x08000150 0x08000150 0x00000002 Code RO 869 !!handler_null c_w.l(__scatter.o)
|
||||
0x08000152 0x08000152 0x00000002 PAD
|
||||
0x08000154 0x08000154 0x0000001c Code RO 851 !!handler_zi c_w.l(__scatter_zi.o)
|
||||
0x08000170 0x08000170 0x00000002 Code RO 709 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 716 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 718 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 720 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 723 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 725 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 727 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 730 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 732 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 734 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 736 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 738 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 740 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 742 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 744 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 746 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 748 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 750 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 754 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 756 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 758 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 760 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000002 Code RO 761 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
|
||||
0x08000174 0x08000174 0x00000002 Code RO 783 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 798 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 800 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 803 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 806 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 808 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 811 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000002 Code RO 812 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
|
||||
0x08000178 0x08000178 0x00000000 Code RO 684 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
|
||||
0x08000178 0x08000178 0x00000000 Code RO 686 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
|
||||
0x08000178 0x08000178 0x00000006 Code RO 698 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
|
||||
0x0800017e 0x0800017e 0x00000000 Code RO 688 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
|
||||
0x0800017e 0x0800017e 0x00000004 Code RO 689 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
|
||||
0x08000182 0x08000182 0x00000000 Code RO 691 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
|
||||
0x08000182 0x08000182 0x00000008 Code RO 692 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
|
||||
0x0800018a 0x0800018a 0x00000002 Code RO 713 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
|
||||
0x0800018c 0x0800018c 0x00000000 Code RO 763 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
|
||||
0x0800018c 0x0800018c 0x00000004 Code RO 764 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
|
||||
0x08000190 0x08000190 0x00000006 Code RO 765 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
|
||||
0x08000154 0x08000154 0x0000001c Code RO 872 !!handler_zi c_w.l(__scatter_zi.o)
|
||||
0x08000170 0x08000170 0x00000002 Code RO 730 .ARM.Collect$$libinit$$00000000 c_w.l(libinit.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 737 .ARM.Collect$$libinit$$00000002 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 739 .ARM.Collect$$libinit$$00000004 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 741 .ARM.Collect$$libinit$$00000006 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 744 .ARM.Collect$$libinit$$0000000C c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 746 .ARM.Collect$$libinit$$0000000E c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 748 .ARM.Collect$$libinit$$00000010 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 751 .ARM.Collect$$libinit$$00000013 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 753 .ARM.Collect$$libinit$$00000015 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 755 .ARM.Collect$$libinit$$00000017 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 757 .ARM.Collect$$libinit$$00000019 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 759 .ARM.Collect$$libinit$$0000001B c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 761 .ARM.Collect$$libinit$$0000001D c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 763 .ARM.Collect$$libinit$$0000001F c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 765 .ARM.Collect$$libinit$$00000021 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 767 .ARM.Collect$$libinit$$00000023 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 769 .ARM.Collect$$libinit$$00000025 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 771 .ARM.Collect$$libinit$$00000027 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 775 .ARM.Collect$$libinit$$0000002E c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 777 .ARM.Collect$$libinit$$00000030 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 779 .ARM.Collect$$libinit$$00000032 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000000 Code RO 781 .ARM.Collect$$libinit$$00000034 c_w.l(libinit2.o)
|
||||
0x08000172 0x08000172 0x00000002 Code RO 782 .ARM.Collect$$libinit$$00000035 c_w.l(libinit2.o)
|
||||
0x08000174 0x08000174 0x00000002 Code RO 804 .ARM.Collect$$libshutdown$$00000000 c_w.l(libshutdown.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 819 .ARM.Collect$$libshutdown$$00000002 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 821 .ARM.Collect$$libshutdown$$00000004 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 824 .ARM.Collect$$libshutdown$$00000007 c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 827 .ARM.Collect$$libshutdown$$0000000A c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 829 .ARM.Collect$$libshutdown$$0000000C c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000000 Code RO 832 .ARM.Collect$$libshutdown$$0000000F c_w.l(libshutdown2.o)
|
||||
0x08000176 0x08000176 0x00000002 Code RO 833 .ARM.Collect$$libshutdown$$00000010 c_w.l(libshutdown2.o)
|
||||
0x08000178 0x08000178 0x00000000 Code RO 703 .ARM.Collect$$rtentry$$00000000 c_w.l(__rtentry.o)
|
||||
0x08000178 0x08000178 0x00000000 Code RO 707 .ARM.Collect$$rtentry$$00000002 c_w.l(__rtentry2.o)
|
||||
0x08000178 0x08000178 0x00000006 Code RO 719 .ARM.Collect$$rtentry$$00000004 c_w.l(__rtentry4.o)
|
||||
0x0800017e 0x0800017e 0x00000000 Code RO 709 .ARM.Collect$$rtentry$$00000009 c_w.l(__rtentry2.o)
|
||||
0x0800017e 0x0800017e 0x00000004 Code RO 710 .ARM.Collect$$rtentry$$0000000A c_w.l(__rtentry2.o)
|
||||
0x08000182 0x08000182 0x00000000 Code RO 712 .ARM.Collect$$rtentry$$0000000C c_w.l(__rtentry2.o)
|
||||
0x08000182 0x08000182 0x00000008 Code RO 713 .ARM.Collect$$rtentry$$0000000D c_w.l(__rtentry2.o)
|
||||
0x0800018a 0x0800018a 0x00000002 Code RO 734 .ARM.Collect$$rtexit$$00000000 c_w.l(rtexit.o)
|
||||
0x0800018c 0x0800018c 0x00000000 Code RO 784 .ARM.Collect$$rtexit$$00000002 c_w.l(rtexit2.o)
|
||||
0x0800018c 0x0800018c 0x00000004 Code RO 785 .ARM.Collect$$rtexit$$00000003 c_w.l(rtexit2.o)
|
||||
0x08000190 0x08000190 0x00000006 Code RO 786 .ARM.Collect$$rtexit$$00000004 c_w.l(rtexit2.o)
|
||||
0x08000196 0x08000196 0x00000002 PAD
|
||||
0x08000198 0x08000198 0x00000040 Code RO 655 .text startup_stm32f10x_md.o
|
||||
0x080001d8 0x080001d8 0x00000006 Code RO 680 .text c_w.l(heapauxi.o)
|
||||
0x080001de 0x080001de 0x0000004a Code RO 700 .text c_w.l(sys_stackheap_outer.o)
|
||||
0x08000228 0x08000228 0x00000012 Code RO 702 .text c_w.l(exit.o)
|
||||
0x0800023a 0x0800023a 0x00000002 PAD
|
||||
0x0800023c 0x0800023c 0x00000008 Code RO 710 .text c_w.l(libspace.o)
|
||||
0x08000244 0x08000244 0x0000000c Code RO 773 .text c_w.l(sys_exit.o)
|
||||
0x08000250 0x08000250 0x00000002 Code RO 788 .text c_w.l(use_no_semi.o)
|
||||
0x08000252 0x08000252 0x00000000 Code RO 790 .text c_w.l(indicate_semi.o)
|
||||
0x08000252 0x08000252 0x00000002 PAD
|
||||
0x08000254 0x08000254 0x00000186 Code RO 146 .text.GPIO_Init stm32f10x_gpio.o
|
||||
0x080003da 0x080003da 0x00000002 PAD
|
||||
0x080003dc 0x080003dc 0x00000034 Code RO 150 .text.GPIO_ReadInputDataBit stm32f10x_gpio.o
|
||||
0x08000410 0x08000410 0x00000014 Code RO 160 .text.GPIO_ResetBits stm32f10x_gpio.o
|
||||
0x08000424 0x08000424 0x00000014 Code RO 158 .text.GPIO_SetBits stm32f10x_gpio.o
|
||||
0x08000438 0x08000438 0x00000002 Code RO 19 .text.IIC_Delay iic.o
|
||||
0x08000198 0x08000198 0x00000040 Code RO 672 .text startup_stm32f10x_md.o
|
||||
0x080001d8 0x080001d8 0x0000008a Code RO 697 .text c_w.l(rt_memcpy_v6.o)
|
||||
0x08000262 0x08000262 0x00000006 Code RO 699 .text c_w.l(heapauxi.o)
|
||||
0x08000268 0x08000268 0x00000064 Code RO 704 .text c_w.l(rt_memcpy_w.o)
|
||||
0x080002cc 0x080002cc 0x0000004a Code RO 721 .text c_w.l(sys_stackheap_outer.o)
|
||||
0x08000316 0x08000316 0x00000012 Code RO 723 .text c_w.l(exit.o)
|
||||
0x08000328 0x08000328 0x00000008 Code RO 731 .text c_w.l(libspace.o)
|
||||
0x08000330 0x08000330 0x0000000c Code RO 794 .text c_w.l(sys_exit.o)
|
||||
0x0800033c 0x0800033c 0x00000002 Code RO 809 .text c_w.l(use_no_semi.o)
|
||||
0x0800033e 0x0800033e 0x00000000 Code RO 811 .text c_w.l(indicate_semi.o)
|
||||
0x0800033e 0x0800033e 0x00000002 PAD
|
||||
0x08000340 0x08000340 0x00000014 Code RO 146 .text.FLASH_ClearFlag stm32f10x_flash.o
|
||||
0x08000354 0x08000354 0x0000006a Code RO 110 .text.FLASH_ErasePage stm32f10x_flash.o
|
||||
0x080003be 0x080003be 0x00000002 PAD
|
||||
0x080003c0 0x080003c0 0x00000068 Code RO 150 .text.FLASH_GetBank1Status stm32f10x_flash.o
|
||||
0x08000428 0x08000428 0x00000012 Code RO 106 .text.FLASH_Lock stm32f10x_flash.o
|
||||
0x0800043a 0x0800043a 0x00000002 PAD
|
||||
0x0800043c 0x0800043c 0x00000048 Code RO 17 .text.IIC_GPIO_Init iic.o
|
||||
0x08000484 0x08000484 0x00000086 Code RO 25 .text.IIC_Send_Byte iic.o
|
||||
0x0800050a 0x0800050a 0x00000002 PAD
|
||||
0x0800050c 0x0800050c 0x00000044 Code RO 21 .text.IIC_Start iic.o
|
||||
0x08000550 0x08000550 0x00000036 Code RO 23 .text.IIC_Stop iic.o
|
||||
0x08000586 0x08000586 0x00000002 PAD
|
||||
0x08000588 0x08000588 0x00000086 Code RO 29 .text.IIC_Wait_Ack iic.o
|
||||
0x0800060e 0x0800060e 0x00000002 PAD
|
||||
0x08000610 0x08000610 0x0000006e Code RO 39 .text.OLED_Fill iic.o
|
||||
0x0800067e 0x0800067e 0x00000002 PAD
|
||||
0x08000680 0x08000680 0x000000c4 Code RO 41 .text.OLED_Init iic.o
|
||||
0x08000744 0x08000744 0x0000007c Code RO 45 .text.OLED_Refresh iic.o
|
||||
0x080007c0 0x080007c0 0x00000084 Code RO 47 .text.OLED_ShowChar iic.o
|
||||
0x08000844 0x08000844 0x00000034 Code RO 35 .text.OLED_WriteCommand iic.o
|
||||
0x08000878 0x08000878 0x00000034 Code RO 37 .text.OLED_WriteData iic.o
|
||||
0x080008ac 0x080008ac 0x00000038 Code RO 302 .text.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
|
||||
0x080008e4 0x080008e4 0x00000008 Code RO 664 .text.SetSysClock system_stm32f10x.o
|
||||
0x080008ec 0x080008ec 0x00000122 Code RO 668 .text.SetSysClockTo72 system_stm32f10x.o
|
||||
0x08000a0e 0x08000a0e 0x00000002 PAD
|
||||
0x08000a10 0x08000a10 0x00000066 Code RO 662 .text.SystemInit system_stm32f10x.o
|
||||
0x08000a76 0x08000a76 0x00000002 PAD
|
||||
0x08000a78 0x08000a78 0x00000020 Code RO 15 .text.delay_ms_simple iic.o
|
||||
0x08000a98 0x08000a98 0x0000002e Code RO 13 .text.delay_us_simple iic.o
|
||||
0x08000ac6 0x08000ac6 0x00000002 PAD
|
||||
0x08000ac8 0x08000ac8 0x0000008c Code RO 49 .text.lcd_show_all_ascii_lowercase iic.o
|
||||
0x08000b54 0x08000b54 0x00000048 Code RO 2 .text.main main.o
|
||||
0x08000b9c 0x08000b9c 0x00000016 Code RO 51 .text.test iic.o
|
||||
0x08000bb2 0x08000bb2 0x0000023a Data RO 53 .rodata.Font6x8 iic.o
|
||||
0x08000dec 0x08000dec 0x00000010 Data RO 846 Region$$Table anon$$obj.o
|
||||
0x0800043c 0x0800043c 0x000000a0 Code RO 124 .text.FLASH_ProgramWord stm32f10x_flash.o
|
||||
0x080004dc 0x080004dc 0x0000001e Code RO 102 .text.FLASH_Unlock stm32f10x_flash.o
|
||||
0x080004fa 0x080004fa 0x00000002 PAD
|
||||
0x080004fc 0x080004fc 0x0000005e Code RO 112 .text.FLASH_WaitForLastOperation stm32f10x_flash.o
|
||||
0x0800055a 0x0800055a 0x00000002 PAD
|
||||
0x0800055c 0x0800055c 0x0000001c Code RO 66 .text.Flash_ReadStruct flash.o
|
||||
0x08000578 0x08000578 0x00000064 Code RO 64 .text.Flash_WriteStruct flash.o
|
||||
0x080005dc 0x080005dc 0x00000186 Code RO 163 .text.GPIO_Init stm32f10x_gpio.o
|
||||
0x08000762 0x08000762 0x00000002 PAD
|
||||
0x08000764 0x08000764 0x00000034 Code RO 167 .text.GPIO_ReadInputDataBit stm32f10x_gpio.o
|
||||
0x08000798 0x08000798 0x00000014 Code RO 177 .text.GPIO_ResetBits stm32f10x_gpio.o
|
||||
0x080007ac 0x080007ac 0x00000014 Code RO 175 .text.GPIO_SetBits stm32f10x_gpio.o
|
||||
0x080007c0 0x080007c0 0x00000002 Code RO 19 .text.IIC_Delay iic.o
|
||||
0x080007c2 0x080007c2 0x00000002 PAD
|
||||
0x080007c4 0x080007c4 0x00000048 Code RO 17 .text.IIC_GPIO_Init iic.o
|
||||
0x0800080c 0x0800080c 0x00000086 Code RO 25 .text.IIC_Send_Byte iic.o
|
||||
0x08000892 0x08000892 0x00000002 PAD
|
||||
0x08000894 0x08000894 0x00000044 Code RO 21 .text.IIC_Start iic.o
|
||||
0x080008d8 0x080008d8 0x00000036 Code RO 23 .text.IIC_Stop iic.o
|
||||
0x0800090e 0x0800090e 0x00000002 PAD
|
||||
0x08000910 0x08000910 0x00000086 Code RO 29 .text.IIC_Wait_Ack iic.o
|
||||
0x08000996 0x08000996 0x00000002 PAD
|
||||
0x08000998 0x08000998 0x0000006e Code RO 39 .text.OLED_Fill iic.o
|
||||
0x08000a06 0x08000a06 0x00000002 PAD
|
||||
0x08000a08 0x08000a08 0x000000c4 Code RO 41 .text.OLED_Init iic.o
|
||||
0x08000acc 0x08000acc 0x0000007c Code RO 45 .text.OLED_Refresh iic.o
|
||||
0x08000b48 0x08000b48 0x00000084 Code RO 47 .text.OLED_ShowChar iic.o
|
||||
0x08000bcc 0x08000bcc 0x00000034 Code RO 35 .text.OLED_WriteCommand iic.o
|
||||
0x08000c00 0x08000c00 0x00000034 Code RO 37 .text.OLED_WriteData iic.o
|
||||
0x08000c34 0x08000c34 0x00000038 Code RO 319 .text.RCC_APB2PeriphClockCmd stm32f10x_rcc.o
|
||||
0x08000c6c 0x08000c6c 0x00000008 Code RO 681 .text.SetSysClock system_stm32f10x.o
|
||||
0x08000c74 0x08000c74 0x00000122 Code RO 685 .text.SetSysClockTo72 system_stm32f10x.o
|
||||
0x08000d96 0x08000d96 0x00000002 PAD
|
||||
0x08000d98 0x08000d98 0x00000066 Code RO 679 .text.SystemInit system_stm32f10x.o
|
||||
0x08000dfe 0x08000dfe 0x00000002 PAD
|
||||
0x08000e00 0x08000e00 0x00000020 Code RO 15 .text.delay_ms_simple iic.o
|
||||
0x08000e20 0x08000e20 0x0000002e Code RO 13 .text.delay_us_simple iic.o
|
||||
0x08000e4e 0x08000e4e 0x00000002 PAD
|
||||
0x08000e50 0x08000e50 0x0000004e Code RO 68 .text.flash_Test flash.o
|
||||
0x08000e9e 0x08000e9e 0x00000002 PAD
|
||||
0x08000ea0 0x08000ea0 0x0000008c Code RO 49 .text.lcd_show_all_ascii_lowercase iic.o
|
||||
0x08000f2c 0x08000f2c 0x0000004c Code RO 2 .text.main main.o
|
||||
0x08000f78 0x08000f78 0x00000014 Code RO 51 .text.test iic.o
|
||||
0x08000f8c 0x08000f8c 0x00000014 Data RO 70 .rodata..L__const.flash_Test.myData flash.o
|
||||
0x08000fa0 0x08000fa0 0x0000023a Data RO 53 .rodata.Font6x8 iic.o
|
||||
0x080011da 0x080011da 0x00000002 PAD
|
||||
0x080011dc 0x080011dc 0x00000010 Data RO 867 Region$$Table anon$$obj.o
|
||||
|
||||
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x08000dfc, Size: 0x00000a60, Max: 0x00005000, ABSOLUTE)
|
||||
Execution Region RW_IRAM1 (Exec base: 0x20000000, Load base: 0x080011ec, Size: 0x00000a60, Max: 0x00005000, ABSOLUTE)
|
||||
|
||||
Exec Addr Load Addr Size Type Attr Idx E Section Name Object
|
||||
|
||||
0x20000000 - 0x00000060 Zero RW 711 .bss c_w.l(libspace.o)
|
||||
0x20000000 - 0x00000060 Zero RW 732 .bss c_w.l(libspace.o)
|
||||
0x20000060 - 0x00000400 Zero RW 54 .bss.OLED_GRAM iic.o
|
||||
0x20000460 - 0x00000200 Zero RW 653 HEAP startup_stm32f10x_md.o
|
||||
0x20000660 - 0x00000400 Zero RW 652 STACK startup_stm32f10x_md.o
|
||||
0x20000460 - 0x00000200 Zero RW 670 HEAP startup_stm32f10x_md.o
|
||||
0x20000660 - 0x00000400 Zero RW 669 STACK startup_stm32f10x_md.o
|
||||
|
||||
|
||||
==============================================================================
|
||||
@@ -1568,17 +1638,19 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Object Name
|
||||
|
||||
1370 0 570 0 1024 5129 iic.o
|
||||
72 0 0 0 0 1547 main.o
|
||||
206 0 20 0 0 1413 flash.o
|
||||
1368 0 570 0 1024 5132 iic.o
|
||||
76 0 0 0 0 1548 main.o
|
||||
64 26 236 0 1536 836 startup_stm32f10x_md.o
|
||||
532 0 0 0 0 7143 stm32f10x_flash.o
|
||||
482 0 0 0 0 5730 stm32f10x_gpio.o
|
||||
56 0 0 0 0 7058 stm32f10x_rcc.o
|
||||
400 0 0 0 0 2988 system_stm32f10x.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
2462 26 822 0 2560 23288 Object Totals
|
||||
3212 26 844 0 2560 31848 Object Totals
|
||||
0 0 16 0 0 0 (incl. Generated)
|
||||
18 0 0 0 0 0 (incl. Padding)
|
||||
28 0 2 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@@ -1598,6 +1670,8 @@ Image component sizes
|
||||
2 0 0 0 0 0 libshutdown.o
|
||||
2 0 0 0 0 0 libshutdown2.o
|
||||
8 4 0 0 96 68 libspace.o
|
||||
138 0 0 0 0 68 rt_memcpy_v6.o
|
||||
100 0 0 0 0 80 rt_memcpy_w.o
|
||||
2 0 0 0 0 0 rtexit.o
|
||||
10 0 0 0 0 0 rtexit2.o
|
||||
12 4 0 0 0 68 sys_exit.o
|
||||
@@ -1605,17 +1679,17 @@ Image component sizes
|
||||
2 0 0 0 0 68 use_no_semi.o
|
||||
|
||||
----------------------------------------------------------------------
|
||||
296 16 0 0 96 584 Library Totals
|
||||
8 0 0 0 0 0 (incl. Padding)
|
||||
532 16 0 0 96 732 Library Totals
|
||||
6 0 0 0 0 0 (incl. Padding)
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug Library Name
|
||||
|
||||
288 16 0 0 96 584 c_w.l
|
||||
526 16 0 0 96 732 c_w.l
|
||||
|
||||
----------------------------------------------------------------------
|
||||
296 16 0 0 96 584 Library Totals
|
||||
532 16 0 0 96 732 Library Totals
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
@@ -1624,15 +1698,15 @@ Image component sizes
|
||||
|
||||
Code (inc. data) RO Data RW Data ZI Data Debug
|
||||
|
||||
2758 42 822 0 2656 23684 Grand Totals
|
||||
2758 42 822 0 2656 23684 ELF Image Totals
|
||||
2758 42 822 0 0 0 ROM Totals
|
||||
3744 42 844 0 2656 32248 Grand Totals
|
||||
3744 42 844 0 2656 32248 ELF Image Totals
|
||||
3744 42 844 0 0 0 ROM Totals
|
||||
|
||||
==============================================================================
|
||||
|
||||
Total RO Size (Code + RO Data) 3580 ( 3.50kB)
|
||||
Total RO Size (Code + RO Data) 4588 ( 4.48kB)
|
||||
Total RW Size (RW Data + ZI Data) 2656 ( 2.59kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 3580 ( 3.50kB)
|
||||
Total ROM Size (Code + RO Data + RW Data) 4588 ( 4.48kB)
|
||||
|
||||
==============================================================================
|
||||
|
||||
|
||||
Binary file not shown.
@@ -22,15 +22,33 @@ Dialog DLL: TCM.DLL V1.56.6.0
|
||||
|
||||
<h2>Project:</h2>
|
||||
C:\Users\gxyos\Documents\ST30F103\Example\example.uvprojx
|
||||
Project File Date: 07/23/2025
|
||||
Project File Date: 07/25/2025
|
||||
|
||||
<h2>Output:</h2>
|
||||
*** Using Compiler 'V6.23', folder: 'C:\Users\gxyos\AppData\Local\Keil_v5\ARM\ARMCLANG\Bin'
|
||||
Build target 'Target_1'
|
||||
Rebuild target 'Target_1'
|
||||
APP/main.c(28): warning: while loop has empty body [-Wempty-body]
|
||||
28 | while(1);
|
||||
| ^
|
||||
APP/main.c(28): note: put the semicolon on a separate line to silence this warning
|
||||
1 warning generated.
|
||||
compiling main.c...
|
||||
compiling stm32f10x_flash.c...
|
||||
compiling flash.c...
|
||||
compiling misc.c...
|
||||
compiling iic.c...
|
||||
compiling stm32f10x_gpio.c...
|
||||
compiling stm32f10x_i2c.c...
|
||||
compiling stm32f10x_rcc.c...
|
||||
compiling stm32f10x_spi.c...
|
||||
compiling stm32f10x_usart.c...
|
||||
compiling GPIO_STM32F10x.c...
|
||||
compiling system_stm32f10x.c...
|
||||
compiling stm32f10x_tim.c...
|
||||
assembling startup_stm32f10x_md.s...
|
||||
linking...
|
||||
Program Size: Code=2758 RO-data=822 RW-data=0 ZI-data=2656
|
||||
".\Objects\example.axf" - 0 Error(s), 0 Warning(s).
|
||||
Program Size: Code=3744 RO-data=844 RW-data=0 ZI-data=2656
|
||||
".\Objects\example.axf" - 0 Error(s), 1 Warning(s).
|
||||
|
||||
<h2>Software Packages used:</h2>
|
||||
|
||||
@@ -82,36 +100,36 @@ Package Vendor: Keil
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_flash.c
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:Framework@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/templates/stm32f10x_it.h
|
||||
Source file: Device/StdPeriph_Driver/src/misc.c
|
||||
Source file: Device/StdPeriph_Driver/templates/stm32f10x_it.c
|
||||
Source file: Device/StdPeriph_Driver/templates/stm32f10x_conf.h
|
||||
Include file: Device/StdPeriph_Driver/inc/misc.h
|
||||
Source file: Device/StdPeriph_Driver/templates/stm32f10x_conf.h
|
||||
Include file: Device/StdPeriph_Driver/templates/stm32f10x_it.h
|
||||
Source file: Device/StdPeriph_Driver/templates/stm32f10x_it.c
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:GPIO@3.6.0
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_gpio.c
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_gpio.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_gpio.c
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:I2C@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_i2c.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_i2c.c
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:RCC@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_rcc.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_rcc.c
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_rcc.h
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:SPI@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_spi.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_spi.c
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_spi.h
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:TIM@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_tim.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_tim.c
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_tim.h
|
||||
|
||||
* Component: Keil::Device:StdPeriph Drivers:USART@3.6.0
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_usart.h
|
||||
Source file: Device/StdPeriph_Driver/src/stm32f10x_usart.c
|
||||
Build Time Elapsed: 00:00:00
|
||||
Include file: Device/StdPeriph_Driver/inc/stm32f10x_usart.h
|
||||
Build Time Elapsed: 00:00:01
|
||||
</pre>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -3,16 +3,16 @@
|
||||
<title>Static Call Graph - [.\Objects\example.axf]</title></head>
|
||||
<body><HR>
|
||||
<H1>Static Call Graph for image .\Objects\example.axf</H1><HR>
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 6230001: Last Updated: Thu Jul 24 10:30:39 2025
|
||||
<BR><P>#<CALLGRAPH># ARM Linker, 6230001: Last Updated: Fri Jul 25 09:04:20 2025
|
||||
<BR><P>
|
||||
<H3>Maximum Stack Usage = 136 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
<H3>Maximum Stack Usage = 164 bytes + Unknown(Functions without stacksize, Cycles, Untraceable Function Pointers)</H3><H3>
|
||||
Call chain for Maximum Stack Depth:</H3>
|
||||
__rt_entry_main ⇒ main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
__rt_entry_main ⇒ main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
<P>
|
||||
<H3>
|
||||
Functions with no stack information
|
||||
</H3><UL>
|
||||
<LI><a href="#[46]">__user_initial_stackheap</a>
|
||||
<LI><a href="#[48]">__user_initial_stackheap</a>
|
||||
</UL>
|
||||
</UL>
|
||||
<P>
|
||||
@@ -107,86 +107,86 @@ Global Symbols
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[38]">>></a> __rt_entry
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5f]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
|
||||
<P><STRONG><a name="[6c]"></a>__scatterload_rt2_thumb_only</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[60]"></a>__scatterload_loop</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
|
||||
<P><STRONG><a name="[6d]"></a>__scatterload_loop</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __scatter.o(!!!scatter), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[61]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED)
|
||||
<P><STRONG><a name="[6e]"></a>__scatterload_null</STRONG> (Thumb, 2 bytes, Stack size unknown bytes, __scatter.o(!!handler_null), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[62]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
|
||||
<P><STRONG><a name="[6f]"></a>__scatterload_zeroinit</STRONG> (Thumb, 28 bytes, Stack size unknown bytes, __scatter_zi.o(!!handler_zi), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[3d]"></a>__rt_lib_init</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit.o(.ARM.Collect$$libinit$$00000000))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[3c]">>></a> __rt_entry_li
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[63]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
|
||||
<P><STRONG><a name="[70]"></a>__rt_lib_init_alloca_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000030))
|
||||
|
||||
<P><STRONG><a name="[64]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
|
||||
<P><STRONG><a name="[71]"></a>__rt_lib_init_argv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000002E))
|
||||
|
||||
<P><STRONG><a name="[65]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
|
||||
<P><STRONG><a name="[72]"></a>__rt_lib_init_atexit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001D))
|
||||
|
||||
<P><STRONG><a name="[66]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
|
||||
<P><STRONG><a name="[73]"></a>__rt_lib_init_clock_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000023))
|
||||
|
||||
<P><STRONG><a name="[67]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
|
||||
<P><STRONG><a name="[74]"></a>__rt_lib_init_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000034))
|
||||
|
||||
<P><STRONG><a name="[68]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
|
||||
<P><STRONG><a name="[75]"></a>__rt_lib_init_exceptions_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000032))
|
||||
|
||||
<P><STRONG><a name="[69]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
|
||||
<P><STRONG><a name="[76]"></a>__rt_lib_init_fp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000002))
|
||||
|
||||
<P><STRONG><a name="[6a]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
|
||||
<P><STRONG><a name="[77]"></a>__rt_lib_init_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000021))
|
||||
|
||||
<P><STRONG><a name="[6b]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
|
||||
<P><STRONG><a name="[78]"></a>__rt_lib_init_getenv_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000025))
|
||||
|
||||
<P><STRONG><a name="[6c]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
|
||||
<P><STRONG><a name="[79]"></a>__rt_lib_init_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000C))
|
||||
|
||||
<P><STRONG><a name="[6d]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
|
||||
<P><STRONG><a name="[7a]"></a>__rt_lib_init_lc_collate_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000013))
|
||||
|
||||
<P><STRONG><a name="[6e]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
|
||||
<P><STRONG><a name="[7b]"></a>__rt_lib_init_lc_ctype_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000015))
|
||||
|
||||
<P><STRONG><a name="[6f]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
|
||||
<P><STRONG><a name="[7c]"></a>__rt_lib_init_lc_monetary_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000017))
|
||||
|
||||
<P><STRONG><a name="[70]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
|
||||
<P><STRONG><a name="[7d]"></a>__rt_lib_init_lc_numeric_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000019))
|
||||
|
||||
<P><STRONG><a name="[71]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
|
||||
<P><STRONG><a name="[7e]"></a>__rt_lib_init_lc_time_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001B))
|
||||
|
||||
<P><STRONG><a name="[72]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
|
||||
<P><STRONG><a name="[7f]"></a>__rt_lib_init_preinit_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000006))
|
||||
|
||||
<P><STRONG><a name="[73]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
|
||||
<P><STRONG><a name="[80]"></a>__rt_lib_init_rand_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000010))
|
||||
|
||||
<P><STRONG><a name="[74]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
|
||||
<P><STRONG><a name="[81]"></a>__rt_lib_init_relocate_pie_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000004))
|
||||
|
||||
<P><STRONG><a name="[75]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
|
||||
<P><STRONG><a name="[82]"></a>__rt_lib_init_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000035))
|
||||
|
||||
<P><STRONG><a name="[76]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
|
||||
<P><STRONG><a name="[83]"></a>__rt_lib_init_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000001F))
|
||||
|
||||
<P><STRONG><a name="[77]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
|
||||
<P><STRONG><a name="[84]"></a>__rt_lib_init_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$00000027))
|
||||
|
||||
<P><STRONG><a name="[78]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
|
||||
<P><STRONG><a name="[85]"></a>__rt_lib_init_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libinit2.o(.ARM.Collect$$libinit$$0000000E))
|
||||
|
||||
<P><STRONG><a name="[42]"></a>__rt_lib_shutdown</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown.o(.ARM.Collect$$libshutdown$$00000000))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[41]">>></a> __rt_exit_ls
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[79]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
|
||||
<P><STRONG><a name="[86]"></a>__rt_lib_shutdown_cpp_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000002))
|
||||
|
||||
<P><STRONG><a name="[7a]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
|
||||
<P><STRONG><a name="[87]"></a>__rt_lib_shutdown_fp_trap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000007))
|
||||
|
||||
<P><STRONG><a name="[7b]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
|
||||
<P><STRONG><a name="[88]"></a>__rt_lib_shutdown_heap_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000F))
|
||||
|
||||
<P><STRONG><a name="[7c]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
|
||||
<P><STRONG><a name="[89]"></a>__rt_lib_shutdown_return</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000010))
|
||||
|
||||
<P><STRONG><a name="[7d]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
|
||||
<P><STRONG><a name="[8a]"></a>__rt_lib_shutdown_signal_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000A))
|
||||
|
||||
<P><STRONG><a name="[7e]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
|
||||
<P><STRONG><a name="[8b]"></a>__rt_lib_shutdown_stdio_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$00000004))
|
||||
|
||||
<P><STRONG><a name="[7f]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
|
||||
<P><STRONG><a name="[8c]"></a>__rt_lib_shutdown_user_alloc_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, libshutdown2.o(.ARM.Collect$$libshutdown$$0000000C))
|
||||
|
||||
<P><STRONG><a name="[38]"></a>__rt_entry</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry.o(.ARM.Collect$$rtentry$$00000000))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[36]">>></a> __main
|
||||
<LI><a href="#[39]">>></a> __scatterload_rt2
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[80]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
|
||||
<P><STRONG><a name="[8d]"></a>__rt_entry_presh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000002))
|
||||
|
||||
<P><STRONG><a name="[3a]"></a>__rt_entry_sh</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry4.o(.ARM.Collect$$rtentry$$00000004))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
|
||||
@@ -199,19 +199,19 @@ Global Symbols
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[3d]">>></a> __rt_lib_init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[81]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
|
||||
<P><STRONG><a name="[8e]"></a>__rt_entry_postsh_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$00000009))
|
||||
|
||||
<P><STRONG><a name="[3e]"></a>__rt_entry_main</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000D))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 136 + Unknown Stack Size
|
||||
<LI>Call Chain = __rt_entry_main ⇒ main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 164 + Unknown Stack Size
|
||||
<LI>Call Chain = __rt_entry_main ⇒ main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[40]">>></a> exit
|
||||
<LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[82]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
|
||||
<P><STRONG><a name="[8f]"></a>__rt_entry_postli_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, __rtentry2.o(.ARM.Collect$$rtentry$$0000000C))
|
||||
|
||||
<P><STRONG><a name="[47]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
|
||||
<P><STRONG><a name="[49]"></a>__rt_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit.o(.ARM.Collect$$rtexit$$00000000))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[40]">>></a> exit
|
||||
</UL>
|
||||
|
||||
@@ -219,7 +219,7 @@ Global Symbols
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[42]">>></a> __rt_lib_shutdown
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[83]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
|
||||
<P><STRONG><a name="[90]"></a>__rt_exit_prels_1</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000002))
|
||||
|
||||
<P><STRONG><a name="[43]"></a>__rt_exit_exit</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rtexit2.o(.ARM.Collect$$rtexit$$00000004))
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[44]">>></a> _sys_exit
|
||||
@@ -424,22 +424,42 @@ Global Symbols
|
||||
<P><STRONG><a name="[a]"></a>WWDG_IRQHandler</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, startup_stm32f10x_md.o(.text))
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(RESET)
|
||||
</UL>
|
||||
<P><STRONG><a name="[46]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))
|
||||
<P><STRONG><a name="[48]"></a>__user_initial_stackheap</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, startup_stm32f10x_md.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> __user_setup_stackheap
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[84]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[4f]"></a>__aeabi_memcpy</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[4e]">>></a> Flash_ReadStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[85]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[45]"></a>__rt_memcpy</STRONG> (Thumb, 138 bytes, Stack size 0 bytes, rt_memcpy_v6.o(.text), UNUSED)
|
||||
<BR><BR>[Calls]<UL><LI><a href="#[46]">>></a> __aeabi_memcpy4
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[86]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[91]"></a>_memcpy_lastbytes</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_v6.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[92]"></a>__use_two_region_memory</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[93]"></a>__rt_heap_escrow$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[94]"></a>__rt_heap_expand$2region</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, heapauxi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[46]"></a>__aeabi_memcpy4</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[45]">>></a> __rt_memcpy
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[95]"></a>__aeabi_memcpy8</STRONG> (Thumb, 0 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[96]"></a>__rt_memcpy_w</STRONG> (Thumb, 100 bytes, Stack size 8 bytes, rt_memcpy_w.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[97]"></a>_memcpy_lastbytes_aligned</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, rt_memcpy_w.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[3b]"></a>__user_setup_stackheap</STRONG> (Thumb, 74 bytes, Stack size 8 bytes, sys_stackheap_outer.o(.text))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
|
||||
<LI>Call Chain = __user_setup_stackheap
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[45]">>></a> __user_perproc_libspace
|
||||
<LI><a href="#[46]">>></a> __user_initial_stackheap
|
||||
<BR>[Calls]<UL><LI><a href="#[47]">>></a> __user_perproc_libspace
|
||||
<LI><a href="#[48]">>></a> __user_initial_stackheap
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3a]">>></a> __rt_entry_sh
|
||||
</UL>
|
||||
@@ -448,239 +468,314 @@ Global Symbols
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8 + Unknown Stack Size
|
||||
<LI>Call Chain = exit
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[47]">>></a> __rt_exit
|
||||
<BR>[Calls]<UL><LI><a href="#[49]">>></a> __rt_exit
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3e]">>></a> __rt_entry_main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[87]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[98]"></a>__user_libspace</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[45]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
|
||||
<P><STRONG><a name="[47]"></a>__user_perproc_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[3b]">>></a> __user_setup_stackheap
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[88]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[99]"></a>__user_perthread_libspace</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, libspace.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[44]"></a>_sys_exit</STRONG> (Thumb, 8 bytes, Stack size 0 bytes, sys_exit.o(.text))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[43]">>></a> __rt_exit_exit
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[89]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[9a]"></a>__I$use$semihosting</STRONG> (Thumb, 0 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[8a]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[9b]"></a>__use_no_semihosting_swi</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, use_no_semi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[8b]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
|
||||
<P><STRONG><a name="[9c]"></a>__semihosting_library_function</STRONG> (Thumb, 0 bytes, Stack size unknown bytes, indicate_semi.o(.text), UNUSED)
|
||||
|
||||
<P><STRONG><a name="[4a]"></a>GPIO_Init</STRONG> (Thumb, 390 bytes, Stack size 32 bytes, stm32f10x_gpio.o(.text.GPIO_Init))
|
||||
<P><STRONG><a name="[52]"></a>FLASH_ClearFlag</STRONG> (Thumb, 20 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text.FLASH_ClearFlag))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = FLASH_ClearFlag
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4a]"></a>FLASH_ErasePage</STRONG> (Thumb, 106 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_ErasePage))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = FLASH_ErasePage ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4b]">>></a> FLASH_WaitForLastOperation
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4d]"></a>FLASH_GetBank1Status</STRONG> (Thumb, 104 bytes, Stack size 4 bytes, stm32f10x_flash.o(.text.FLASH_GetBank1Status))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 4<LI>Call Chain = FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[4b]">>></a> FLASH_WaitForLastOperation
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[53]"></a>FLASH_Lock</STRONG> (Thumb, 18 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text.FLASH_Lock))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4c]"></a>FLASH_ProgramWord</STRONG> (Thumb, 160 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_ProgramWord))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 52<LI>Call Chain = FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4b]">>></a> FLASH_WaitForLastOperation
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[51]"></a>FLASH_Unlock</STRONG> (Thumb, 30 bytes, Stack size 0 bytes, stm32f10x_flash.o(.text.FLASH_Unlock))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4b]"></a>FLASH_WaitForLastOperation</STRONG> (Thumb, 94 bytes, Stack size 24 bytes, stm32f10x_flash.o(.text.FLASH_WaitForLastOperation))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 28<LI>Call Chain = FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4d]">>></a> FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[4c]">>></a> FLASH_ProgramWord
|
||||
<LI><a href="#[4a]">>></a> FLASH_ErasePage
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4e]"></a>Flash_ReadStruct</STRONG> (Thumb, 28 bytes, Stack size 24 bytes, flash.o(.text.Flash_ReadStruct))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = Flash_ReadStruct
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4f]">>></a> __aeabi_memcpy
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[68]">>></a> flash_Test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[50]"></a>Flash_WriteStruct</STRONG> (Thumb, 100 bytes, Stack size 24 bytes, flash.o(.text.Flash_WriteStruct))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 76<LI>Call Chain = Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4c]">>></a> FLASH_ProgramWord
|
||||
<LI><a href="#[53]">>></a> FLASH_Lock
|
||||
<LI><a href="#[4a]">>></a> FLASH_ErasePage
|
||||
<LI><a href="#[52]">>></a> FLASH_ClearFlag
|
||||
<LI><a href="#[51]">>></a> FLASH_Unlock
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[68]">>></a> flash_Test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[56]"></a>GPIO_Init</STRONG> (Thumb, 390 bytes, Stack size 32 bytes, stm32f10x_gpio.o(.text.GPIO_Init))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = GPIO_Init
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[48]">>></a> IIC_GPIO_Init
|
||||
<BR>[Called By]<UL><LI><a href="#[54]">>></a> IIC_GPIO_Init
|
||||
<LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[52]"></a>GPIO_ReadInputDataBit</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit))
|
||||
<P><STRONG><a name="[5e]"></a>GPIO_ReadInputDataBit</STRONG> (Thumb, 52 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ReadInputDataBit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = GPIO_ReadInputDataBit
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<BR>[Called By]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4d]"></a>GPIO_ResetBits</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ResetBits))
|
||||
<P><STRONG><a name="[59]"></a>GPIO_ResetBits</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_ResetBits))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = GPIO_ResetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[4c]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4f]">>></a> IIC_Start
|
||||
<BR>[Called By]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[58]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5b]">>></a> IIC_Start
|
||||
<LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4b]"></a>GPIO_SetBits</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_SetBits))
|
||||
<P><STRONG><a name="[57]"></a>GPIO_SetBits</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, stm32f10x_gpio.o(.text.GPIO_SetBits))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[4c]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4f]">>></a> IIC_Start
|
||||
<LI><a href="#[48]">>></a> IIC_GPIO_Init
|
||||
<BR>[Called By]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[58]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5b]">>></a> IIC_Start
|
||||
<LI><a href="#[54]">>></a> IIC_GPIO_Init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4e]"></a>IIC_Delay</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, iic.o(.text.IIC_Delay))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[4c]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4f]">>></a> IIC_Start
|
||||
<P><STRONG><a name="[5a]"></a>IIC_Delay</STRONG> (Thumb, 2 bytes, Stack size 0 bytes, iic.o(.text.IIC_Delay))
|
||||
<BR><BR>[Called By]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[58]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5b]">>></a> IIC_Start
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[48]"></a>IIC_GPIO_Init</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, iic.o(.text.IIC_GPIO_Init))
|
||||
<P><STRONG><a name="[54]"></a>IIC_GPIO_Init</STRONG> (Thumb, 72 bytes, Stack size 16 bytes, iic.o(.text.IIC_GPIO_Init))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 48<LI>Call Chain = IIC_GPIO_Init ⇒ GPIO_Init
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4b]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[4a]">>></a> GPIO_Init
|
||||
<LI><a href="#[49]">>></a> RCC_APB2PeriphClockCmd
|
||||
<BR>[Calls]<UL><LI><a href="#[57]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[56]">>></a> GPIO_Init
|
||||
<LI><a href="#[55]">>></a> RCC_APB2PeriphClockCmd
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5e]">>></a> test
|
||||
<BR>[Called By]<UL><LI><a href="#[6b]">>></a> test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4c]"></a>IIC_Send_Byte</STRONG> (Thumb, 134 bytes, Stack size 24 bytes, iic.o(.text.IIC_Send_Byte))
|
||||
<P><STRONG><a name="[58]"></a>IIC_Send_Byte</STRONG> (Thumb, 134 bytes, Stack size 24 bytes, iic.o(.text.IIC_Send_Byte))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IIC_Send_Byte ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4e]">>></a> IIC_Delay
|
||||
<LI><a href="#[4b]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[4d]">>></a> GPIO_ResetBits
|
||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> IIC_Delay
|
||||
<LI><a href="#[57]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[59]">>></a> GPIO_ResetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[4f]"></a>IIC_Start</STRONG> (Thumb, 68 bytes, Stack size 24 bytes, iic.o(.text.IIC_Start))
|
||||
<P><STRONG><a name="[5b]"></a>IIC_Start</STRONG> (Thumb, 68 bytes, Stack size 24 bytes, iic.o(.text.IIC_Start))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = IIC_Start ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4e]">>></a> IIC_Delay
|
||||
<LI><a href="#[4b]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[4d]">>></a> GPIO_ResetBits
|
||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> IIC_Delay
|
||||
<LI><a href="#[57]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[59]">>></a> GPIO_ResetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[50]"></a>IIC_Stop</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, iic.o(.text.IIC_Stop))
|
||||
<P><STRONG><a name="[5c]"></a>IIC_Stop</STRONG> (Thumb, 54 bytes, Stack size 16 bytes, iic.o(.text.IIC_Stop))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4e]">>></a> IIC_Delay
|
||||
<LI><a href="#[4b]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[4d]">>></a> GPIO_ResetBits
|
||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> IIC_Delay
|
||||
<LI><a href="#[57]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[59]">>></a> GPIO_ResetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
<LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[51]"></a>IIC_Wait_Ack</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, iic.o(.text.IIC_Wait_Ack))
|
||||
<P><STRONG><a name="[5d]"></a>IIC_Wait_Ack</STRONG> (Thumb, 134 bytes, Stack size 16 bytes, iic.o(.text.IIC_Wait_Ack))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 40<LI>Call Chain = IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[52]">>></a> GPIO_ReadInputDataBit
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4e]">>></a> IIC_Delay
|
||||
<LI><a href="#[4b]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[4d]">>></a> GPIO_ResetBits
|
||||
<BR>[Calls]<UL><LI><a href="#[5e]">>></a> GPIO_ReadInputDataBit
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5a]">>></a> IIC_Delay
|
||||
<LI><a href="#[57]">>></a> GPIO_SetBits
|
||||
<LI><a href="#[59]">>></a> GPIO_ResetBits
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<BR>[Called By]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[53]"></a>OLED_Fill</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, iic.o(.text.OLED_Fill))
|
||||
<P><STRONG><a name="[5f]"></a>OLED_Fill</STRONG> (Thumb, 110 bytes, Stack size 16 bytes, iic.o(.text.OLED_Fill))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<BR>[Calls]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[56]">>></a> OLED_Init
|
||||
<BR>[Called By]<UL><LI><a href="#[62]">>></a> OLED_Init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[56]"></a>OLED_Init</STRONG> (Thumb, 196 bytes, Stack size 24 bytes, iic.o(.text.OLED_Init))
|
||||
<P><STRONG><a name="[62]"></a>OLED_Init</STRONG> (Thumb, 196 bytes, Stack size 24 bytes, iic.o(.text.OLED_Init))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 96<LI>Call Chain = OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[53]">>></a> OLED_Fill
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<LI><a href="#[57]">>></a> delay_ms_simple
|
||||
<BR>[Calls]<UL><LI><a href="#[5f]">>></a> OLED_Fill
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
<LI><a href="#[63]">>></a> delay_ms_simple
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5e]">>></a> test
|
||||
<BR>[Called By]<UL><LI><a href="#[6b]">>></a> test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[58]"></a>OLED_Refresh</STRONG> (Thumb, 124 bytes, Stack size 16 bytes, iic.o(.text.OLED_Refresh))
|
||||
<P><STRONG><a name="[64]"></a>OLED_Refresh</STRONG> (Thumb, 124 bytes, Stack size 16 bytes, iic.o(.text.OLED_Refresh))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 72<LI>Call Chain = OLED_Refresh ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[55]">>></a> OLED_WriteData
|
||||
<LI><a href="#[54]">>></a> OLED_WriteCommand
|
||||
<BR>[Calls]<UL><LI><a href="#[61]">>></a> OLED_WriteData
|
||||
<LI><a href="#[60]">>></a> OLED_WriteCommand
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5e]">>></a> test
|
||||
<BR>[Called By]<UL><LI><a href="#[6b]">>></a> test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5d]"></a>OLED_ShowChar</STRONG> (Thumb, 132 bytes, Stack size 8 bytes, iic.o(.text.OLED_ShowChar))
|
||||
<P><STRONG><a name="[6a]"></a>OLED_ShowChar</STRONG> (Thumb, 132 bytes, Stack size 8 bytes, iic.o(.text.OLED_ShowChar))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = OLED_ShowChar
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5c]">>></a> lcd_show_all_ascii_lowercase
|
||||
<BR>[Called By]<UL><LI><a href="#[69]">>></a> lcd_show_all_ascii_lowercase
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[54]"></a>OLED_WriteCommand</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteCommand))
|
||||
<P><STRONG><a name="[60]"></a>OLED_WriteCommand</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteCommand))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = OLED_WriteCommand ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[4c]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4f]">>></a> IIC_Start
|
||||
<BR>[Calls]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[58]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5b]">>></a> IIC_Start
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[58]">>></a> OLED_Refresh
|
||||
<LI><a href="#[56]">>></a> OLED_Init
|
||||
<LI><a href="#[53]">>></a> OLED_Fill
|
||||
<BR>[Called By]<UL><LI><a href="#[64]">>></a> OLED_Refresh
|
||||
<LI><a href="#[62]">>></a> OLED_Init
|
||||
<LI><a href="#[5f]">>></a> OLED_Fill
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[55]"></a>OLED_WriteData</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteData))
|
||||
<P><STRONG><a name="[61]"></a>OLED_WriteData</STRONG> (Thumb, 52 bytes, Stack size 16 bytes, iic.o(.text.OLED_WriteData))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 56<LI>Call Chain = OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[51]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[4c]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[50]">>></a> IIC_Stop
|
||||
<LI><a href="#[4f]">>></a> IIC_Start
|
||||
<BR>[Calls]<UL><LI><a href="#[5d]">>></a> IIC_Wait_Ack
|
||||
<LI><a href="#[58]">>></a> IIC_Send_Byte
|
||||
<LI><a href="#[5c]">>></a> IIC_Stop
|
||||
<LI><a href="#[5b]">>></a> IIC_Start
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[58]">>></a> OLED_Refresh
|
||||
<LI><a href="#[53]">>></a> OLED_Fill
|
||||
<BR>[Called By]<UL><LI><a href="#[64]">>></a> OLED_Refresh
|
||||
<LI><a href="#[5f]">>></a> OLED_Fill
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[49]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd))
|
||||
<P><STRONG><a name="[55]"></a>RCC_APB2PeriphClockCmd</STRONG> (Thumb, 56 bytes, Stack size 8 bytes, stm32f10x_rcc.o(.text.RCC_APB2PeriphClockCmd))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = RCC_APB2PeriphClockCmd
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[48]">>></a> IIC_GPIO_Init
|
||||
<BR>[Called By]<UL><LI><a href="#[54]">>></a> IIC_GPIO_Init
|
||||
<LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[35]"></a>SystemInit</STRONG> (Thumb, 102 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SystemInit))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = SystemInit ⇒ SetSysClock ⇒ SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[59]">>></a> SetSysClock
|
||||
<BR>[Calls]<UL><LI><a href="#[65]">>></a> SetSysClock
|
||||
</UL>
|
||||
<BR>[Address Reference Count : 1]<UL><LI> startup_stm32f10x_md.o(.text)
|
||||
</UL>
|
||||
<P><STRONG><a name="[57]"></a>delay_ms_simple</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, iic.o(.text.delay_ms_simple))
|
||||
<P><STRONG><a name="[63]"></a>delay_ms_simple</STRONG> (Thumb, 32 bytes, Stack size 16 bytes, iic.o(.text.delay_ms_simple))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = delay_ms_simple ⇒ delay_us_simple
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5b]">>></a> delay_us_simple
|
||||
<BR>[Calls]<UL><LI><a href="#[67]">>></a> delay_us_simple
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[56]">>></a> OLED_Init
|
||||
<BR>[Called By]<UL><LI><a href="#[62]">>></a> OLED_Init
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5b]"></a>delay_us_simple</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, iic.o(.text.delay_us_simple))
|
||||
<P><STRONG><a name="[67]"></a>delay_us_simple</STRONG> (Thumb, 46 bytes, Stack size 8 bytes, iic.o(.text.delay_us_simple))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 8<LI>Call Chain = delay_us_simple
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[57]">>></a> delay_ms_simple
|
||||
<BR>[Called By]<UL><LI><a href="#[63]">>></a> delay_ms_simple
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5c]"></a>lcd_show_all_ascii_lowercase</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, iic.o(.text.lcd_show_all_ascii_lowercase))
|
||||
<P><STRONG><a name="[68]"></a>flash_Test</STRONG> (Thumb, 78 bytes, Stack size 56 bytes, flash.o(.text.flash_Test))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 132<LI>Call Chain = flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[4e]">>></a> Flash_ReadStruct
|
||||
<LI><a href="#[50]">>></a> Flash_WriteStruct
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[69]"></a>lcd_show_all_ascii_lowercase</STRONG> (Thumb, 140 bytes, Stack size 24 bytes, iic.o(.text.lcd_show_all_ascii_lowercase))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 32<LI>Call Chain = lcd_show_all_ascii_lowercase ⇒ OLED_ShowChar
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5d]">>></a> OLED_ShowChar
|
||||
<BR>[Calls]<UL><LI><a href="#[6a]">>></a> OLED_ShowChar
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[5e]">>></a> test
|
||||
<BR>[Called By]<UL><LI><a href="#[6b]">>></a> test
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[3f]"></a>main</STRONG> (Thumb, 72 bytes, Stack size 32 bytes, main.o(.text.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 136<LI>Call Chain = main ⇒ test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
<P><STRONG><a name="[3f]"></a>main</STRONG> (Thumb, 76 bytes, Stack size 32 bytes, main.o(.text.main))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 164<LI>Call Chain = main ⇒ flash_Test ⇒ Flash_WriteStruct ⇒ FLASH_ProgramWord ⇒ FLASH_WaitForLastOperation ⇒ FLASH_GetBank1Status
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5e]">>></a> test
|
||||
<LI><a href="#[4d]">>></a> GPIO_ResetBits
|
||||
<LI><a href="#[4a]">>></a> GPIO_Init
|
||||
<LI><a href="#[49]">>></a> RCC_APB2PeriphClockCmd
|
||||
<BR>[Calls]<UL><LI><a href="#[68]">>></a> flash_Test
|
||||
<LI><a href="#[6b]">>></a> test
|
||||
<LI><a href="#[59]">>></a> GPIO_ResetBits
|
||||
<LI><a href="#[56]">>></a> GPIO_Init
|
||||
<LI><a href="#[55]">>></a> RCC_APB2PeriphClockCmd
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3e]">>></a> __rt_entry_main
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5e]"></a>test</STRONG> (Thumb, 22 bytes, Stack size 8 bytes, iic.o(.text.test))
|
||||
<P><STRONG><a name="[6b]"></a>test</STRONG> (Thumb, 20 bytes, Stack size 8 bytes, iic.o(.text.test))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 104<LI>Call Chain = test ⇒ OLED_Init ⇒ OLED_Fill ⇒ OLED_WriteData ⇒ IIC_Wait_Ack ⇒ IIC_Stop ⇒ GPIO_SetBits
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5c]">>></a> lcd_show_all_ascii_lowercase
|
||||
<LI><a href="#[58]">>></a> OLED_Refresh
|
||||
<LI><a href="#[56]">>></a> OLED_Init
|
||||
<LI><a href="#[48]">>></a> IIC_GPIO_Init
|
||||
<BR>[Calls]<UL><LI><a href="#[69]">>></a> lcd_show_all_ascii_lowercase
|
||||
<LI><a href="#[64]">>></a> OLED_Refresh
|
||||
<LI><a href="#[62]">>></a> OLED_Init
|
||||
<LI><a href="#[54]">>></a> IIC_GPIO_Init
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[3f]">>></a> main
|
||||
</UL>
|
||||
@@ -688,18 +783,18 @@ Global Symbols
|
||||
<H3>
|
||||
Local Symbols
|
||||
</H3>
|
||||
<P><STRONG><a name="[59]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SetSysClock))
|
||||
<P><STRONG><a name="[65]"></a>SetSysClock</STRONG> (Thumb, 8 bytes, Stack size 8 bytes, system_stm32f10x.o(.text.SetSysClock))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 24<LI>Call Chain = SetSysClock ⇒ SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Calls]<UL><LI><a href="#[5a]">>></a> SetSysClockTo72
|
||||
<BR>[Calls]<UL><LI><a href="#[66]">>></a> SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[35]">>></a> SystemInit
|
||||
</UL>
|
||||
|
||||
<P><STRONG><a name="[5a]"></a>SetSysClockTo72</STRONG> (Thumb, 290 bytes, Stack size 16 bytes, system_stm32f10x.o(.text.SetSysClockTo72))
|
||||
<P><STRONG><a name="[66]"></a>SetSysClockTo72</STRONG> (Thumb, 290 bytes, Stack size 16 bytes, system_stm32f10x.o(.text.SetSysClockTo72))
|
||||
<BR><BR>[Stack]<UL><LI>Max Depth = 16<LI>Call Chain = SetSysClockTo72
|
||||
</UL>
|
||||
<BR>[Called By]<UL><LI><a href="#[59]">>></a> SetSysClock
|
||||
<BR>[Called By]<UL><LI><a href="#[65]">>></a> SetSysClock
|
||||
</UL>
|
||||
<P>
|
||||
<H3>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
--cpu Cortex-M3
|
||||
".\objects\main.o"
|
||||
".\objects\iic.o"
|
||||
".\objects\flash.o"
|
||||
".\objects\misc.o"
|
||||
".\objects\stm32f10x_flash.o"
|
||||
".\objects\stm32f10x_gpio.o"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Dependencies for Project 'example', Target 'Target_1': (DO NOT MODIFY !)
|
||||
CompilerVersion: 6230000::V6.23::ARMCLANG
|
||||
F (.\APP\main.c)(0x6880A23D)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c
|
||||
F (.\APP\main.c)(0x6882D7B4)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c
|
||||
|
||||
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
|
||||
|
||||
@@ -15,7 +15,8 @@ I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPer
|
||||
-IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include
|
||||
|
||||
-IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/StdPeriph_Driver/inc
|
||||
|
||||
|
||||
-IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/RTE_Driver
|
||||
|
||||
-D__UVISION_VERSION="542" -DSTM32F10X_MD -D_RTE_
|
||||
|
||||
@@ -30,6 +31,21 @@ I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPer
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_i2c.h)(0x61AD795E)
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_rcc.h)(0x61AD795E)
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_spi.h)(0x61AD795E)
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h)(0x61AD795E)
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h)(0x61AD795E)
|
||||
I (C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h)(0x61AD795E)
|
||||
I (DEV\iic.h)(0x6880A153)
|
||||
I (DEV\flash.h)(0x6882D7B5)
|
||||
F (.\DEV\iic.c)(0x6882D813)(-xc -std=c99 --target=arm-arm-none-eabi -mcpu=cortex-m3 -c
|
||||
|
||||
-fno-rtti -funsigned-char -fshort-enums -fshort-wchar
|
||||
|
||||
-gdwarf-4 -O0 -ffunction-sections -Wall -Wextra -Wno-packed -Wno-reserved-id-macro -Wno-unused-macros -Wno-documentation-unknown-command -Wno-documentation -Wno-license-management -Wno-parentheses-equality -Wno-reserved-identifier -I ./DEV
|
||||
|
||||
-I./RTE/Device/STM32F103C8
|
||||
|
||||
-I./RTE/_Target_1
|
||||
|
||||
-IC:/Users/gxyos/AppData/Local/Arm/Packs/ARM/CMSIS/6.1.0/CMSIS/Core/Include
|
||||
|
||||
-IC:/Users/gxyos/AppData/Local/Arm/Packs/Keil/STM32F1xx_DFP/2.4.1/Device/Include
|
||||
|
||||
14
Objects/flash.d
Normal file
14
Objects/flash.d
Normal file
@@ -0,0 +1,14 @@
|
||||
./objects/flash.o: DEV\flash.c DEV\flash.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\stm32f10x.h \
|
||||
RTE\_Target_1\RTE_Components.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\ARM\CMSIS\6.1.0\CMSIS\Core\Include\core_cm3.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\Include\system_stm32f10x.h \
|
||||
RTE\Device\STM32F103C8\stm32f10x_conf.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_flash.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_gpio.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_i2c.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_rcc.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_spi.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h
|
||||
BIN
Objects/flash.o
Normal file
BIN
Objects/flash.o
Normal file
Binary file not shown.
BIN
Objects/iic.o
BIN
Objects/iic.o
Binary file not shown.
@@ -12,4 +12,4 @@
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_tim.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\stm32f10x_usart.h \
|
||||
C:\Users\gxyos\AppData\Local\Arm\Packs\Keil\STM32F1xx_DFP\2.4.1\Device\StdPeriph_Driver\inc\misc.h \
|
||||
DEV\iic.h
|
||||
DEV\iic.h DEV\flash.h
|
||||
|
||||
BIN
Objects/main.o
BIN
Objects/main.o
Binary file not shown.
File diff suppressed because one or more lines are too long
@@ -140,7 +140,7 @@
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
<Key>ST-LINKIII-KEIL_SWO</Key>
|
||||
<Name>-UR -O16590 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP (ARM Core") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0-R0</Name>
|
||||
<Name>-UR -O16590 -SF10000 -C0 -A0 -I0 -HNlocalhost -HP7184 -P1 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO131090 -TC10000000 -TT10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO15 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM) -WA0 -WE0 -WVCE4 -WS2710 -WM0 -WP2 -WK0-R0</Name>
|
||||
</SetRegEntry>
|
||||
<SetRegEntry>
|
||||
<Number>0</Number>
|
||||
@@ -148,7 +148,24 @@
|
||||
<Name>UL2CM3(-S0 -C0 -P0 -FD20000000 -FC1000 -FN1 -FF0STM32F10x_128 -FS08000000 -FL020000 -FP0($$Device:STM32F103C8$Flash\STM32F10x_128.FLM))</Name>
|
||||
</SetRegEntry>
|
||||
</TargetDriverDllRegistry>
|
||||
<Breakpoint/>
|
||||
<Breakpoint>
|
||||
<Bp>
|
||||
<Number>0</Number>
|
||||
<Type>0</Type>
|
||||
<LineNumber>28</LineNumber>
|
||||
<EnabledFlag>1</EnabledFlag>
|
||||
<Address>134221684</Address>
|
||||
<ByteObject>0</ByteObject>
|
||||
<HtxType>0</HtxType>
|
||||
<ManyObjects>0</ManyObjects>
|
||||
<SizeOfObject>0</SizeOfObject>
|
||||
<BreakByAccess>0</BreakByAccess>
|
||||
<BreakIfRCount>1</BreakIfRCount>
|
||||
<Filename>.\APP\main.c</Filename>
|
||||
<ExecCommand></ExecCommand>
|
||||
<Expression>\\example\APP/main.c\28</Expression>
|
||||
</Bp>
|
||||
</Breakpoint>
|
||||
<Tracepoint>
|
||||
<THDelay>0</THDelay>
|
||||
</Tracepoint>
|
||||
@@ -245,7 +262,7 @@
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>2</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>1</tvExp>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\DEV\iic.c</PathWithFileName>
|
||||
@@ -253,6 +270,18 @@
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
<File>
|
||||
<GroupNumber>2</GroupNumber>
|
||||
<FileNumber>3</FileNumber>
|
||||
<FileType>1</FileType>
|
||||
<tvExp>0</tvExp>
|
||||
<tvExpOptDlg>0</tvExpOptDlg>
|
||||
<bDave2>0</bDave2>
|
||||
<PathWithFileName>.\DEV\flash.c</PathWithFileName>
|
||||
<FilenameWithoutPath>flash.c</FilenameWithoutPath>
|
||||
<RteFlg>0</RteFlg>
|
||||
<bShared>0</bShared>
|
||||
</File>
|
||||
</Group>
|
||||
|
||||
<Group>
|
||||
|
||||
@@ -399,6 +399,11 @@
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\DEV\iic.c</FilePath>
|
||||
</File>
|
||||
<File>
|
||||
<FileName>flash.c</FileName>
|
||||
<FileType>1</FileType>
|
||||
<FilePath>.\DEV\flash.c</FilePath>
|
||||
</File>
|
||||
</Files>
|
||||
</Group>
|
||||
<Group>
|
||||
|
||||
Reference in New Issue
Block a user